From 40fc2ca79cabfefa087889eea87d107a0560ad38 Mon Sep 17 00:00:00 2001 From: AndyClifford <70119888+AndyClifford@users.noreply.github.com> Date: Wed, 1 Nov 2023 22:42:35 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20=20@=20cff2e?= =?UTF-8?q?b100637144b75fba70f26c03c8aaac15321=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- accounts.html | 11 - api.html | 11 - api/account-memberships.html | 63 - api/accounts.html | 63 - api/api-keys.html | 41 - api/asset-categories.html | 11 - api/asset-transfers.html | 111 -- api/asset-types.html | 1 - api/assets.html | 137 -- api/auth.html | 5 - api/bank-account-approvals.html | 87 - api/bank-account-connection-intents.html | 25 - api/bank-accounts.html | 233 --- api/batch-types/farmlands-external-asset.html | 100 -- api/batch-types/farmlands.html | 11 - api/batch-types/verifone-terminal-status.html | 19 - api/batches.html | 38 - api/businesses.html | 117 -- api/data-types.html | 1 - api/discrete-assets.html | 11 - api/external-assets.html | 27 - api/funds-transfers.html | 133 -- api/http-status-codes.html | 24 - api/integration-requests.html | 123 -- api/integrations.html | 1 - api/introduction.html | 1 - api/invitations.html | 120 -- api/legacy-payment-requests.html | 147 -- api/managed-integrations.html | 47 - api/media-uploads.html | 14 - api/merchant-configs.html | 120 -- api/merchants.html | 199 --- api/pagination.html | 26 - api/patron-codes.html | 29 - api/payment-activities.html | 11 - api/payment-requests.html | 986 ----------- api/profiles.html | 27 - api/quotas.html | 47 - api/scanned-codes.html | 14 - api/section/accounts.html | 11 - api/section/assets.html | 11 - api/section/bank-accounts.html | 11 - api/section/batches.html | 11 - api/section/integrations.html | 11 - api/section/merchants.html | 11 - api/section/payment-requests.html | 11 - api/section/scanned-codes.html | 11 - api/section/settlements.html | 11 - api/settlements.html | 27 - api/tokens.html | 149 -- api/transacting.html | 11 - api/wallets.html | 125 -- assets/asset-categories.html | 11 - assets/asset-transfers.html | 11 - assets/css/just-the-docs-dark.css | 1540 ---------------- assets/css/just-the-docs-dark.css.map | 68 - assets/css/just-the-docs-default.css | 1570 ----------------- assets/css/just-the-docs-default.css.map | 68 - assets/css/just-the-docs-light.css | 1540 ---------------- assets/css/just-the-docs-light.css.map | 68 - assets/discrete-assets.html | 11 - assets/images/just-the-docs.png | Bin 20992 -> 0 bytes assets/images/search.svg | 1 - assets/js/just-the-docs.js | 454 ----- assets/js/search-data.json | 1028 ----------- assets/js/vendor/lunr.min.js | 6 - assets/wallets.html | 11 - auth.html | 11 - fiat.html | 11 - fiat/authorities.html | 11 - fiat/bank-accounts.html | 11 - fiat/bank-authorities.html | 11 - fiat/funds-transfers.html | 11 - images/asset-lifecycle.png | Bin 111892 -> 0 bytes images/batch-lifecycle.png | Bin 17113 -> 0 bytes images/static-patron-code-flow.svg | 1 - images/terminal-centrapay-button.png | Bin 69659 -> 0 bytes images/terminal-centrapay-icon.png | Bin 70035 -> 0 bytes images/terminal-centrapay-qrcode.png | Bin 71478 -> 0 bytes merchants.html | 11 - profile.html | 11 - quotas.html | 11 - redirects.json | 1 - settlements.html | 11 - transacting.html | 11 - 85 files changed, 10113 deletions(-) delete mode 100644 accounts.html delete mode 100644 api.html delete mode 100644 api/account-memberships.html delete mode 100644 api/accounts.html delete mode 100644 api/api-keys.html delete mode 100644 api/asset-categories.html delete mode 100644 api/asset-transfers.html delete mode 100644 api/asset-types.html delete mode 100644 api/assets.html delete mode 100644 api/auth.html delete mode 100644 api/bank-account-approvals.html delete mode 100644 api/bank-account-connection-intents.html delete mode 100644 api/bank-accounts.html delete mode 100644 api/batch-types/farmlands-external-asset.html delete mode 100644 api/batch-types/farmlands.html delete mode 100644 api/batch-types/verifone-terminal-status.html delete mode 100644 api/batches.html delete mode 100644 api/businesses.html delete mode 100644 api/data-types.html delete mode 100644 api/discrete-assets.html delete mode 100644 api/external-assets.html delete mode 100644 api/funds-transfers.html delete mode 100644 api/http-status-codes.html delete mode 100644 api/integration-requests.html delete mode 100644 api/integrations.html delete mode 100644 api/introduction.html delete mode 100644 api/invitations.html delete mode 100644 api/legacy-payment-requests.html delete mode 100644 api/managed-integrations.html delete mode 100644 api/media-uploads.html delete mode 100644 api/merchant-configs.html delete mode 100644 api/merchants.html delete mode 100644 api/pagination.html delete mode 100644 api/patron-codes.html delete mode 100644 api/payment-activities.html delete mode 100644 api/payment-requests.html delete mode 100644 api/profiles.html delete mode 100644 api/quotas.html delete mode 100644 api/scanned-codes.html delete mode 100644 api/section/accounts.html delete mode 100644 api/section/assets.html delete mode 100644 api/section/bank-accounts.html delete mode 100644 api/section/batches.html delete mode 100644 api/section/integrations.html delete mode 100644 api/section/merchants.html delete mode 100644 api/section/payment-requests.html delete mode 100644 api/section/scanned-codes.html delete mode 100644 api/section/settlements.html delete mode 100644 api/settlements.html delete mode 100644 api/tokens.html delete mode 100644 api/transacting.html delete mode 100644 api/wallets.html delete mode 100644 assets/asset-categories.html delete mode 100644 assets/asset-transfers.html delete mode 100644 assets/css/just-the-docs-dark.css delete mode 100644 assets/css/just-the-docs-dark.css.map delete mode 100644 assets/css/just-the-docs-default.css delete mode 100644 assets/css/just-the-docs-default.css.map delete mode 100644 assets/css/just-the-docs-light.css delete mode 100644 assets/css/just-the-docs-light.css.map delete mode 100644 assets/discrete-assets.html delete mode 100644 assets/images/just-the-docs.png delete mode 100644 assets/images/search.svg delete mode 100644 assets/js/just-the-docs.js delete mode 100644 assets/js/search-data.json delete mode 100644 assets/js/vendor/lunr.min.js delete mode 100644 assets/wallets.html delete mode 100644 auth.html delete mode 100644 fiat.html delete mode 100644 fiat/authorities.html delete mode 100644 fiat/bank-accounts.html delete mode 100644 fiat/bank-authorities.html delete mode 100644 fiat/funds-transfers.html delete mode 100644 images/asset-lifecycle.png delete mode 100644 images/batch-lifecycle.png delete mode 100644 images/static-patron-code-flow.svg delete mode 100644 images/terminal-centrapay-button.png delete mode 100644 images/terminal-centrapay-icon.png delete mode 100644 images/terminal-centrapay-qrcode.png delete mode 100644 merchants.html delete mode 100644 profile.html delete mode 100644 quotas.html delete mode 100644 redirects.json delete mode 100644 settlements.html delete mode 100644 transacting.html diff --git a/accounts.html b/accounts.html deleted file mode 100644 index bd6e66490..000000000 --- a/accounts.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - Redirecting… - - - - -

Redirecting…

- Click here if you are not redirected. - diff --git a/api.html b/api.html deleted file mode 100644 index caa7c71e3..000000000 --- a/api.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - Redirecting… - - - - -

Redirecting…

- Click here if you are not redirected. - diff --git a/api/account-memberships.html b/api/account-memberships.html deleted file mode 100644 index 3fe618763..000000000 --- a/api/account-memberships.html +++ /dev/null @@ -1,63 +0,0 @@ - Account Memberships - Centrapay Docs Account Memberships | Centrapay Docs Link Search Menu Expand Document

Account Memberships

An Account Membership represents a user having access to a Centrapay Account. An Account Membership has a role which grants the user access to some or all of the operations and resources within the account.

Contents

Models

Account Member

A Member contains extended information about an user’s access to an account.

Required Fields

Field Type Description
accountId String The id of the Account the Membership is scoped to.
accountType String The type of the Account the Membership is scoped to.
accountName String The name of the Account the Membership is scoped to.
userId String The id of the user the Membership belongs to.
role String The role governing Membership permissions.

Optional Fields

Field Type Description
subject CRN User or API key resource name for the membership.
createdAt Timestamp When the Membership was created.
createdBy CRN Resource that created the member.
modifiedAt Timestamp When the Membership was last modified.
modifiedBy CRN Resource that last modified the account member.
testAccount Boolean A flag which is present if the Account is test
firstName String First name of the user the membership belongs to.
lastName String Last name of the user the membership belongs to.
email String Email of the user the membership belongs to.

Operations

Add Member EXPERIMENTAL

POST /api/accounts/{accountId}/members

curl -X POST https://service.centrapay.com/api/accounts/Jaim1Cu1Q55uooxSens6yk/members \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "userId": "da75ad90-9a5b-4df0-8374-f48b3a8fbfcc",
-    "role": "account-owner"
-  }'

Example response payload

{
-  "accountId": "Jaim1Cu1Q55uooxSens6yk",
-  "accountType": "org",
-  "userId": "da75ad90-9a5b-4df0-8374-f48b3a8fbfcc",
-  "role": "account-owner",
-  "createdBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "createdAt": "2020-06-12T01:17:46.499Z",
-  "modifiedAt": "2020-06-12T01:17:46.499Z",
-  "modifiedBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey"
-}

List Members

GET /api/accounts/{accountId}/members

curl https://service.centrapay.com/api/accounts/Jaim1Cu1Q55uooxSens6yk/members \
-  -H "X-Api-Key: $api_key"

Example response payload

[
-  {
-    "accountName": "Centrapay Cafe",
-    "accountType": "org",
-    "accountId": "Jaim1Cu1Q55uooxSens6yk",
-    "userId": "b657195e-dc2f-11ea-8566-e7710d592c99",
-    "createdAt": "2020-06-01T21:57:25.888Z",
-    "role": "account-owner",
-    "firstName": "John",
-    "lastName": "Doe",
-    "email": "john.doe@centrapay.com"
-  },
-  {
-    "accountName": "Centrapay Tea Warehouse",
-    "accountType": "org",
-    "accountId": "0f9nvqdcn5eaaDLefkg1Xt",
-    "userId": "9f4b3bae-dc30-11ea-ab70-2743d9be3dd5",
-    "createdAt": "2020-06-02T10:l4:33.021Z",
-    "role": "account-owner",
-    "firstName": "Jane",
-    "lastName": "Doe",
-    "email": "jane.doe@centrapay.com"
-  }
-]

Revoke Member

DELETE /api/accounts/{accountId}/members/{userId}

curl -X DELETE https://service.centrapay.com/api/accounts/Jaim1Cu1Q55uooxSens6yk/members/45dwes-rf4h55-tyf45s-6st4gd \
-  -H "X-Api-Key: $api_key"

Error Responses

Status Code Description
403 LAST_OWNER_NOT_REVOKABLE The last remaining membership to an account cannot be revoked.

List Account Memberships for authenticated subject

GET /api/account-memberships

curl https://service.centrapay.com/api/account-memberships \
-  -H "X-Api-Key: $api_key"

Example response payload

[
-  {
-    "accountName": "Centrapay Tea Warehouse",
-    "accountId": "5uooxSens6ykJaim1Cu1Q5",
-    "accountType": "org",
-    "role": "account-owner"
-  }
-]

List Account Memberships for specific user

GET /api/users/{userId}/account-memberships

curl https://service.centrapay.com/api/users/1234/account-memberships \
-  -H "X-Api-Key: $api_key"

Example response payload

[
-  {
-    "accountName": "Centrapay Cafe",
-    "accountId": "Jaim1Cu1Q55uooxSens6yk",
-    "accountType": "org",
-    "role": "account-owner"
-  },
-  {
-    "accountName": "Centrapay Tea Warehouse",
-    "accountId": "5uooxSens6ykJaim1Cu1Q5",
-    "accountType": "org",
-    "role": "account-owner"
-  }
-]


diff --git a/api/accounts.html b/api/accounts.html deleted file mode 100644 index d20fbdf0c..000000000 --- a/api/accounts.html +++ /dev/null @@ -1,63 +0,0 @@ - Accounts - Centrapay Docs Accounts | Centrapay Docs Link Search Menu Expand Document

Accounts

An Account represents a permission boundary around Centrapay resources. Accounts can have API Keys and Account Memberships which grant access to the resources.

Accounts are classified as either “individual” or “org”. Individual accounts can only have a single member and Centrapay users can only be a member of a single individual account.

Contents

Models

Account

Field Type Description
id String The unique identifier.
type String Account type, must be either ‘org’ or ‘individual’.
name String The display name of the Account.
region String The region that the Account will operate in. Only defined for ‘org’ Accounts.
test Boolean A flag which is only present if the Account is for testing.
createdAt Timestamp When the Account was created.
modifiedAt Timestamp When the Account was updated.
createdBy CRN The User or API Key that created the Account.
modifiedBy CRN The User or API Key that updated the Account.
subscriptions Array A list of Subscriptions on the Account.

Subscription

Field Type Description
name String The name of the Subscription.

Operations

Create an Account

POST /api/accounts

curl -X POST https://service.centrapay.com/api/accounts \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "name": "Centrapay Cafe",
-    "type": "org"
-  }'

Required Fields

Field Type Description
name String The name of the Account.
type String Account type, must be either “org” or “individual”.

Optional Fields

Field Type Description
owner String Id of user to add as member with “account-owner” role.
test Boolean A flag indicating if the Account is for testing.
region String The region that the Account will operate in. Required for ‘org’ Accounts, not allowed for ‘individual’ Accounts. Can be “NZ”, “AU”, or “US”.

Example response payload

{
-  "id": "Jaim1Cu1Q55uooxSens6yk",
-  "name": "Centrapay Cafe",
-  "type": "org",
-  "region": "NZ",
-  "createdBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "createdAt": "2020-06-12T01:17:46.499Z",
-  "modifiedAt": "2020-06-12T01:17:46.499Z",
-  "modifiedBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "version": "1",
-  "subscriptions": [
-
-  ]
-}

Get an Account

GET /api/accounts/{accountId}

curl https://service.centrapay.com/api/accounts/Jaim1Cu1Q55uooxSens6yk \
-  -H "X-Api-Key: $api_key"

Example response payload

{
-  "id": "Jaim1Cu1Q55uooxSens6yk",
-  "name": "Centrapay Cafe",
-  "type": "org",
-  "region": "NZ",
-  "createdBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "createdAt": "2020-06-12T01:17:46.499Z",
-  "modifiedAt": "2020-06-12T01:17:46.499Z",
-  "modifiedBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "version": "1",
-  "subscriptions": [
-
-  ]
-}

Update an Account

PUT /api/accounts/{accountId}

curl -X PUT https://service.centrapay.com/api/accounts/Jaim1Cu1Q55uooxSens6yk \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "name": "Shortland St Cafe"
-  }'

Required Fields

Field Type Description
name String The name of the account

Example response payload

{
-  "id": "Jaim1Cu1Q55uooxSens6yk",
-  "name": "Shortland St Cafe",
-  "type": "org",
-  "region": "NZ",
-  "createdBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "createdAt": "2020-06-12T01:17:46.499Z",
-  "modifiedAt": "2020-06-12T02:35:12.112Z",
-  "modifiedBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "version": "2",
-  "subscriptions": [
-
-  ]
-}

Update Subscriptions

PUT /api/accounts/{accountId}/subscriptions

curl -X PUT https://service.centrapay.com/api/accounts/Jaim1Cu1Q55uooxSens6yk/subscriptions \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "subscriptions": [
-      "quartz"
-    ]
-  }'

Required Fields

Field Type Description
subscriptions Array The list of subscriptions to assign to the account.

Example response payload

{
-  "subscriptions": [
-    "quartz"
-  ]
-}

Error Responses

Status Code Description
403 INVALID_ACCOUNT_ID The account does not exist.
403 INVALID_SUBSCRIPTION One of the subscriptions in the list is not valid.

diff --git a/api/api-keys.html b/api/api-keys.html deleted file mode 100644 index a3f1a7a80..000000000 --- a/api/api-keys.html +++ /dev/null @@ -1,41 +0,0 @@ - API Keys - Centrapay Docs API Keys | Centrapay Docs Link Search Menu Expand Document

API Keys

API keys provide enduring access to a single Centrapay Account.

Contents

Models

API Key

Mandatory Fields

Field Type Description
accountId String The id of the Centrapay Account the API Key is scoped to.
name String The alphanumeric name of the API key, must be unique within the account.
role String Supported roles are: “account-owner” and “merchant-terminal”. See Auth Permissions for role details.
enabled Boolean Flag indicating the API Key is usable for authentication.
createdAt Timestamp When the API Key was created.

Roles and Permissions

Operations

Create an API Key

POST /api/accounts/{accountId}/api-keys

curl -X POST https://service.centrapay.com/api/accounts/Jaim1Cu1Q55uooxSens6yk/api-keys \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "name": "MyAPIkey",
-    "role": "merchant-terminal"
-  }'

Example response payload

{
-  "name": "MyAPIkey",
-  "createdAt": "2020-06-01T22:32:56.631Z",
-  "enabled": true,
-  "role": "merchant-terminal",
-  "accountId": "Jaim1Cu1Q55uooxSens6yk",
-  "secret": "EoaEL7skkedBBy9MzrBSyxG95vUAKjYkiFvWEfiAx"
-}

List API Keys

GET /api/accounts/{accountId}/api-keys

curl https://service.centrapay.com/api/accounts/Jaim1Cu1Q55uooxSens6yk/api-keys \
-  -H "X-Api-Key: $api_key"

Example response payload

[
-  {
-    "accountId": "Jaim1Cu1Q55uooxSens6yk",
-    "name": "MyOtherAPIkey",
-    "createdAt": "2020-06-01T21:57:25.888Z",
-    "enabled": false,
-    "role": "merchant-terminal"
-  },
-  {
-    "accountId": "Jaim1Cu1Q55uooxSens6yk",
-    "name": "MyAPIkey",
-    "createdAt": "2020-06-01T22:34:31.308Z",
-    "enabled": true,
-    "role": "merchant-terminal"
-  }
-]

Update an API Key

PUT /api/accounts/{accountId}/api-keys/{apiKeyName}

curl -X PUT https://service.centrapay.com/api/accounts/Jaim1Cu1Q55uooxSens6yk/api-keys/MyAPIkey \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "enabled": false
-  }'

Required Fields

Field Type Description
enabled Boolean Enable/Disable API key

Example response payload

{
-  "accountId": "Jaim1Cu1Q55uooxSens6yk",
-  "name": "MyAPIkey",
-  "createdAt": "2020-06-01T22:34:31.308Z",
-  "enabled": false,
-  "role": "merchant-terminal"
-}


diff --git a/api/asset-categories.html b/api/asset-categories.html deleted file mode 100644 index cb12a6874..000000000 --- a/api/asset-categories.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - Redirecting… - - - - -

Redirecting…

- Click here if you are not redirected. - diff --git a/api/asset-transfers.html b/api/asset-transfers.html deleted file mode 100644 index b7b696709..000000000 --- a/api/asset-transfers.html +++ /dev/null @@ -1,111 +0,0 @@ - Asset Transfers - Centrapay Docs Asset Transfers | Centrapay Docs Link Search Menu Expand Document

Asset Transfers

An asset transfer is an asynchronous exchange of an asset or an amount to a recipient.

A recipient is an existing Centrapay user or someone who can create an account to claim the asset transfer by verifying their phone number.

After an asset transfer is completed the recipientAlias, lastSentTo and message fields are scrubbed to avoid storing PII.

Contents

Asset Transfer lifecycle

Asset Transfer goes through different lifecycle stages.

State Description
created Asset transfer successfully created
sent Asset transfer notification (sms, email) was sent to a new user
expired Asset transfer expired as new user didn’t create his account and claimed the asset. This is very short lived state
returned Asset transfer expired and was returned to original owner
claimed Asset transfer was successfully completed

Create an Asset Transfer

Transfer an asset to a recipient. Some assets can be transfered only in whole (eg giftcards or tokens) while others can be transfered only in part (eg money).

Some assets can be transferred without supplying a recipient. A url field will be returned in these cases. The url will link to a page to claim the asset.

POST /api/asset-transfers

Whole asset transfer

curl -X POST https://service.centrapay.com/api/asset-transfers \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "assetId": "YGRo6TYYSxH3js7",
-    "recipientAlias": "+642212312"
-  }'

Partial asset transfer

curl -X POST https://service.centrapay.com/api/asset-transfers \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "assetId": "sai2Pai7ohgongo",
-    "value": "6000",
-    "recipientAlias": "+642212312"
-  }'

Without Recipient

curl -X POST https://service.centrapay.com/api/asset-transfers \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "assetId": "sai2Pai7ohgongo"
-  }'

Required Fields

Parameter Type Description
assetId String Id of a discrete asset to transfer or wallet to draw from.

Optional Parameters

Parameter Type Description
recipientAlias String Phone number, email or handle of receiver.
description String Shows up in transaction history against the transfer. 200 character limit.
message String A message which shows up in the SMS of the receiver. 100 character limit.
value BigNumber Amount to send. Required for money transfers. Units depend on the asset type.
senderName String Human readable name for the sender. 30 character limit.
suppressNotifications Boolean Suppress notifications from Centrapay (SMS/Email).

Example response payload (With Recipient)

{
-  "id": "M7Kn2stAxNa6ri7h",
-  "status": "created",
-  "value": "1000",
-  "assetId": "YGRo6TYYSxH3js7",
-  "assetType": "epay.nzd.main",
-  "description": "$60 Giftcard",
-  "message": "Happy birthday",
-  "senderName": "My Cafe",
-  "recipientAccountId": "9EDxUT91TMsUjoqoQeBuLQ",
-  "claimedByAccountId": "9EDxUT91TMsUjoqoQeBuLQ",
-  "recipientAlias": "+64212312345",
-  "createdAt": "2020-05-01T12:30:00.000Z",
-  "updatedAt": "2020-05-02T01:03:37.222Z",
-  "suppressNotifications": false
-}

The above example has $10 left on a $60 dollar giftcard at the time of transfer.

Example response payload (Without Recipient)

{
-  "id": "M7Kn2stAxNa6ri7h",
-  "status": "created",
-  "value": "1000",
-  "assetId": "YGRo6TYYSxH3js7",
-  "assetType": "centrapay.token.main",
-  "description": "Centrapay Token",
-  "message": "Happy birthday",
-  "senderName": "CentraCafe",
-  "createdAt": "2020-05-01T12:30:00.000Z",
-  "updatedAt": "2020-05-02T01:03:37.222Z",
-  "suppressNotifications": false,
-  "url": "https://app.centrapay.com/transfer/M7Kn2stAxNa6ri7h"
-}

Error Responses

Status Code Description
403 INSUFFICIENT_WALLET_BALANCE The value of the asset-transfer exceeds the balance on the wallet
403 QUOTA_EXCEEDED The transfer exceeds one or more spend quota limits. See Quota Error Response.
403 ASSET_NOT_ACTIVE The asset is not active and cannot be transferred.
403 RECIPIENT_MISSING The asset must be transferred with a recipient supplied.

Get an Asset Transfer

GET /api/asset-transfers/{assetTransferId}

curl https://service.centrapay.com/api/asset-transfers/M7Kn2stAxNa6ri7h \
-  -H "X-Api-Key: $api_key"

Example response payload (In-progress money transfer)

{
-  "id": "M7Kn2stAxNa6ri7h",
-  "status": "sent",
-  "value": "6000",
-  "assetId": "sai2Pai7ohgongo",
-  "assetType": "centrapay.nzd.main",
-  "message": "Happy birthday",
-  "senderName": "My Cafe",
-  "lastSentTo": "+64212312345",
-  "senderAccountId": "aBc932S9182qwCDqwer",
-  "recipientAccountId": "oS3Xom2au3Ooy9aihai",
-  "claimedByAccountId": "9EDxUT91TMsUjoqoQeBuLQ",
-  "recipientAlias": "+64212312345",
-  "createdAt": "2020-05-01T12:30:00.000Z",
-  "updatedAt": "2020-05-02T01:03:37.222Z",
-  "suppressNotifications": false
-}

Example response payload (completed giftcard transfer)

{
-  "id": "M7Kn2stAxNa6ri7h",
-  "status": "claimed",
-  "value": "6000",
-  "assetId": "YGRo6TYYSxH3js7",
-  "assetType": "epay.nzd.main",
-  "description": "$60 Giftcard",
-  "message": "Happy birthday",
-  "senderName": "My Cafe",
-  "recipientAccountId": "9EDxUT91TMsUjoqoQeBuLQ",
-  "claimedByAccountId": "9EDxUT91TMsUjoqoQeBuLQ",
-  "recipientAlias": "+64******2345",
-  "createdAt": "2020-05-01T12:30:00.000Z",
-  "updatedAt": "2020-05-02T01:03:37.222Z",
-  "suppressNotifications": false
-}

Get an Asset Transfer Summary

GET /api/asset-transfers/{assetTransferId}/summary

curl https://service.centrapay.com/api/asset-transfers/M7Kn2stAxNa6ri7h/summary

Example response payload

{
-  "id": "M7Kn2stAxNa6ri7h",
-  "status": "created",
-  "assetId": "YGRo6TYYSxH3js7",
-  "message": "Happy birthday",
-  "senderName": "My Cafe",
-  "createdAt": "2020-05-01T12:30:00.000Z"
-}

Resolve claimable assets EXPERIMENTAL

When you send another centrapay user cash or assets, they’re automatically assigned to them. However, if they’re not signed up yet then these assets are not immediately assigned.

If unclaimed, asset transfers are returned after 2 weeks.

New accounts should call this endpoint to allocate assets that you’ve been sent.

POST /api/me/resolve-claimable-assets

curl -X POST https://service.centrapay.com/api/me/resolve-claimable-assets \
-  -H "X-Api-Key: $api_key"

Example response payload

{
-}

List Asset Transfers EXPERIMENTAL

Returns a paginated list of Asset Transfers.

GET /api/asset-transfers

List asset transfers received

curl -G https://service.centrapay.com/api/asset-transfers \
-  -H "X-Api-Key: $api_key" \
-  -d recipientAccountId=oS3Xom2au3Ooy9aihai

List asset transfers sent

curl -G https://service.centrapay.com/api/asset-transfers \
-  -H "X-Api-Key: $api_key" \
-  -d senderAccountId=aBc932S9182qwCDqwer

Example response payload

{
-  "items": [
-    {
-      "id": "M7Kn2stAxNa6ri7h",
-      "status": "created",
-      "value": "6000",
-      "assetId": "YGRo6TYYSxH3js7",
-      "description": "$60 Giftcard",
-      "message": "Happy birthday",
-      "senderName": "My Cafe",
-      "senderAccountId": "aBc932S9182qwCDqwer",
-      "recipientAccountId": "9EDxUT91TMsUjoqoQeBuLQ",
-      "claimedByAccountId": "9EDxUT91TMsUjoqoQeBuLQ",
-      "recipientAlias": "+64*****2345",
-      "createdAt": "2020-05-01T12:30:00.000Z",
-      "updatedAt": "2020-05-02T01:03:37.222Z",
-      "suppressNotifications": false
-    }
-  ]
-}


diff --git a/api/asset-types.html b/api/asset-types.html deleted file mode 100644 index 4cba46616..000000000 --- a/api/asset-types.html +++ /dev/null @@ -1 +0,0 @@ - Asset Types - Centrapay Docs Asset Types | Centrapay Docs Link Search Menu Expand Document

Supported Asset Types

The following table describes the Asset Types supported for payments.

The Category column refers to the Centrapay asset type representation if applicable. When blank, the Asset is not managed by a Centrapay Account.

Asset Type Description Category Currencies Flags
bitcoin.main Bitcoin   NZD, AUD  
cca.coke.main Coke tokens Token NZD 🚫
cca.coke.test Coke tokens Token NZD 🅃 🚫
centrapay.nzd.main Centrapay NZD wallet Money NZD  
centrapay.nzd.test Centrapay NZD wallet Money NZD 🅃
centrapay.token.main Centrapay tokens Token NZD  
centrapay.token.test Centrapay tokens Token NZD 🅃
epay.nzd.main EPay NZ giftcards Giftcard NZD  
epay.nzd.test EPay NZ giftcards Giftcard NZD 🅃
farmlands.nzd.main Farmlands Money NZD 💸💼
farmlands.nzd.test Farmlands Money NZD 🅃💸💼
paypal.main PayPal   USD 💸
paypal.test PayPal   USD 🅃 💸
quartz.nzd.main Quartz NZD asset   NZD  
quartz.nzd.test Quartz NZD asset   NZD 🅃
venmo.main Venmo   USD 💸
venmo.test Venmo   USD 🅃 💸
uplinkapi.test Uplink API Test asset   NZD 🅃
stadius.main Stadius   NZD, AUD, USD, CAD, EUR  
stadius.test Stadius   NZD, AUD, USD, CAD, EUR 🅃

Flags

  • 🅃 : Test Asset – Cannot be assigned to Merchants without the test flag.
  • 🚫 : Restricted Asset – Cannot be used to pay for “restricted” Line Items.
  • 💸 : Supports Quick Pay – Can be used to quick pay a Payment Request.
  • 💼 : Requires Tax NumberTax Number must exist on the Merchant’s Business to transact this asset type.

diff --git a/api/assets.html b/api/assets.html deleted file mode 100644 index d558bef8e..000000000 --- a/api/assets.html +++ /dev/null @@ -1,137 +0,0 @@ - Assets - Centrapay Docs Assets | Centrapay Docs Link Search Menu Expand Document

Assets

Centrapay digital assets are resources that represent the ability for a Centrapay account to perform transactions where value is exchanged. Assets can be spent to satisfy Payment Requests, withdrawn to a bank account via Funds Transfers and sent to other Centrapay users via Asset Transfers.

Assets are categorized as either Money, Gift Cards or Tokens. Depending on its asset category, an asset will have different attributes available and different rules governing how it can be obtained, shared or spent.

Contents

Models

Asset

All assets have the following fields along with the additional fields that are specific to its category. Assets which don’t have a category are considered EXPERIMENTAL and the model may change.

Fields

Field Type Description
id String The Asset’s unique identifier.
accountId String The Asset’s owning Centrapay Account id.
category String Optional Asset category (“money”, “giftcard”, “token”).
type String Asset Type id used by payment option asset types.
liveness String Either “main” (live payments allowed) or “test”.
description String Displayable asset description.
createdAt Timestamp Date when the asset was created or issued.
status String “active” if the asset can be used for payments.
meta Object Optional EXPERIMENTAL Additional data that may only appear in the Get Asset response.

Money

Money assets, being backed by real currency, are the most flexible asset types. Money is accepted for most payment requests, can be sent in arbitrary amounts and does not expire.

Money assets have the following fields along with the base asset fields.

Fields

Field Type Description
currency String Currency code, eg “NZD”
balance BigNumber Current balance in the currency’s smallest denomination (ie. cents).
availableBalance BigNumber The balance of the asset that is available for transfers or purchases.
settlement Boolean Optional EXPERIMENTAL The asset is configured for Settlements.

Gift Cards

Gift cards are similar to money but have greater spending restrictions and are not always backed by real currency. Gift cards usually have an expiry date, are typically tied to a small number of merchants, and can only be sent in their entirety.

Gift cards have the following fields along with the base asset fields.

Fields

Field Type Description
issuer String The identifier for the issuer of the gift card.
currency String Currency code, eg “NZD”
balance BigNumber Current balance in the currency’s smallest denomination (ie. cents).
availableBalance BigNumber The balance of the asset that is available for transfers or purchases.
initialBalance BigNumber The balance when the asset was created.
externalId String Optional The asset identifier from the issuing system.
expiresAt Timestamp Optional The date when the asset expires.
balanceUpdatedAt Timestamp Optional The date when the balance was last observed to be updated.
productCode String Optional EXPERIMENTAL The unique code which must match a merchant’s payment option for redemption.
img String Optional EXPERIMENTAL The img URL of the gift card.
brandName String Optional EXPERIMENTAL The name of the brand that the gift card belongs to.
brandImg String Optional EXPERIMENTAL The img URL of the brand that the gift card belongs to.
brandWebsite String Optional EXPERIMENTAL The URL of the brand that the gift card belongs to.
issuerWebsite String Optional EXPERIMENTAL The URL of the issuer of the gift card.

Tokens (EXPERIMENTAL)

Tokens are assets which can only be spent in full.

Every token is associated with a collection, which defines the branding and general rules for the tokens, such as active duration.

Tokens have the following fields along with the base asset fields.

Fields

Field Type Description
collectionId String The token collection that will govern the branding and redemption rules for the token.
createdBy CRN The identity that created the activity.
value Array Optional The Monetary Amounts representing the token’s nominal value in its supported currencies. DEPRECATED
activeFrom Timestamp Optional The date when the asset becomes spendable.
expiresAt Timestamp Optional The date when the asset expires.
img String Optional The img URL of the token.
issuer String Optional The name of the Business that issued the token.
issuerWebsite String Optional The URL of the issuer of the token.
issuerImg String Optional The img URL of the issuer that the token belongs to.
externalId String Optional The asset identifier from the issuing system.

Operations

Get Asset

GET /api/assets/{assetId}

curl https://service.centrapay.com/api/assets/L75M3L56N2PtBSt8g7uXLU \
-  -H "X-Api-Key: $api_key"

Example response payload

{
-  "id": "L75M3L56N2PtBSt8g7uXLU",
-  "accountId": "Te2uDM7xhDLWGVJU3nzwnh",
-  "category": "giftcard",
-  "type": "epay.nzd.main",
-  "issuer": "ezipay",
-  "externalId": "23403283262",
-  "description": "$60 Acme Giftcard",
-  "productCode": "23403",
-  "initialBalance": "6000",
-  "balance": "6000",
-  "availableBalance": "6000",
-  "balanceUpdatedAt": "2021-01-01T00:00:00.000Z",
-  "expiresAt": "2020-12-31T00:00:00.000Z",
-  "createdAt": "2020-05-01T12:30:00.000Z"
-}

Get Asset Summary

GET /api/assets/{assetId}/summary

curl https://service.centrapay.com/api/assets/L75M3L56N2PtBSt8g7uXLU/summary

Example response payload

{
-  "id": "L75M3L56N2PtBSt8g7uXLU",
-  "issuer": "Centraperk Cafe",
-  "description": "Free Coffee",
-  "expiresAt": "2020-12-31T00:00:00.000Z",
-  "img": "https://static.centrapay.com/assets/brands/centraperk/cafe-token.png",
-  "liveness": "test"
-}

List Assets for Account

Returns a paginated list of Assets for an account. This will not return archived assets.

GET /api/accounts/{accountId}/assets

List Assets for Account

curl https://service.centrapay.com/api/accounts/Te2uDM7xhDLWGVJU3nzwnh/assets \
-  -H "X-Api-Key: $api_key"

List Assets for Account by externalId

curl -G https://service.centrapay.com/api/accounts/Te2uDM7xhDLWGVJU3nzwnh/assets \
-  -H "X-Api-Key: $api_key" \
-  -d externalId=QZnc7ehZGub1PHAUBjzVxo

Example response payload

{
-  "items": [
-    {
-      "id": "L75M3L56N2PtBSt8g7uXLU",
-      "accountId": "Te2uDM7xhDLWGVJU3nzwnh",
-      "category": "giftcard",
-      "type": "epay.nzd.main",
-      "issuer": "ezipay",
-      "externalId": "23403283262",
-      "description": "$60 Acme Giftcard",
-      "productCode": "23403",
-      "initialBalance": "6000",
-      "balance": "6000",
-      "availableBalance": "6000",
-      "balanceUpdatedAt": "2021-01-01T00:00:00.000Z",
-      "expiresAt": "2020-12-31T00:00:00.000Z",
-      "createdAt": "2020-05-01T12:30:00.000Z"
-    },
-    {
-      "id": "WRhAxxWpTKb5U7pXyxQjjY",
-      "accountId": "Te2uDM7xhDLWGVJU3nzwnh",
-      "category": "money",
-      "type": "centrapay.nzd.main",
-      "liveness": "main",
-      "description": "NZD",
-      "createdAt": "2021-01-01T00:00:00.000Z",
-      "status": "active",
-      "currency": "NZD",
-      "balance": "2000"
-    },
-    {
-      "id": "Aj7rtHmd7rDeWoJgw9MPHe",
-      "accountId": "Te2uDM7xhDLWGVJU3nzwnh",
-      "type": "cca.coke.main",
-      "description": "Coke™ Token",
-      "category": "token",
-      "value": [
-        {
-          "currency": "NZD",
-          "amount": "400"
-        }
-      ],
-      "expiresAt": "2020-12-31T00:00:00.000Z",
-      "createdAt": "2020-05-01T12:30:00.000Z"
-    }
-  ]
-}

Listing Asset Transactions EXPERIMENTAL

Returns a paginated list of Asset Transactions. This endpoint is currently only supported for quartz asset types.

GET /api/assets/{assetId}/transactions

curl https://service.centrapay.com/api/assets/WRhAxxWpTKb5U7pXyxQjjY/transactions \
-  -H "X-Api-Key: $api_key"

Transaction Fields

Field Type Description
ref String ID of the Centrapay resource that initiated this transaction.
refType String Name of the Centrapay resource that initiated this transaction.
type String Type of the Asset Transaction. Supported values are increment-balance, decrement-balance and transfer.
kind String Human readable value indicating the reason for this transaction.
srcAssetId String Optional ID of the source asset if applicable.
destAssetId String Optional ID of the destination asset if applicable.
srcParty String Optional Display value for party providing funds if applicable. See note below.
destParty String Optional Display value for party receiving funds if applicable. See note below.
otherParty String Optional Display value for party providing or receiving funds if applicable. See note below.
amount String Amount of transaction in cents.
activityType String Indicating whether the asset gained or lost value. Supported types are value-in and value-out.
activityNumber String Unique sequential Asset transaction number.

Party Values

The “destParty” and “srcParty” are optionally provided only on transactions of type transfer. Values may include a merchant name, user handle, masked user email, masked user phone, or bank account.

The “otherParty” is optionally provided only on transactions of type increment-balance and decrement-balance. Values may include bank account number.

Example response payload

{
-  "items": [
-    {
-      "ref": "adRGJqMyMhmGfnDXasRZ",
-      "type": "transfer",
-      "kind": "refund",
-      "refType": "payment-request",
-      "assetId": "WRhAxxWpTKb5U7pXyxQjjY",
-      "srcParty": "Coffee Ltd",
-      "destParty": "crn::user:5a3b1ba7-d01k-409f-ld0a-jd81k0ald",
-      "createdAt": "2022-03-31T20:36:08.562Z",
-      "createdBy": "crn::service:payments-api",
-      "srcAssetId": "Jd9a89ZESjjCuUD9DJD9Al",
-      "destAssetId": "WRhAxxWpTKb5U7pXyxQjjY",
-      "amount": "2000",
-      "activityType": "value-in",
-      "activityNumber": "3"
-    },
-    {
-      "ref": "adRGJqMyMhmGfnDXasRZ",
-      "type": "transfer",
-      "kind": "payment",
-      "refType": "payment-request",
-      "assetId": "WRhAxxWpTKb5U7pXyxQjjY",
-      "srcParty": "crn::user:5a3b1ba7-d01k-409f-ld0a-jd81k0ald",
-      "destParty": "Coffee Ltd",
-      "createdAt": "2022-03-31T20:35:54.717Z",
-      "createdBy": "crn::service:payments-api",
-      "srcAssetId": "WRhAxxWpTKb5U7pXyxQjjY",
-      "destAssetId": "Jd9a89ZESjjCuUD9DJD9Al",
-      "amount": "3000",
-      "activityType": "value-out",
-      "activityNumber": "2"
-    },
-    {
-      "ref": "H4SZKwMcU9VCmnGEqDA7Mn",
-      "type": "increment-balance",
-      "kind": "topup",
-      "refType": "topup",
-      "assetId": "WRhAxxWpTKb5U7pXyxQjjY",
-      "createdAt": "2022-03-31T02:37:47.207Z",
-      "createdBy": "crn::application:rhea",
-      "destAssetId": "WRhAxxWpTKb5U7pXyxQjjY",
-      "amount": "7600",
-      "activityType": "value-in",
-      "activityNumber": "1"
-    }
-  ]
-}

Archive Asset

Archive supported asset types by asset id. Currently only gift cards may be archived.

POST /api/assets/{assetId}/archive

curl -X POST https://service.centrapay.com/api/assets/L75M3L56N2PtBSt8g7uXLU/archive \
-  -H "X-Api-Key: $api_key"

Example response payload

{
-  "id": "L75M3L56N2PtBSt8g7uXLU",
-  "accountId": "Te2uDM7xhDLWGVJU3nzwnh",
-  "category": "giftcard",
-  "type": "epay.nzd.main",
-  "issuer": "ezipay",
-  "externalId": "23403283262",
-  "description": "$60 Acme Giftcard",
-  "initialBalance": "6000",
-  "balance": "0",
-  "balanceUpdatedAt": "2021-01-01T00:00:00.000Z",
-  "expiresAt": "2020-12-31T00:00:00.000Z",
-  "createdAt": "2020-05-01T12:30:00.000Z",
-  "status": "archived"
-}

Error Responses

Status Code Description
403 UNSUPPORTED_ASSET_TYPE Asset type can not be archived

diff --git a/api/auth.html b/api/auth.html deleted file mode 100644 index ffe1ed40f..000000000 --- a/api/auth.html +++ /dev/null @@ -1,5 +0,0 @@ - Auth - Centrapay Docs Auth | Centrapay Docs Link Search Menu Expand Document

Auth

Contents

Authenticating API Calls

API calls can be authenticated by either providing an API key in the “X-Api-Key” header or by providing a user access token in the “Authorization” header.

Org Accounts accessed with a user access token require the “X-Centrapay-Account” header to be provided. The “X-Centrapay-Account” header specifies the unique identifier of the Centrapay Org Account.

Authenticate with API key

curl https://service.centrapay.com/api/account-memberships \
-  -H "X-Api-Key: $api_key"

Authenticate with user access token

curl https://service.centrapay.com/api/account-memberships \
-  -H "Authorization: $jwt"

Authenticate org account with user access token

curl https://service.centrapay.com/api/accounts/Jaim1Cu1Q55uooxSens6yk/bank-accounts \
-  -H "Authorization: $jwt" \
-  -H "X-Centrapay-Account: Jaim1Cu1Q55uooxSens6yk"

API Keys

API Keys provide enduring access to a single Centrapay account.

The Centrapay test merchant API key is available to test creating payment requests: f32c5497297084e5354b47c40d5ccacb109ce483.

User Access Tokens

User access tokens provide time-limited access to all Centrapay accounts for which the user is a member. Access tokens are issued using OIDC code flow via the Centrapay OAuth authorization server and login page at auth.centrapay.com.

After successfully negotiating the OIDC code flow your application will have access to three tokens:

Id Token JWT containing user attributes such as id, phone and email.
Access Token JWT granting access to Centrapay APIs. Expires after 1 hour.
Refresh Token Token for OIDC token exchange. Expires after 60 days or when revoked.

A good starting point for learning more about OIDC is Okta’s OAuth OIDC Illustrated Guide.

When initiating a login request, a valid redirect URI must be provided. To obtain a dedicated OAuth client id with your application’s redirect URI(s) whitelisted please contact Centrapay support. Your callback URI can be for a website (such as “https://yourapp.example.com/oidc-callback”) or mobile app (such as “com.example.yourapp://oidc-callback”).

Your application can use any OIDC client to negotiate the authentication flow but it must support OIDC authorization code flow with PKCE. See the Example OIDC Consumer guide for a working example using the “oidc-client” JavaScript library. The Centrapay authorization server configuration can be interrogated via https://auth.centrapay.com/.well-known/openid-configuration.

When handling the OIDC callback, browser based applications should slurp the callback parameters by performing a location.replace() so they are not available in the browser’s location bar or browsing history. If your application needs to talk directly to service.centrapay.com from a browser then it will also need to be whitelisted for cross-origin requests.

Claims

The following table lists the claims which may be be included in a user id token. At minimum, the “sub” claim and one of “phone_number” or “email” will be present.

Name Description
sub Centrapay user id
email email address
phone_number phone number
given_name given name(s)
family_name surname
preferred_username Centrapay user handle
phone_number_verified phone number has been verified (can be used for account recovery)
email_verified email has been verified (can be used for account recovery)

Roles and Permissions

Users and API keys are assigned a role for their associated Centrapay account(s). The permissions granted to the roles are shown in the table below.

Most permissions apply only to resources owned by the associated account. Some permissions, such as payment-requests:pay, apply globally to all resources regardless of the account the resource belongs to. The global permissions are indicated below with a star (✸).

Account Flags

Some permissions require an additional flag associated to their individual account or the targeted account that owns the resource (they may be the same account). For each permission, if there is a flag associated to it then at least one of them must be met.

Symbol Description
👤 A trusted user flag on the individual account, obtained by verifying a NZ phone number.
🧀 An external-asset-issuer subscription on the targeted Account, obtained by contacting centrapay.
🗄 The targeted account must be of type org.
🪙 A collection-manager subscription on the targeted Account, obtained by contacting centrapay.

Permissions

Permission Account Owner Anon Consumer Merchant Terminal External Asset Provider Cashier
accounts:create        
accounts:read    
accounts:update        
api-keys:create        
api-keys:list        
api-keys:update        
asset-transfers:claim      
asset-transfers:create 👤 🧀      
asset-transfers:read      
assets:read      
assets:spend 👤        
bank-account-approvals:create        
bank-account-requests:authorize        
bank-account-requests:create        
bank-accounts:create        
bank-accounts:read        
business:create        
business:update        
business:read        
collections:create 🪙        
collections:read 🪙        
external-assets:create 👤 🧀      
external-assets:update      
integration-requests:configure          
integration-requests:create 🗄        
integration-requests:read 🗄        
invitations:accept ✅ ✸        
invitations:read ✅ ✸        
media-uploads:create        
memberships:delete 🗄        
memberships:update        
merchants:create 🗄        
merchants:list 🗄      
merchants:read 🗄      
merchants:update 🗄        
patron-codes:create        
patron-codes:read    
payment-activities:read    
payment-conditions:approve    
payment-requests:cancel 🗄    
payment-requests:create 🗄   ✅ ✸  
payment-requests:pay 🗄 ✅ ✸ ✅ ✸   ✅ ✸
payment-requests:read ✅ ✸ ✅ ✸ ✅ ✸   ✅ ✸
payment-requests:read-by-shortcode    
payment-requests:refund 🗄    
payment-requests:void 🗄    
payment-requests:release 🗄    
payment-requests:confirm 🗄    
quotas:read        
quotas:read        
redemption-conditions:create 🪙        
scanned-code:decode    
tokens:create 🪙        
topups:create 👤        
topups:read        
wallets:create        
wallets:deposit        
wallets:read        
wallets:transfer 👤        
wallets:withdraw        

diff --git a/api/bank-account-approvals.html b/api/bank-account-approvals.html deleted file mode 100644 index 5d507d0ee..000000000 --- a/api/bank-account-approvals.html +++ /dev/null @@ -1,87 +0,0 @@ - Bank Account Approvals - Centrapay Docs Bank Account Approvals | Centrapay Docs Link Search Menu Expand Document

Bank Account Approvals

A Bank Account Approval represents any added authorization on a Bank Account. This may be an approval from Centrapay or a consent from a Centrapay Account owner that allows access to a third-party system. See Bank Account Approval Types.

Contents

Models

Bank Account Approval

Fields

Field Type Description
id String The Bank Account Approval’s unique identifier.
bankAccountId String The id of the associated Bank Account.
accountId String The id of the owning Centrapay Account.
type String The type of Bank Account Approval. See Bank Account Approval Types.
status String The current status of the Bank Account Approval. Supported values are created, pending, approved, declined and done.
createdAt Timestamp When the Bank Account Approval was created.
createdBy CRN The User or API Key that created the Bank Account Approval.
modifiedAt Timestamp When the Bank Account Approval was updated.
modifiedBy CRN The User or API Key that updated the Bank Account Approval.
approvalActivities Array An array of Bank Account Approval Activity associated with the Bank Account Approval.
mediaUploadId String Optional The id of the associated Media Upload. Required for type settlement.
refreshToken String Optional A long lived access token for access to a third-party system. Required for type account-consent and payment-consent.
consentId String Optional A unique identifier for an authorization in a third-party system.

Bank Account Approval Activity

Fields

Field Type Description
activityNumber Number Unique sequential Bank Account Approval Activity number.
approvalId String The id of the associated Bank Account Approval.
activityType String The type of the Bank Account Approval Activity.
createdAt Timestamp When the Bank Account Approval Activity was created.
createdBy CRN The User or API Key that created the Bank Account Approval Activity.

Bank Account Approval Types

Name description
settlement An approved Bank Account Approval of type settlement is required for the funds in a Settlement Wallet to be released. A Media Upload is uploaded by the user to provide evidence of ownership of the Bank Account to be approved.
account-consent An approved Bank Account Approval of type account-consent provides an access token to read account details from a third-party.
payment-consent An approved Bank Account Approval of type payment-consent provides an access token for creating payments with a third-party.

Operations

Request Bank Account Approval EXPERIMENTAL

POST /api/bank-account-approvals

curl -X POST https://service.centrapay.com/api/bank-account-approvals \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "mediaUploadId": "uooxSens6ykJaim1Cu1Q55",
-    "bankAccountId": "WRhAxxWpTKb5U7pXyxQjjY",
-    "type": "settlement"
-  }'

Required Fields

Field Type Description
mediaUploadId String The id of the associated Media Upload.
bankAccountId String The id of the associated Bank Account.
type String The Bank Account Approval Type. A Bank Account Approval can only be requested for type settlement.

Example response payload

{
-  "id": "DcTs3U38HdhfEqwF1GKoT3",
-  "mediaUploadId": "uooxSens6ykJaim1Cu1Q55",
-  "bankAccountId": "WRhAxxWpTKb5U7pXyxQjjY",
-  "accountId": "Jaim1Cu1Q55uooxSens6yk",
-  "type": "settlement",
-  "status": "created",
-  "createdAt": "2021-11-08T21:52:39.915Z",
-  "createdBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "modifiedAt": "2021-11-08T21:52:39.915Z",
-  "modifiedBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey"
-}

Error Responses

Status Code Description
403 APPROVAL_ALREADY_IN_PROGRESS There is already a Bank Account Approval in progress that is awaiting review from Centrapay.

Get Bank Account Approval EXPERIMENTAL

GET /api/bank-account-approvals/{bankAccountApprovalId}

curl https://service.centrapay.com/api/bank-account-approvals/bbab9a768921019cb856 \
-  -H "X-Api-Key: $api_key"

Example response payload

{
-  "id": "bbab9a768921019cb856",
-  "bankAccountId": "WRhAxxWpTKb5U7pXyxQjjY",
-  "accountId": "Jaim1Cu1Q55uooxSens6yk",
-  "type": "account-consent",
-  "status": "approved",
-  "createdAt": "2021-11-08T21:52:39.915Z",
-  "createdBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "modifiedAt": "2021-11-08T21:52:39.915Z",
-  "modifiedBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "refreshToken": "y04Njk3LTRjNmZkYjBhMzRiZSIsIm5vbmNlIjoiOTg3MTJjMGNkZmFiNWZjNzMwM2MxMzNl",
-  "consentId": "d24dbe-e2bc46ac-d924e38af112"
-}

Accept a Bank Account Approval EXPERIMENTAL

POST /api/bank-account-approvals/{bankAccountApprovalId}/accept

curl -X POST https://service.centrapay.com/api/bank-account-approvals/DcTs3U38HdhfEqwF1GKoT3/accept \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "reason": "All details match"
-  }'

Optional Fields

Field Type Description
reason String The reason for accepting the Bank Account Approval.

Example response payload

{
-}

Error Responses

Status Code Description
403 APPROVAL_ALREADY_REVIEWED The Bank Account Approval has already been accepted or declined.

Decline a Bank Account Approval EXPERIMENTAL

POST /api/bank-account-approvals/{bankAccountApprovalId}/decline

curl -X POST https://service.centrapay.com/api/bank-account-approvals/DcTs3U38HdhfEqwF1GKoT3/decline \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "reason": "All details match"
-  }'

Required Fields

Field Type Description
reason String The reason for declining the Bank Account Approval.

Example response payload

{
-}

Error Responses

Status Code Description
403 APPROVAL_ALREADY_REVIEWED The Bank Account Approval has already been accepted or declined.

List Bank Account Approvals EXPERIMENTAL

GET /api/bank-accounts/{bankAccountId}/approvals

curl https://service.centrapay.com/api/bank-accounts/5vpkxjn6z787LiAKCqwuf9/approvals \
-  -H "X-Api-Key: $api_key"

Example response payload

{
-  "items": [
-    {
-      "id": "PJ6jTgDNv1xfFAooCoWZLe",
-      "bankAccountId": "5vpkxjn6z787LiAKCqwuf9",
-      "createdAt": "2022-08-21T21:41:46.361Z",
-      "modifiedAt": "2022-08-21T21:41:46.361Z",
-      "accountId": "TEZiZWAtX6v1hJucU4fGKx",
-      "createdBy": "crn::user:7c0a034a-c36e-4645-b12b-57dec339ab47",
-      "modifiedBy": "crn::user:7c0a034a-c36e-4645-b12b-57dec339ab47",
-      "type": "account-consent",
-      "status": "approved",
-      "refreshToken": "tXC4dFm3yNAQbLrm4JxY6pynGoEG8vSJ",
-      "consentId": "fFAoo-CoWZLea8-4dFm3yNAoWZLe"
-    },
-    {
-      "id": "WiFna4hCc7k4KYUxncFPg4",
-      "bankAccountId": "5vpkxjn6z787LiAKCqwuf9",
-      "createdAt": "2022-08-11T20:53:57.337Z",
-      "modifiedAt": "2022-08-11T20:53:57.337Z",
-      "accountId": "TEZiZWAtX6v1hJucU4fGKx",
-      "createdBy": "crn::user:7c0a034a-c36e-4645-b12b-57dec339ab47",
-      "modifiedBy": "crn::user:7c0a034a-c36e-4645-b12b-57dec339ab47",
-      "type": "payment-consent",
-      "status": "approved",
-      "refreshToken": "dAGLl8AfnNCGEKEmBm1FryaDyW1JBh28",
-      "consentId": "4KYUx-ncFPg4a8-Ll8AfnNCcFPg4"
-    },
-    {
-      "id": "SoQkkv4rWRwrknrdkYbBuB",
-      "bankAccountId": "5vpkxjn6z787LiAKCqwuf9",
-      "createdAt": "2022-08-21T21:41:22.345Z",
-      "modifiedAt": "2022-08-21T21:41:22.345Z",
-      "accountId": "TEZiZWAtX6v1hJucU4fGKx",
-      "createdBy": "crn::user:7c0a034a-c36e-4645-b12b-57dec339ab47",
-      "modifiedBy": "crn::user:7c0a034a-c36e-4645-b12b-57dec339ab47",
-      "type": "account-consent",
-      "status": "declined",
-      "refreshToken": "rX3MNTxFwKIU2lhyZOrq87Aw74ASSHUM",
-      "consentId": "rknrd-kYbBuBa8-MNTxFwKIYbBuB"
-    }
-  ]
-}


diff --git a/api/bank-account-connection-intents.html b/api/bank-account-connection-intents.html deleted file mode 100644 index 35f342506..000000000 --- a/api/bank-account-connection-intents.html +++ /dev/null @@ -1,25 +0,0 @@ - Bank Account Connection Intents - Centrapay Docs Bank Account Connection Intents | Centrapay Docs Link Search Menu Expand Document

Bank Account Connection Intents

A Bank Account Connection Intent facilitates user authorization of access to Bank Accounts, for example, using Open Banking flows. Typically the authorization will follow an OAuth flow where the user is redirected to a third-party system to authenticate and select one or more bank accounts.

Contents

Models

Bank Account Connection Intent

Fields

Field Type Description
id String The Bank Account Connection Intent’s unique identifier.
accountId String The id of the owning Centrapay Account.
type String The type of Bank Account Connection Intent. See Bank Account Connection Intent Types.
status String The current status of the Bank Account Connection Intent. Supported values are created, authorized and failed.
createdAt Timestamp When the Bank Account Connection Intent was created.
createdBy CRN The User or API Key that created the Bank Account Connection Intent.
updatedAt Timestamp When the Bank Account Connection Intent was updated.
updatedBy CRN The User or API Key that updated the Bank Account Connection Intent.
authorizationUrl String A URL to the third-party beginning the authorization flow.
test Boolean Optional A flag which is present if the intention is to connect with a Bank Account used for testing.

Bank Account Connection Intent Types

Name description
quartz-accounts Initiates an authorization flow for authorizing access to bank account details. After a Bank Account Connection Intent has been authorized, one or more Centrapay Bank Account resources may be created.
quartz-payment Initiates an authorization flow for authorizing access to create payments.

Operations

Create Bank Account Connection Intent EXPERIMENTAL

POST /api/bank-account-connection-intents

curl -X POST https://service.centrapay.com/api/bank-account-connection-intents \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "accountId": "uooxSens6ykJaim1Cu1Q55",
-    "type": "quartz-accounts",
-    "test": true
-  }'

Fields

Field Type Description
accountId String The id of the owning Account.
type String The type of Bank Account Connection Intent.
bankAccountId String Optional The id of the associated Bank Account. Required if type is quartz-payment.
test Boolean Optional A flag which is present if the intention is to connect with a Bank Account used for testing.

Example response payload

{
-  "id": "3KVjuKW2CZCJeJVqPxwkX7",
-  "accountId": "B4u4WZCu3joZFVWT3XjWW3",
-  "type": "quartz-accounts",
-  "status": "created",
-  "createdAt": "2022-03-31 02:56:29 UTC",
-  "createdBy": "crn:B4u4WZCu3joZFVWT3XjWW3:api-key:MyApiKey",
-  "updatedAt": "2022-03-31 02:56:29 UTC",
-  "updatedBy": "crn:B4u4WZCu3joZFVWT3XjWW3:api-key:MyApiKey",
-  "authorizationUrl": "https://example.com/authorization-url",
-  "test": true
-}

Error Responses

Status Code Description
403 LIVENESS_MISMATCH Only Bank Account Connection Intents with the test flag can be associated with test Bank Accounts, and vice versa.

Authorize Bank Account Connection Intent EXPERIMENTAL

POST /api/bank-account-connection-intents/{bankAccountConnectionIntentId}/authorize

curl -X POST https://service.centrapay.com/api/bank-account-connection-intents/3KVjuKW2CZCJeJVqPxwkX7/authorize \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "code": "hKpKupTM391pE10xfQiorMxXarRKAHRhTfH_x"
-  }'

Fields

Field Type Description
code String Authorization code returned from third-party.

Example response payload

{
-}


diff --git a/api/bank-accounts.html b/api/bank-accounts.html deleted file mode 100644 index c611f8163..000000000 --- a/api/bank-accounts.html +++ /dev/null @@ -1,233 +0,0 @@ - Bank Accounts - Centrapay Docs Bank Accounts | Centrapay Docs Link Search Menu Expand Document

Bank Accounts

Bank Accounts are used to get money in and out of a Centrapay Account. Money is moved by creating “Top Up” or “Withdrawal” Funds Transfers.

Bank Accounts must be “direct debit authorized” before they can be used for a Top Up and they must be “verified” before top up funds are released. Bank Accounts do not require “direct debit authorization” or “verification” in order to perform a Withdrawal. A 4-digit code from any recent Centrapay-initiated bank transaction can be used to verify a bank account.

Contents

Models

Bank Account

Mandatory Fields

Field Type Description
id String The Bank Account’s unique identifier.
bankAccountNumber String The user’s Bank Account number.
bankAccountName String The name on the Bank Account provided by the user.
accountId String The id of the owning Centrapay Account.
status String The current status of the Bank Account.
verified Boolean Flag indicating the Bank Account is verified, allowing it to be used to Top Up.
type String The Bank Account Type of the bank, defaults to centrapay.
directDebitAuthorized Boolean Flag indicating the user accepts our Direct Debit terms and has authority to operate this account.
approvals Array A list of Bank Account Approval Type Summaries.
createdAt Timestamp When the Bank Account was created.
createdBy CRN The User or API Key that created the Bank Account.
modifiedAt Timestamp When the Bank Account was updated.
modifiedBy CRN The User or API Key that updated the Bank Account.

Optional Fields

Field Type Description
phoneNumber String The user’s phone number.
fullName String The first and last name of the user.
emailAddress String The user’s email address.
test Boolean A flag which is present if the Bank Account is for testing.

Bank Account Approval Type Summary EXPERIMENTAL

A summary of the Bank Account Approvals for a Bank Account. There is one object per type of Bank Account Approval, which provides a summary of the approval status.

Fields

Name Type Description
type String The type of Bank Account Approval Summary.
status String The summarized status of the Bank Account Approvals. Supported values are pending, approved and declined.
updatedAt Timestamp When the Bank Account Approval Summary was updated.

Bank Account Type EXPERIMENTAL

Types of bank accounts to allow access to different Asset Types.

Type Description
centrapay Allows topup and withdrawal of the centrapay.nzd asset type.
quartz Allows usage of the quartz.nzd asset type.

Bank Account Balance EXPERIMENTAL

The Bank Account balance, retrieved using Open Banking flows. The supported Bank Account type is quartz.

Name Type Description
bankAccountId String The unique identifier of the Centrapay Bank Account.
balance BigNumber The Open Banking Bank Account balance.
currency String Currency code (eg. “NZD”).

Operations

Creating a Bank Account

A Bank Account can be created with or without direct debit authorized. By including directDebitAuthority, the user accepts our Direct Debit terms and has authority to operate this account.

POST /api/bank-accounts

Create without direct debit authorized

curl -X POST https://service.centrapay.com/api/bank-accounts \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "accountId": "Jaim1Cu1Q55uooxSens6yk",
-    "bankAccountNumber": "12-1234-1234567-123",
-    "bankAccountName": "John Doe"
-  }'

Create with direct debit authorized

curl -X POST https://service.centrapay.com/api/bank-accounts \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "accountId": "Jaim1Cu1Q55uooxSens6yk",
-    "bankAccountNumber": "12-1234-1234567-123",
-    "bankAccountName": "John Doe",
-    "directDebitAuthority": {
-      "phoneNumber": "+64212345678",
-      "fullName": "John Doe",
-      "emailAddress": "john.doe@gmail.com"
-    }
-  }'

Required Fields

Field Type Description
accountId String The id of the owning Centrapay Account.
bankAccountNumber String The user’s Bank Account number.
bankAccountName String The name on the Bank Account provided by the user.

Optional Fields

Note, fields which have a star (✩) create a direct-debit authority and are required for Top Up. All fields below when specified are required together.

Field Type Description
phoneNumber String ✩ The user’s phone number.
fullName String ✩ The first and last name of the user.
emailAddress String ✩ The user’s email address.
type String The Bank Account Type to be created.
test Boolean A flag which is present if the Bank Account is for testing.

Example response payload

{
-  "id": "WRhAxxWpTKb5U7pXyxQjjY",
-  "accountId": "Jaim1Cu1Q55uooxSens6yk",
-  "bankAccountNumber": "12-1234-1234567-123",
-  "bankAccountName": "John Doe",
-  "directDebitAuthorized": true,
-  "status": "created",
-  "verified": false,
-  "type": "centrapay",
-  "createdAt": "2020-06-12T01:17:46.499Z",
-  "createdBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "modifiedAt": "2020-06-12T01:17:46.499Z",
-  "modifiedBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "approvals": [
-
-  ]
-}

Error Responses

Status Code Description
403 BANK_ACCOUNT_LIMIT_EXCEEDED The Centrapay account already has the max amount of directDebitAuthorized enabled Bank Accounts.
403 BANK_ACCOUNT_HOLDER_LIMIT_EXCEEDED The global maximum Bank Accounts for the provided Bank Account number has been reached.
403 DUPLICATE_BANK_ACCOUNT The Centrapay account already holds this Bank Account.

Adding a direct debit authority to a Bank Account

By using this endpoint, the user accepts our Direct Debit terms and has authority to operate this account.

POST /api/bank-accounts/{bankAccountId}/direct-debit-authorities

curl -X POST https://service.centrapay.com/api/bank-accounts/WRhAxxWpTKb5U7pXyxQjjY/direct-debit-authorities \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "phoneNumber": "+64212345678",
-    "fullName": "John Doe",
-    "emailAddress": "john@doe.org"
-  }'

Example response payload

{
-  "id": "WRhAxxWpTKb5U7pXyxQjjY",
-  "accountId": "Jaim1Cu1Q55uooxSens6yk",
-  "bankAccountNumber": "12-1234-1234567-123",
-  "bankAccountName": "John Doe",
-  "directDebitAuthorized": true,
-  "status": "created",
-  "verified": false,
-  "type": "centrapay",
-  "createdAt": "2020-06-12T01:17:46.499Z",
-  "createdBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "modifiedAt": "2020-06-12T01:17:46.499Z",
-  "modifiedBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "approvals": [
-
-  ]
-}

Required Fields

Note, fields which have a star (✩) are required for Top Up. All fields below when specified are required together.

Field Type Description
phoneNumber String ✩ The user’s phone number.
fullName String ✩ The first and last name of the user.
emailAddress String ✩ The user’s email address.

Error Responses

Status Code Description
403 DIRECT_DEBIT_ALREADY_AUTHORIZED This bank authority cannot be changed as all fields have been set.
403 DIRECT_DEBIT_LIMIT_EXCEEDED The Centrapay account already has the max amount of directDebitAuthorized enabled Bank Accounts.

Get information about a Bank Account

GET /api/bank-accounts/{bankAccountId}

curl https://service.centrapay.com/api/bank-accounts/d4a7cbd6818a87c51b97 \
-  -H "X-Api-Key: $api_key"

Example response payload

{
-  "id": "d4a7cbd6818a87c51b97",
-  "accountId": "Jaim1Cu1Q55uooxSens6yk",
-  "status": "created",
-  "bankAccountNumber": "12-1234-1234567-123",
-  "bankAccountName": "John Doe",
-  "directDebitAuthorized": false,
-  "bankRegion": "nz",
-  "createdBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "createdAt": "2022-07-18T02:26:39.477Z",
-  "verified": false,
-  "modifiedBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "modifiedAt": "2022-07-18T02:26:39.477Z",
-  "approvals": [
-    {
-      "type": "account-consent",
-      "status": "approved",
-      "updatedAt": "2021-11-08T21:52:39.915Z"
-    }
-  ],
-  "type": "quartz",
-  "test": true
-}

Get Bank Account Balance EXPERIMENTAL

GET /api/bank-accounts/{bankAccountId}/balance

curl https://service.centrapay.com/api/bank-accounts/d4a7cbd6818a87c51b97/balance \
-  -H "X-Api-Key: $api_key"

Example response payload

{
-  "bankAccountId": "d4a7cbd6818a87c51b97",
-  "balance": 1000,
-  "currency": "NZD"
-}

Error Responses

Status Code Description
403 BANK_BALANCE_NOT_SUPPORTED The Bank Account Type does not support retrieval of a balance using Open Banking flows.
403 BANK_AUTHORIZATION_INVALID The access token to retrieve the Bank Account Balance is no longer valid.

Verify a Bank Account

Verification codes show up on statements when a user makes withdrawals and deposits. To verify an account, you need to direct the user to make a Top Up or Withdrawal and then check their statement.

POST /api/bank-accounts/{bankAccountId}/verify

curl -X POST https://service.centrapay.com/api/bank-accounts/WRhAxxWpTKb5U7pXyxQjjY/verify \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "verificationCode": "1111"
-  }'

Required Fields

Field Type Description
verificationCode String The code on the user’s bank statement.

Example response payload

{
-  "verificationCode": "1111"
-}

Error Responses

Status Code Description
403 BANK_ACCOUNT_ALREADY_VERIFIED The bank account is already verified.
403 VERIFICATION_CODE_INVALID The verification code is incorrect.
403 BANK_ACCOUNT_VERIFICATION_ATTEMPTS_EXCEEDED The bank account’s maximum failed verification attempts has been reached.
403 ACCOUNT_MISMATCH The top up / withdrawal and the bank account do not belong to the same account.

Verify a Bank Authority DEPRECATED

If you’re creating new interfaces, please work with our verify endpoint for Bank Accounts.

POST /api/bank-authorities/{bankAccountId}/verify

curl -X POST https://service.centrapay.com/api/bank-authorities/WRhAxxWpTKb5U7pXyxQjjY/verify \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "verificationCode": "1111"
-  }'

Required Fields

Field Type Description
verificationCode String The code on the user’s bank statement

Example response payload

{
-  "verificationCode": "1111"
-}

Example response payload

{
-  "id": "WRhAxxWpTKb5U7pXyxQjjY",
-  "accountId": "Jaim1Cu1Q55uooxSens6yk",
-  "bankAccountNumber": "12-1234-1234567-123",
-  "bankAccountName": "John Doe",
-  "status": "created",
-  "directDebitAuthorized": true,
-  "verified": false,
-  "createdAt": "2020-06-12T01:17:46.499Z",
-  "createdBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "modifiedAt": "2020-06-12T01:17:46.499Z",
-  "modifiedBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "approvals": [
-
-  ]
-}

List Bank Accounts

GET /api/accounts/{accountId}/bank-accounts

curl https://service.centrapay.com/api/accounts/Jaim1Cu1Q55uooxSens6yk/bank-accounts \
-  -H "X-Api-Key: $api_key"

Example response payload

[
-  {
-    "id": "XZbPLViMzekVBbF7QMqgaY",
-    "accountId": "Jaim1Cu1Q55uooxSens6yk",
-    "status": "created",
-    "bankAccountNumber": "02-0500-0568903-097",
-    "bankAccountName": "Pocket Money",
-    "directDebitAuthorized": false,
-    "bankRegion": "nz",
-    "createdBy": "crn::user:57142ecc-e5e4-456a-8312-1fad4fdef3c7",
-    "createdAt": "2022-04-19T05:43:40.425Z",
-    "verified": false,
-    "modifiedBy": "crn::user:57142ecc-e5e4-456a-8312-1fad4fdef3c7",
-    "modifiedAt": "2022-04-19T05:43:40.425Z",
-    "approvals": [
-
-    ],
-    "type": "quartz",
-    "test": true
-  },
-  {
-    "id": "3Kfdm8cuW1W6f8AoWJREs4",
-    "accountId": "Jaim1Cu1Q55uooxSens6yk",
-    "status": "created",
-    "bankAccountNumber": "00-1213-1231299-999",
-    "bankAccountName": "Jean",
-    "directDebitAuthorized": false,
-    "bankRegion": "nz",
-    "createdBy": "crn::user:57142ecc-e5e4-456a-8312-1fad4fdef3c7",
-    "createdAt": "2022-02-22T03:27:57.138Z",
-    "verified": false,
-    "modifiedBy": "crn::user:57142ecc-e5e4-456a-8312-1fad4fdef3c7",
-    "modifiedAt": "2022-02-22T03:27:57.138Z",
-    "approvals": [
-      {
-        "type": "settlement",
-        "status": "pending",
-        "updatedAt": "2021-11-08T21:52:39.915Z"
-      }
-    ],
-    "type": "centrapay"
-  }
-]

List Bank Authorities DEPRECATED

If you’re creating new interfaces, please work with our list endpoint for Bank Accounts.

GET /api/bank-authorities

curl https://service.centrapay.com/api/bank-authorities \
-  -H "X-Api-Key: $api_key"

Example response payload

[
-  {
-    "id": "WRhAxxWpTKb5U7pXyxQjjY",
-    "accountId": "Jaim1Cu1Q55uooxSens6yk",
-    "bankAccountNumber": "12-1234-1234567-123",
-    "bankAccountName": "John Doe",
-    "status": "created",
-    "verified": false,
-    "directDebitAuthorized": true,
-    "createdAt": "2020-06-12T01:17:46.499Z",
-    "approvals": [
-
-    ]
-  },
-  {
-    "id": "b5URhAxxWpTKyxQjjY7pXW",
-    "accountId": "Jaim1Cu1Q55uooxSens6yk",
-    "bankAccountNumber": "12-1234-1234567-123",
-    "bankAccountName": "Jane Doe",
-    "status": "active",
-    "verified": true,
-    "directDebitAuthorized": true,
-    "createdAt": "2020-06-12T01:17:46.499Z",
-    "approvals": [
-      {
-        "type": "settlement",
-        "status": "pending",
-        "updatedAt": "2021-11-08T21:52:39.915Z"
-      }
-    ]
-  }
-]

Creating a Bank Authority DEPRECATED

If you’re creating new interfaces, please work with our create endpoint for Bank Accounts.

Creating a Bank Authority both creates a new Bank Account and a direct debit authority.

By using this endpoint, the user accepts our Direct Debit terms and has authority to operate this account.

POST /api/bank-authorities

curl -X POST https://service.centrapay.com/api/bank-authorities \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "fullName": "John Doe",
-    "accountId": "Jaim1Cu1Q55uooxSens6yk",
-    "phoneNumber": "+64212345",
-    "directDebitAuthorized": true,
-    "emailAddress": "John.doe@email.com",
-    "bankAccountNumber": "12-1234-1234567-123",
-    "bankAccountName": "John Doe"
-  }'

Required Fields

Field Type Description
accountId String The id of the owning Centrapay Account.
fullName String The first and last name of the user
phoneNumber String The user’s phone number
emailAddress String The user’s email address
bankAccountNumber String The user’s bank account number
bankAccountName String The name on the bank account provided by the user

Example response payload

{
-  "id": "WRhAxxWpTKb5U7pXyxQjjY",
-  "accountId": "Jaim1Cu1Q55uooxSens6yk",
-  "bankAccountNumber": "12-1234-1234567-123",
-  "bankAccountName": "John Doe",
-  "status": "created",
-  "verified": false,
-  "directDebitAuthorized": true,
-  "createdAt": "2020-06-12T01:17:46.499Z",
-  "createdBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "modifiedAt": "2020-06-12T01:17:46.499Z",
-  "modifiedBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "approvals": [
-
-  ]
-}

Error Responses

Status Code Description
403 BANK_AUTHORITY_LIMIT_EXCEEDED The account already has the max amount of bank accounts.
403 BANK_AUTHORITIES_FOR_BANK_ACCOUNT_EXCEEDED There are already two bank accounts for the provided bank account number, which is the maximum allowed.

Get information about a Bank Authority DEPRECATED

If you’re creating new interfaces, please work with our get endpoint for Bank Accounts.

GET /api/bank-authorities/{bankAccountId}

curl https://service.centrapay.com/api/bank-authorities/WRhAxxWpTKb5U7pXyxQjjY \
-  -H "X-Api-Key: $api_key"

Example response payload

{
-  "id": "WRhAxxWpTKb5U7pXyxQjjY",
-  "accountId": "Jaim1Cu1Q55uooxSens6yk",
-  "bankAccountNumber": "12-1234-1234567-123",
-  "bankAccountName": "John Doe",
-  "status": "created",
-  "directDebitAuthorized": true,
-  "verified": false,
-  "createdAt": "2020-06-12T01:17:46.499Z",
-  "createdBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "modifiedAt": "2020-06-12T01:17:46.499Z",
-  "modifiedBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "approvals": [
-
-  ]
-}


diff --git a/api/batch-types/farmlands-external-asset.html b/api/batch-types/farmlands-external-asset.html deleted file mode 100644 index 29d52b3c5..000000000 --- a/api/batch-types/farmlands-external-asset.html +++ /dev/null @@ -1,100 +0,0 @@ - Farmlands External Asset Batch - Centrapay Docs Farmlands External Asset Batch | Centrapay Docs Link Search Menu Expand Document

Farmlands External Asset Batch

Loads Farmlands Card data into Centrapay as external assets.

Type Name farmlands-external-asset
File Format JSONL
Record Type Account

Contents

Models

Account

Exported Farmlands Account used for importing and updating of a Centrapay Asset.

Fields

Field Type Description
externalId String Id used for keeping imported Centrapay Asset up to date.
accountNumber String Farmlands account identifier attached to the Centrapay Asset.
availableBalance BigNumber Optional Current spendable balance of Centrapay Asset in cents. When not specified, defaults to 0.
contacts Array Optional Contact List for the imported Centrapay Asset. When empty all Contacts are removed.

Contact

Exported Farmlands Contact and Card information used for authentication, correspondence and payment.

Fields

Field Type Description
externalId String Id used for keeping imported Centrapay Contact details up to date.
name String Optional The full name used to address the individual.
mobile PhoneNumber Optional Mobile number used for authentication and correspondence, must start with +64.
email String Optional Email address used for authentication and correspondence.
primary Boolean Optional true if the Contact is the owner of the Farmlands Account.
cards Array Optional Card list used for payment for the authenticated subject. When empty all Cards are removed.

Card

Exported Farmlands Credit Card information used for importing and updating of a Patron Code.

Fields

Field Type Description
externalId String Optional Farmlands unique identifier for the card.
barcode BigNumber Unique 9 digit field to display in barcode format to pay by Patron Code.
status String Current state of the Card. Valid values are “active”, “inactive” and “archived”.
expiry Timestamp Payments will be accepted until this time.
farmlandsStatus String Optional Private field used in all Farmlands payment transaction notifications.

Example JSONL File

A complete batch example with all batch types included. For more legible examples please refer to Example Models.

{"externalId":"9b2ec6d1-c83b-496a-8e52-2989f23d9076","accountNumber":"012345678","availableBalance":"1000","contacts":[]}
-{"externalId":"d0d7e14d-4ce5-4f42-8a4c-d604a9609f66","accountNumber":"012345678","availableBalance":"1000"}
-{"externalId":"69d64d80-f9bd-4057-bc5b-1c55685d995b","accountNumber":"012345678","contacts":[{"externalId":"6e496c2a-1dae-4036-847d-c53bf6c6d410","name":"Road Runner","mobile":"+64221105598","email":"road@runner.net","primary":true,"cards":[{"externalId":"9b2ec6d1-c83b-496a-8e52-2989f23d9076","barcode":"976238759","status":"active","expiry":"2022-10-01T22:32:56.631Z"},{"externalId":"74e4f94c-8316-42e7-9aa1-eb1539528894","barcode":"957813964","status":"inactive","expiry":"2022-08-01T22:32:56.631Z"}]}]}
-{"externalId":"b5fde0e0-357c-4fda-a90f-fd857f2be999","accountNumber":"830578479","availableBalance":"12000","contacts":[{"externalId":"6e496c2a-1dae-4036-847d-c53bf6c6d410","name":"Road Runner","mobile":"+64221102598","email":"road@runner.net","primary":true,"cards":[{"externalId":"65e701c3-6973-4322-8fa6-4560a489417f","barcode":"458028560","status":"active","expiry":"2023-06-01T22:32:56.631Z"},{"externalId":"69d64d80-f9bd-4057-bc5b-1c55685d995b","barcode":"635570865","status":"inactive","farmlandsStatus":"Suspended by customer","expiry":"2022-04-01T22:32:56.631Z"}]},{"externalId":"6e4813e6-7a18-47ea-b92e-add36c8815ca","name":"Yosemite Sam","mobile":"+64220002598","email":"yosemite@runner.net","primary":false,"cards":[{"externalId":"74e4f94c-8316-42e7-9aa1-eb1539528894","barcode":"137628567","status":"active","expiry":"2022-04-01T22:32:56.631Z"}]},{"externalId":"82bdb041-ea79-448c-816f-77af8b6750b2","name":"Wile E. Coyote","mobile":"+64221102598","email":"while@e-cyote.net","primary":false,"cards":[{"externalId":"62904b86-b4cc-45a9-b3c9-287a00ae9ef5","barcode":"722798445","status":"active","expiry":"2022-04-01T22:32:56.631Z"}]}]}
-

Example Models

Centrapay matches previously created resources using externalId and records get created or updated based on these IDs. In some cases, fields may be omitted to only update some fields.

Warning: Below our records have newlines for legibility. When submitting a batch file you must only use newlines to separate records.

An example of a Centrapay Asset complete with availableBalance, contacts and cards.

{
-  "externalId": "b5fde0e0-357c-4fda-a90f-fd857f2be999",
-  "accountNumber": "830578479",
-  "availableBalance": "12000",
-  "contacts": [
-    {
-      "externalId": "6e496c2a-1dae-4036-847d-c53bf6c6d410",
-      "name": "Road Runner",
-      "mobile": "+64221102598",
-      "email": "road@runner.net",
-      "primary": true,
-      "cards": [
-        {
-          "externalId": "65e701c3-6973-4322-8fa6-4560a489417f",
-          "barcode": "458028560",
-          "status": "active",
-          "expiry": "2023-06-01T22:32:56.631Z"
-        },
-        {
-          "externalId": "69d64d80-f9bd-4057-bc5b-1c55685d995b",
-          "barcode": "635570865",
-          "status": "inactive",
-          "farmlandsStatus": "Suspended by customer",
-          "expiry": "2022-04-01T22:32:56.631Z"
-        }
-      ]
-    },
-    {
-      "externalId": "6e4813e6-7a18-47ea-b92e-add36c8815ca",
-      "name": "Yosemite Sam",
-      "mobile": "+64220002598",
-      "email": "yosemite@runner.net",
-      "primary": false,
-      "cards": [
-        {
-          "externalId": "74e4f94c-8316-42e7-9aa1-eb1539528894",
-          "barcode": "137628567",
-          "status": "active",
-          "expiry": "2022-04-01T22:32:56.631Z"
-        }
-      ]
-    },
-    {
-      "externalId": "82bdb041-ea79-448c-816f-77af8b6750b2",
-      "name": "Wile E. Coyote",
-      "mobile": "+64221102598",
-      "email": "while@e-cyote.net",
-      "primary": false,
-      "cards": [
-        {
-          "externalId": "62904b86-b4cc-45a9-b3c9-287a00ae9ef5",
-          "barcode": "722798445",
-          "status": "active",
-          "expiry": "2022-04-01T22:32:56.631Z"
-        }
-      ]
-    }
-  ]
-}

Update the availableBalance on an account and remove all contacts associated with it. Note, this renders the availableBalance un-spendable.

{
-  "externalId": "9b2ec6d1-c83b-496a-8e52-2989f23d9076",
-  "accountNumber": "012345678",
-  "availableBalance": "1000",
-  "contacts": [
-
-  ]
-}

Update the availableBalance on an account.

{
-  "externalId": "d0d7e14d-4ce5-4f42-8a4c-d604a9609f66",
-  "accountNumber": "012345678",
-  "availableBalance": "1000"
-}

Update the contact list for an account. Use this where you want to exclude availableBalance.

{
-  "externalId": "69d64d80-f9bd-4057-bc5b-1c55685d995b",
-  "accountNumber": "012345678",
-  "contacts": [
-    {
-      "externalId": "6e496c2a-1dae-4036-847d-c53bf6c6d410",
-      "name": "Road Runner",
-      "mobile": "+64221105598",
-      "email": "road@runner.net",
-      "primary": true,
-      "cards": [
-        {
-          "externalId": "9b2ec6d1-c83b-496a-8e52-2989f23d9076",
-          "barcode": "976238759",
-          "status": "active",
-          "expiry": "2022-10-01T22:32:56.631Z"
-        },
-        {
-          "externalId": "74e4f94c-8316-42e7-9aa1-eb1539528894",
-          "barcode": "957813964",
-          "status": "inactive",
-          "expiry": "2022-08-01T22:32:56.631Z"
-        }
-      ]
-    }
-  ]
-}


diff --git a/api/batch-types/farmlands.html b/api/batch-types/farmlands.html deleted file mode 100644 index b2feedb6f..000000000 --- a/api/batch-types/farmlands.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - Redirecting… - - - - -

Redirecting…

- Click here if you are not redirected. - diff --git a/api/batch-types/verifone-terminal-status.html b/api/batch-types/verifone-terminal-status.html deleted file mode 100644 index 8e7a12767..000000000 --- a/api/batch-types/verifone-terminal-status.html +++ /dev/null @@ -1,19 +0,0 @@ - Verifone Terminal Status Batch - Centrapay Docs Verifone Terminal Status Batch | Centrapay Docs Link Search Menu Expand Document

Verifone Terminal Status Batch

Performs a bulk update to the current status for connected Verifone NZ payment terminals.

See the Batch resource for how to submit an instance of this batch.

Type Name verifone-terminal-status
File Format JSONL
Record Type Terminal Status

Contents

Models

Terminal Status

Fields

Field Type Description
status String Current terminal status: “active” or “inactive”.
statusMessage String Reason for status. Eg: “config update required”.
terminalId String Logical terminal id. Eg: “325-136-329”.
deviceId String Optional Hardware serial number. Eg: “T404395000002”.
merchantId String Optional Centrapay Merchant id.
merchantConfigId String Optional Centrapay Merchant Config id.
merchantName String Optional Name of merchant. Eg: “Centra Café”.
description String Optional Description of the device. Eg “Front Till”
model String Optional Hardware model. Eg: “VX820”.
firstSeen Timestamp Optional Date when terminal status was first observed.
lastSeen Timestamp Optional Date when terminal status was last observed.
configVersion String Optional Version of loaded terminal configuration. Eg: “20220214.1”.
configUpdatedAt Timestamp Optional Date when terminal configuration was loaded.
softwareVersion String Optional Version of terminal software. Eg: “1.7.134”.
softwareUpdatedAt Timestamp Optional Date when terminal software was updated.

Example JSONL File

A complete JSONL batch file example. For more legible examples refer to the pretty printed example below.

{"merchantId":"06baa0708ee0e000696","merchantConfigId":"baa09e8158300063fc","merchantName":"Centra Café","description":"Till #1","model":"VX820","terminalId":"325-136-331","deviceId":"T404395000004","status":"inactive","statusMessage":"update required","firstSeen":"2020-01-14T09:00:00Z","lastSeen":"2022-03-14T09:00:00Z","configVersion": 20210914.1,"configUpdatedAt":"2021-09-15 09:00:00 UTC","softwareVersion":"1.7.134","softwareUpdatedAt":"2021-11-14 09:00:00 UTC"}
-{"merchantId":"06baa0708ee0e000696","merchantConfigId":"baa09e8158300063fc","merchantName":"Centra Café","description":"Till #2","model":"VX820","terminalId":"325-136-329","deviceId":"T404395000002","status":"active","statusMessage":"ok","firstSeen":"2020-01-14T09:00:00Z","lastSeen":"2022-03-14T09:00:00Z","configVersion": 20220214.1,"configUpdatedAt":"2022-02-14 09:00:00 UTC","softwareVersion":"1.7.134","softwareUpdatedAt":"2021-11-14 09:00:00 UTC"}
-

Pretty Printed Example

Warning: Below our records have newlines for legibility. When submitting a batch file you must only use newlines to separate records.

{
-  "merchantId": "06baa0708ee0e000696",
-  "merchantConfigId": "baa09e8158300063fc",
-  "merchantName": "Centra Café",
-  "description": "Till #2",
-  "model": "VX820",
-  "terminalId": "325-136-329",
-  "deviceId": "T404395000002",
-  "status": "active",
-  "statusMessage": "incompatible hardware",
-  "firstSeen": "2020-01-14T09:00:00Z",
-  "lastSeen": "2022-03-14T09:00:00Z",
-  "configVersion": 20220214.1,
-  "configUpdatedAt": "2022-02-14 09:00:00 UTC",
-  "softwareVersion": "1.7.134",
-  "softwareUpdatedAt": "2021-11-14 09:00:00 UTC"
-}


diff --git a/api/batches.html b/api/batches.html deleted file mode 100644 index 944d39360..000000000 --- a/api/batches.html +++ /dev/null @@ -1,38 +0,0 @@ - Batches - Centrapay Docs Batches | Centrapay Docs Link Search Menu Expand Document

Batches

Batches enable bulk loading of resource onto the Centrapay platform.

Contents

Models

Batch

The batch model represents the progression for loading of a file.

Fields

Field Type Description
id String The Batch’s unique identifier.
status String The current Lifecycle Stage of the batch.
type String Batch Type id used to describe the batch content.
totalCount BigNumber The number of items processed.
errorCount BigNumber Total Error counted.
errors Array Error list for the batch.
test Boolean Optional true if the batch is for testing purposes only.

Batch Lifecycle

Different stages of a Batch’s lifecycle.

Status Description
created The batch has successfully been submitted.
copied The file has been transferred to Centrapay.
chunked The batch has been broken up for processing.
complete The batch has been processed and may include errors.
error There is an error accessing or reading the file, preventing processing.

Batch Types

The following table describes the Batch Types supported for loading.

Type Description
farmlands-external-asset Farmlands External Asset Batch.
verifone-terminal-status Verifone Terminal Status Batch.

Error

An Error represents the complete or partial failure of the batch. This could be caused by the contents, access or file format.

Fields

Field Type Description
message String A description of what caused the Error.
externalId String Optional Field used in debugging in reference to an id from the file.
index BigNumber Optional Item offset where the Error was identified in the file.

Operations

Create Batch EXPERIMENTAL

Initialize loading of entities from a batch file.

POST /api/batches

curl -X POST https://service.centrapay.com/api/batches \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "type": "farmlands-external-asset",
-    "url": "https://azurebuckets.com/1234",
-    "accountId": "C4QnjXvj8At6SMsEN4LRi9",
-    "test": true
-  }'

Fields

Field Type Description
type String Batch Type used to describe the batch content.
url String The url where the file is located.
accountId String Centrapay Account Id that submitted the Batch.
test Boolean Optional true if the batch is for testing purposes only.

Example Response Payload

{
-  "id": "AVH5uG4gRLYK6YR8JyrViN",
-  "accountId": "1mdj7bj95gjo92r0ux6wfy69gj3h77",
-  "status": "created",
-  "type": "farmlands-external-asset",
-  "url": "https://azurebuckets.com/1234",
-  "test": true,
-  "count": "0",
-  "errorCount": "0",
-  "errors": [
-
-  ]
-}

Error Responses

Status Code Description
403 LIVENESS_MISSMATCH accountId “test” flag is not the same as submitted Batch’s “test” flag.

Get Batch EXPERIMENTAL

GET /api/batches/{id}

curl https://service.centrapay.com/api/batches/AVH5uG4gRLYK6YR8JyrViN \
-  -H "X-Api-Key: $api_key"

Example Response Payload

{
-  "id": "AVH5uG4gRLYK6YR8JyrViN",
-  "accountId": "1mdj7bj95gjo92r0ux6wfy69gj3h77",
-  "status": "complete",
-  "type": "farmlands-external-asset",
-  "url": "https://azurebuckets.com/1234",
-  "test": true,
-  "count": "160000",
-  "errorCount": "1",
-  "errors": [
-    {
-      "externalId": "69d64d80-f9bd-4057-bc5b-1c55685d995b",
-      "index": "1954",
-      "message": "INVALID_BARCODE_LENGTH"
-    }
-  ]
-}


diff --git a/api/businesses.html b/api/businesses.html deleted file mode 100644 index aa2cc930f..000000000 --- a/api/businesses.html +++ /dev/null @@ -1,117 +0,0 @@ - Businesses - Centrapay Docs Businesses | Centrapay Docs Link Search Menu Expand Document

Businesses

A Business represents a company registered with the New Zealand Companies Office.

A Business is associated with a single Account.

Contents

Models

Business

Field Type Description
id String The unique identifier.
accountId String The Centrapay accountId for an org account.
accountName String The Centrapay account name for an org account.
test Boolean A flag which is present if the Account is test
nzbn String The unique NZBN identifier.
name String Legal name recorded in the Companies Register.
tradingName String Trading name recorded in the Companies Register.
companyNumber String Company number recorded in the Companies Register.
createdAt Timestamp When the Business was created.
updatedAt Timestamp When the Business was updated.
createdBy CRN The User or API Key that created the Business.
updatedBy CRN The User or API Key that updated the Business.
taxNumber Tax Number Optional The value-added tax configuration for the Business.
onboardingStatus String The onboarding status of the Business. See Onboarding Statuses for possible values.
onboardingStatusReason String The reason associated with the Onboarding Status. See Onboarding Status Reasons for possible values.

Tax Number

Field Type Description
value String The tax number.
type String Type of value-added tax. Can be nz-gst.

Onboarding Statuses

Status Description Allowed Reasons
applied Identifies businesses that have registered to be activated for the Centrapay service.  
provisioning Identifies businesses that are in the process of being activated for the Centrapay service.  
active Identifies businesses that have been activated for Centrapay services successfully (i.e. they have successfully created a Payment Request).  
deactivated Identifies businesses that have been de-registered for the Centrapay service. data-quality-issues,change-of-ownership, centrapay-discontinued, duplicate, blocked
on-hold Identifies businesses that have been placed on hold. seasonal-business-closure, no-response

Onboarding Status Reasons

Reason Description
duplicate The business already exists in the Centrapay system.
data-quality-issues Data quality issues are preventing the business from onboarding.
no-response No response has been received from the business.
change-of-ownership The business has changed ownership.
centrapay-discontinued The business is no longer using Centrapay.
seasonal-business-closure The business has closed temporarily.

Operations

Create a Business EXPERIMENTAL

If accountId is not provided when creating a business, then a new org account will be created and associated to the business.

POST /api/businesses

curl -X POST https://service.centrapay.com/api/businesses \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "nzbn": "9429046246448",
-    "taxNumber": {
-      "value": "123-456-789",
-      "type": "nz-gst"
-    }
-  }'

Required Fields

Field Type Description
nzbn String The unique NZBN identifier.

Optional Fields

Field Type Description
accountId String The Centrapay accountId.
test String The created Centrapay org account will have the test flag.
taxNumber Tax Number The value-added tax configuration.

Example response payload

{
-  "id": "DKTs3U38hdhfEqwF1JKoT2",
-  "accountId": "Jaim1Cu1Q55uooxSens6yk",
-  "accountName": "Centrapay",
-  "nzbn": "9429046246448",
-  "name": "CENTRAPAY LIMITED",
-  "tradingName": "CentraPay",
-  "companyNumber": "6340244",
-  "createdAt": "2020-06-12T01:17:46.499Z",
-  "updatedAt": "2020-06-12T01:17:46.499Z",
-  "createdBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "updatedBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "taxNumber": {
-    "value": "123-456-789",
-    "type": "nz-gst"
-  },
-  "onboardingStatus": "applied"
-}

Error Responses

Status Code Description
403 INVALID_ACCOUNT Account does not exist, is not authorized, is of the wrong type, or is not in the NZ region.
403 INVALID_NZBN The NZBN provided does not match any NZ business.

Update a Business EXPERIMENTAL

PUT /api/businesses/{businessId}

curl -X PUT https://service.centrapay.com/api/businesses/DKTs3U38hdhfEqwF1JKoT2 \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "taxNumber": {
-      "value": "123-456-789",
-      "type": "nz-gst"
-    },
-    "farmlandsBusinessNumber": "12345678"
-  }'

Optional Fields

Field Type Description
taxNumber Tax Number The value-added tax configuration.
farmlandsBusinessNumber String The number associated with your Farmlands business.

Example response payload

{
-  "id": "DKTs3U38hdhfEqwF1JKoT2",
-  "accountId": "Jaim1Cu1Q55uooxSens6yk",
-  "accountName": "Centrapay",
-  "nzbn": "9429046246448",
-  "name": "CENTRAPAY LIMITED",
-  "tradingName": "CentraPay",
-  "companyNumber": "6340244",
-  "createdAt": "2020-06-12T01:17:46.499Z",
-  "updatedAt": "2020-06-12T01:17:46.499Z",
-  "createdBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "updatedBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "taxNumber": {
-    "value": "123-456-789",
-    "type": "nz-gst"
-  },
-  "farmlandsBusinessNumber": "12345678",
-  "onboardingStatus": "applied"
-}

Error Responses

Status Code Description
403 INVALID_ACCOUNT Account does not exist, is not authorized, is of the wrong type, or is not in the NZ region.
403 INVALID_NZBN The NZBN provided does not match any NZ business.

Get a Business by Account id EXPERIMENTAL

GET /api/accounts/{accountId}/business

curl https://service.centrapay.com/api/accounts/Jaim1Cu1Q55uooxSens6yk/business \
-  -H "X-Api-Key: $api_key"

Example response payload

{
-  "id": "DKTs3U38hdhfEqwF1JKoT2",
-  "accountId": "Jaim1Cu1Q55uooxSens6yk",
-  "accountName": "Centrapay",
-  "nzbn": "9429046246448",
-  "name": "CENTRAPAY LIMITED",
-  "tradingName": "CentraPay",
-  "companyNumber": "6340244",
-  "createdAt": "2020-06-12T01:17:46.499Z",
-  "updatedAt": "2020-06-12T01:17:46.499Z",
-  "createdBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "updatedBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey"
-}

Search NZ Company Register EXPERIMENTAL

Returns a list of companies that match the queried param on company name, nzbn number or company number. Results are paginated and ordered by relevance.

GET /api/nzbn-search

curl -G https://service.centrapay.com/api/nzbn-search \
-  -H "X-Api-Key: $api_key" \
-  -d q=centrapay

Query Parameters

Parameter Description
q Company name, number or NZBN to search for.

Example response payload

{
-  "items": [
-    {
-      "nzbn": "9429046246448",
-      "companyName": "CENTRAPAY LIMITED",
-      "companyNumber": "6340244"
-    }
-  ]
-}

Get Business Details from NZ Company Register EXPERIMENTAL

GET /api/nzbn/{nzbn}

curl https://service.centrapay.com/api/nzbn/9429046246448 \
-  -H "X-Api-Key: $api_key"

Example response payload

{
-  "nzbn": "9429046246448",
-  "companyName": "CENTRAPAY LIMITED",
-  "tradingName": "CentraPay",
-  "companyNumber": "6340244",
-  "directors": [
-    {
-      "firstName": "John",
-      "lastName": "DOE",
-      "addressLines": [
-        "7 Tara Street",
-        "Downmore",
-        "Auckland"
-      ]
-    },
-    {
-      "firstName": "Jane",
-      "lastName": "DOE",
-      "addressLines": [
-        "82 Greatwood Road",
-        "Northclover",
-        "Auckland"
-      ]
-    }
-  ]
-}

Set Business Onboarding Status

POST /api/businesses/{businessId}/set-onboarding-status

curl -X POST https://service.centrapay.com/api/businesses/DKTs3U38hdhfEqwF1JKoT2/set-onboarding-status \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "onboardingStatus": "deactivated",
-    "onboardingStatusReason": "change-of-ownership"
-  }'

Example response payload

{
-  "type": "set-onboarding-status",
-  "onboardingStatus": "deactivated",
-  "onboardingStatusReason": "change-of-ownership",
-  "businessId": "DKTs3U38hdhfEqwF1JKoT2",
-  "createdAt": "2020-06-12T01:17:46.499Z",
-  "createdBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "activityNumber": 2
-}


diff --git a/api/data-types.html b/api/data-types.html deleted file mode 100644 index bc9842995..000000000 --- a/api/data-types.html +++ /dev/null @@ -1 +0,0 @@ - Data Types - Centrapay Docs Data Types | Centrapay Docs Link Search Menu Expand Document

Data Types

Timestamp

A point in time, usually with millisecond precision, represented as an ISO 8601 date string (eg “2021-06-11T02:51:11.000Z”). Timestamps are in the UTC timezone as denoted by the “Z” suffix.

BigNumber

A number, represented as a String, which can have arbitrary size or precision. Most Centrapay APIs that deal with transactable value (ie. assets, payments, etc) represent the value as BigNumbers. Depending on the context, a BigNumber may be used to represent an integer or a decimal amount.

Monetary

A monetary amount in a currency, represented as an Object. The amount is usually an integer in the smallest denomination for the currency (ie cents) but may be a decimal value for some currencies (eg Bitcoin). The currency is typically represented as an ISO 4217 code.

Fields

Name Type Description
amount BigNumber Value in the currency’s smallest denomination (eg. cents).
currency String Currency code (eg. “NZD”).

CRN

A Centrapay Resource Name (CRN) is a colon-delimited String that uniquely identifies any Centrapay resource.

The format is crn:{account}:{type}:{id} where “account” is the optional Centrapay account that owns the resource, “type” is the resource type, and “id” is the resource identifier.

CRN is often used to refer to Users and API keys. For example:

  • User: crn::user:e2837e88-d408-11eb-8eac-3e22fb52e878
  • API Key: crn:1234abc:api-key:MyAccountOwner

Location

A location’s represented as an Object with properties to denote the location both absolute and by locality.

Required Fields

Name Type Description
street String Unit, number, and name of street address
city String City of location
country String ISO 3166 Country code. (eg. “NZ”)

Optional Fields

Name Type Description
lat Number Absolute latitude coordinate. If you don’t provide this, we will automatically infer this from your address.
lng Number Absolute longitude coordinate. If you don’t provide this, we will automatically infer this from your address.
suburb String Suburb of location
postCode String Post or Zip code of location
state String The state or region of the location (eg. “Auckland”)

PhoneNumber

A phone number, represented in E.123 international notation (eg “+6421537663”). We usually use this for receiving text messages.


diff --git a/api/discrete-assets.html b/api/discrete-assets.html deleted file mode 100644 index f68988fd3..000000000 --- a/api/discrete-assets.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - Redirecting… - - - - -

Redirecting…

- Click here if you are not redirected. - diff --git a/api/external-assets.html b/api/external-assets.html deleted file mode 100644 index 2b024eddf..000000000 --- a/api/external-assets.html +++ /dev/null @@ -1,27 +0,0 @@ - External Assets - Centrapay Docs External Assets | Centrapay Docs Link Search Menu Expand Document

External Assets

External assets are Assets which are issued by a third-party.

Contents

Load an External Asset

Load an asset from a supported third-party issuer. Asset details will be obtained from the issuer.

POST /api/external-assets

curl -X POST https://service.centrapay.com/api/external-assets \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "accountId": "Jaim1Cu1Q55uooxSens6yk",
-    "category": "giftcard",
-    "type": "epay.nzd.test",
-    "issuer": "ezipay",
-    "externalId": "23403321042",
-    "pin": "3771"
-  }'

Required Fields

Parameter Type Description
accountId String The Centrapay account which will own the asset.
category String The category an asset will be grouped by. Valid values: “giftcard”.
type String The Centrapay ledger corresponding to the asset. Valid values: “epay.nzd.main”, “epay.nzd.test”.
issuer String The asset issuer. Valid values: “ezipay”.
externalId String The issuer’s asset id such as card number.

Optional Parameters

Parameter Type Description
pin String Additional secret required by the issuer for loading or redeeming the asset.
description String Description of the asset, eg: “$60 Acme Giftcard”.

Example response payload

{
-  "id": "L75M3L56N2PtBSt8g7uXLU",
-  "category": "giftcard",
-  "type": "epay.nzd.main",
-  "accountId": "Te2uDM7xhDLWGVJU3nzwnh",
-  "issuer": "ezipay",
-  "externalId": "************60119",
-  "description": "$60 Acme Giftcard",
-  "productCode": "23403",
-  "currency": "NZD",
-  "initialBalance": "7000",
-  "balance": "6000",
-  "availableBalance": "6000",
-  "balanceUpdatedAt": "2020-06-10T15:30:00.000Z",
-  "expiresAt": "2020-12-31T00:00:00.000Z",
-  "createdAt": "2020-05-01T12:30:00.000Z"
-}

Error Responses

Status Code Description
403 UNKNOWN_ASSET Asset id or PIN is incorrect.
403 DUPLICATE_ASSET Asset already claimed by another account.
403 UNSUPPORTED_ASSET_TYPE Unsupported asset type, origin, or issuer.
403 DENIED_BY_ASSET_PROVIDER Asset exists, but is not enabled for use through centrapay.
403 EXPIRED_BY_ASSET_PROVIDER Asset exists, but it’s expired.

diff --git a/api/funds-transfers.html b/api/funds-transfers.html deleted file mode 100644 index 6457ff77a..000000000 --- a/api/funds-transfers.html +++ /dev/null @@ -1,133 +0,0 @@ - Funds Transfers - Centrapay Docs Funds Transfers | Centrapay Docs Link Search Menu Expand Document

Funds Transfers

A funds transfer represents either a top up to or a withdrawal from a Centrapay wallet. Topping up a wallet consists of making a bank transfer from the user’s bank account to Centrapay. Once Centrapay has verified the transfer was successful a user will be given credit on their Centrapay wallet equal to the amount of the bank transfer.

Contents

Creating a top up

POST /api/topups

curl -X POST https://service.centrapay.com/api/topups \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "amount": "10000",
-    "assetId": "Te2uDM7xhDLWGVJU3nzwnh",
-    "bankAccountId": "FRhAzzWpTKb5U7pZygQjjY"
-  }'

Required Fields

Field Type Description
amount BigNumber Total amount of the transaction in cents
assetId String The id of the asset
bankAccountId String The id of the bank account

Example response payload

{
-  "id": "hg2RfYTQ635tPBZEPJdCre",
-  "assetId": "Te2uDM7xhDLWGVJU3nzwnh",
-  "bankAccountId": "FRhAzzWpTKb5U7pZygQjjY",
-  "accountId": "aBc932S9182qwCDqwer",
-  "type": "topup",
-  "amount": "10000",
-  "status": "created",
-  "createdAt": "2020-05-01T12:30:00.000Z",
-  "updatedAt": "2020-05-01T12:30:00.000Z"
-}

Error Responses

Status Code Description
403 BANK_AUTHORITY_WALLET_MISMATCH The wallet and the bank account for the top up request do not belong to the same account.
403 MAX_INFLIGHT_TOPUPS_EXCEEDED The bank account already has ten pending top ups, which is the maximum a bank authority can have at any one time.
403 MAX_INFLIGHT_TOPUP_AMOUNT_EXCEEDED The top up can not be created because it is above the max amount of funds a bank account can have pending at any one time. The max amount is $1000.00 for verified bank accounts and $100.00 for non-verified bank accounts.
403 QUOTA_EXCEEDED The topup exceeds one or more top up quota limits. See Quota Error Response.
403 DIRECT_DEBIT_NOT_AUTHORIZED Bank account requires authorization for top up. See bank accounts direct debit endpoint.
403 INVALID_WALLET_TYPE The wallet type does not support top ups. See settlement wallets.
403 BANK_ACCOUNT_TYPE_NOT_CONFIGURED_FOR_TOPUP The bank account type is not configured for topups. Only centrapay type bank accounts are configured.

Get a top up

GET /api/topups/{topupId}

curl https://service.centrapay.com/api/topups/WRhAxxWpTKb5U7pXyxQjjY \
-  -H "X-Api-Key: $api_key"

Example response payload

{
-  "id": "hg2RfYTQ635tPBZEPJdCre",
-  "assetId": "Te2uDM7xhDLWGVJU3nzwnh",
-  "bankAccountId": "FRhAzzWpTKb5U7pZygQjjY",
-  "accountId": "aBc932S9182qwCDqwer",
-  "type": "topup",
-  "amount": "10000",
-  "status": "created",
-  "createdAt": "2020-05-01T12:30:00.000Z",
-  "updatedAt": "2020-05-01T12:30:00.000Z"
-}

List top ups for authorized accounts

GET /api/topups

curl https://service.centrapay.com/api/topups \
-  -H "X-Api-Key: $api_key"

Example response payload

[
-  {
-    "id": "5thg2RPBZEfYTPJdQ63Cre",
-    "assetId": "Te2uDM7xhDLWGVJU3nzwnh",
-    "bankAccountId": "FRhAzzWpTKb5U7pZygQjjY",
-    "accountId": "aBc932S9182qwCDqwer",
-    "type": "topup",
-    "amount": "10000",
-    "status": "created",
-    "createdAt": "2020-05-01T12:30:00.000Z",
-    "updatedAt": "2020-05-01T12:30:00.000Z"
-  },
-  {
-    "id": "hg2RfYTQ635tPBZEPJdCre",
-    "assetId": "Te2uDM7xhDLWGVJU3nzwnh",
-    "bankAccountId": "FRhAzzWpTKb5U7pZygQjjY",
-    "accountId": "aBc932S9182qwCDqwer",
-    "type": "topup",
-    "amount": "10000",
-    "status": "created",
-    "createdAt": "2020-05-01T12:30:00.000Z",
-    "updatedAt": "2020-05-01T12:30:00.000Z"
-  }
-]

List top ups for an account EXPERIMENTAL

GET /api/accounts/{accountId}/topups

curl https://service.centrapay.com/api/accounts/aBc932S9182qwCDqwer/topups \
-  -H "X-Api-Key: $api_key"

Example response payload

[
-  {
-    "id": "5thg2RPBZEfYTPJdQ63Cre",
-    "assetId": "Te2uDM7xhDLWGVJU3nzwnh",
-    "bankAccountId": "FRhAzzWpTKb5U7pZygQjjY",
-    "accountId": "aBc932S9182qwCDqwer",
-    "type": "topup",
-    "amount": "10000",
-    "status": "created",
-    "createdAt": "2020-05-01T12:30:00.000Z",
-    "updatedAt": "2020-05-01T12:30:00.000Z"
-  },
-  {
-    "id": "hg2RfYTQ635tPBZEPJdCre",
-    "assetId": "Te2uDM7xhDLWGVJU3nzwnh",
-    "bankAccountId": "FRhAzzWpTKb5U7pZygQjjY",
-    "accountId": "aBc932S9182qwCDqwer",
-    "type": "topup",
-    "amount": "10000",
-    "status": "created",
-    "createdAt": "2020-05-01T12:30:00.000Z",
-    "updatedAt": "2020-05-01T12:30:00.000Z"
-  }
-]

Creating a Withdrawal EXPERIMENTAL

POST /api/withdrawals

curl -X POST https://service.centrapay.com/api/withdrawals \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "amount": "10000",
-    "assetId": "Te2uDM7xhDLWGVJU3nzwnh",
-    "bankAccountId": "FRhAzzWpTKb5U7pZygQjjY"
-  }'

Required Fields

Field Type Description
amount BigNumber Total amount of the transaction in cents
assetId String The id of the asset
bankAccountId String The id of the bank account

Example response payload

{
-  "id": "hg2RfYTQ635tPBZEPJdCre",
-  "assetId": "Te2uDM7xhDLWGVJU3nzwnh",
-  "bankAccountId": "FRhAzzWpTKb5U7pZygQjjY",
-  "accountId": "aBc932S9182qwCDqwer",
-  "type": "withdrawal",
-  "amount": "10000",
-  "status": "created",
-  "createdAt": "2020-05-01T12:30:00.000Z",
-  "updatedAt": "2020-05-01T12:30:00.000Z"
-}

Error Responses

Status Code Description
403 BANK_AUTHORITY_WALLET_MISMATCH The wallet and the bank account for the withdrawal request do not belong to the same account.
403 INSUFFICIENT_WALLET_BALANCE The wallet balance is less than the required amount.
403 INVALID_WALLET_TYPE The wallet type does not support withdrawals. See settlement wallets.
403 BANK_ACCOUNT_TYPE_NOT_CONFIGURED_FOR_WITHDRAWAL The bank account type is not configured for withdrawals. Only centrapay type bank accounts are configured.

Get a Withdrawal EXPERIMENTAL

GET /api/withdrawals/{withdrawalId}

curl https://service.centrapay.com/api/withdrawals/WRhAxxWpTKb5U7pXyxQjjY \
-  -H "X-Api-Key: $api_key"

Example response payload

{
-  "id": "hg2RfYTQ635tPBZEPJdCre",
-  "assetId": "Te2uDM7xhDLWGVJU3nzwnh",
-  "bankAccountId": "FRhAzzWpTKb5U7pZygQjjY",
-  "accountId": "aBc932S9182qwCDqwer",
-  "type": "withdrawal",
-  "amount": "10000",
-  "status": "created",
-  "createdAt": "2020-05-01T12:30:00.000Z",
-  "updatedAt": "2020-05-01T12:30:00.000Z"
-}

List Withdrawals for an account EXPERIMENTAL

Returns a paginated list of Withdrawals for an account.

GET /api/accounts/{accountId}/withdrawals

curl https://service.centrapay.com/api/accounts/aBc932S9182qwCDqwer/withdrawals \
-  -H "X-Api-Key: $api_key"

Example response payload

{
-  "items": [
-    {
-      "id": "5thg2RPBZEfYTPJdQ63Cre",
-      "assetId": "Te2uDM7xhDLWGVJU3nzwnh",
-      "bankAccountId": "FRhAzzWpTKb5U7pZygQjjY",
-      "accountId": "aBc932S9182qwCDqwer",
-      "type": "withdrawal",
-      "amount": "10000",
-      "status": "created",
-      "createdAt": "2020-05-01T12:30:00.000Z",
-      "updatedAt": "2020-05-01T12:30:00.000Z"
-    },
-    {
-      "id": "hg2RfYTQ635tPBZEPJdCre",
-      "assetId": "Te2uDM7xhDLWGVJU3nzwnh",
-      "bankAccountId": "FRhAzzWpTKb5U7pZygQjjY",
-      "accountId": "aBc932S9182qwCDqwer",
-      "type": "withdrawal",
-      "amount": "10000",
-      "status": "done",
-      "createdAt": "2020-05-01T12:30:00.000Z",
-      "updatedAt": "2020-05-01T12:30:00.000Z"
-    }
-  ]
-}

Abort Funds Transfer

POST /api/funds-transfers/{fundsTransferId}/abort

curl -X POST https://service.centrapay.com/api/funds-transfers/5thg2RPBZEfYTPJdQ63Cre/abort \
-  -H "X-Api-Key: $api_key"

Example response payload

{
-}

Error Responses

Status Code Description
403 ABORT_WITHDRAWAL_NOT_SUPPORTED Aborting funds transfers of type withdrawal is not supported.
403 FUNDS_TRANSFER_ALREADY_COMPLETE The funds transfer is already complete.

diff --git a/api/http-status-codes.html b/api/http-status-codes.html deleted file mode 100644 index b745e771a..000000000 --- a/api/http-status-codes.html +++ /dev/null @@ -1,24 +0,0 @@ - HTTP Status Codes - Centrapay Docs HTTP Status Codes | Centrapay Docs Link Search Menu Expand Document

HTTP Status Codes

Centrapay APIs respond with 200, 400, 401, 403, 404, or 429 HTTP status codes. In rare cases endpoints may respond with 5xx status codes.

Some legacy or deprecated endpoints may have exceptions to the guidelines documented here. Any such exceptions will be documented on the endpoints.

Contents

200 Ok

Everything’s ok. Enjoy your well formed response!

400 Malformed Request

This is a syntax failure. When you get these back, your application needs to change the way it behaves in order to get back the resource that you’re after.

Don’t try again, this is never going to work.

Example response body

{
-  "statusCode": 400,
-  "message": "amount is required"
-}

Debugging

  • Make sure you set “content-type: application/json”
  • The response body should indicate where the error is
  • Make sure your HTTP body fields are set correctly
  • Check your HTTP verb is correct (POST, PUT, GET etc.)
  • Check query parameters are set correctly
  • Check path parameters are set correctly

401 Unauthorized

API key or JWT is missing, expired or invalid. Go look at our Auth documentation.

Example response body

{
-  "statusCode": 401,
-  "error": "Unauthorized",
-  "message": "Missing authentication"
-}

403 Forbidden

A 403 status indicates resource missing, permission denied or business rule violation.

Resource missing or permission denied

Example response body

{
-  "statusCode": 403,
-  "error": "Forbidden",
-  "message": "Forbidden"
-}

Debugging

  • Check the resource id is correct
  • Check your user or API key has membership for the account that owns the resource you are accessing.
  • Check the role of your user or API key has permission (See Auth Permissions).

Business rule violated

When the resource exists and access is authorized but some other business rule is violated then a 403 is returned. Additional information will be included in the “message” field of the response body. The possible values for the “message” field will be documented on each endpoint.

Example response body

{
-  "statusCode": 403,
-  "error": "Forbidden",
-  "message": "INSUFFICIENT_BALANCE"
-}

404 Route Not Found

Variant on a 400, there’s a bug in your code that means you’ve got a typo in the URL or HTTP method. Please check against examples in our documentation.

Example response body

{
-  "statusCode": 404,
-  "error": "Not Found",
-  "message": "Not Found"
-}

429 Too Many Requests

Centrapay API rate limits have been exceeded.

Example response body

{
-  "statusCode": 429,
-  "error": "Too Many Requests",
-  "message": "RATE_LIMIT_EXCEEDED"
-}

Debugging

  • Check the Retry-After HTTP response header for the number of seconds before the next request will be accepted.
  • Contact integrations@centrapay.com to increase your limits.

5xx Server Error

If you get a 500 level error, something has gone wrong on our end. Retrying should solve the issue. Usually a Centrapay Engineer will investigate but bug reports are also welcome at integrations@centrapay.com.


diff --git a/api/integration-requests.html b/api/integration-requests.html deleted file mode 100644 index 40c12ac4f..000000000 --- a/api/integration-requests.html +++ /dev/null @@ -1,123 +0,0 @@ - Integration Requests - Centrapay Docs Integration Requests | Centrapay Docs Link Search Menu Expand Document

Integration Requests

An Integration Request allows Centrapay users to request the creation of an Integration on a Centrapay account.

Contents

Models

Integration Request

Mandatory Fields

Field Type Description
id String The Integration Request’s unique identifier.
accountId String The Integration Request’s owning Centrapay Account id.
merchantId String The Merchant id for the Integration Request.
type String The type of the Integration Request. Refer to Integration Types.
status String The current status of the Integration Request. Supported values are active, available, pending, rejected and disabled.

Optional Fields

Field Type Description
terminalId String The payment system terminal id. Required for NZ Epay integration.
terminal Terminal The terminal configuration. Required for all terminal vendors except Vista.
product Product The requested Epay gift card types to support.

Terminal

Required Fields

Field Type Description
terminalId String The software or logical id of the payment terminal.

Optional Fields

Field Type Description
deviceId String The hardware id or serial number of the payment terminal.

Product

Required Fields

Field Type Description
name String The name of the requested Epay product.

Integration Types

Name Description
verifone Terminal vendor Verifone
windcave Terminal vendor Windcave
epay Asset provider ePay
smartpay Terminal vendor smartpay
invenco Terminal vendor invenco
skyzer Terminal vendor skyzer
vista Terminal vendor vista

Operations

Create an Integration Request EXPERIMENTAL

POST /api/integration-requests

curl -X POST https://service.centrapay.com/api/integration-requests \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "merchantId": "5ee0c486308f590260d9a07f",
-    "type": "verifone",
-    "terminal": {
-      "terminalId": "002039390093939",
-      "deviceId": "002-039-390"
-    }
-  }'

curl -X POST https://service.centrapay.com/api/integration-requests \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "merchantId": "5ee0c486308f590260d9a07f",
-    "type": "epay",
-    "product": {
-      "name": "koha-card"
-    }
-  }'

Required Fields

Field Type Description
merchantId String The Merchant id for the Integration Request.
type String The type of the Integration Request.

Optional Fields

Field Type Description
terminal Terminal The terminal configuration. Required for Verifone and Windcave integration.
product Product The requested Epay gift card types to support.

Example response payload

{
-  "id": "DKTs3U38hdhfEqwF1JKoT2",
-  "accountId": "Jaim1Cu1Q55uooxSens6yk",
-  "merchantId": "5ee0c486308f590260d9a07f",
-  "type": "verifone",
-  "status": "pending",
-  "createdAt": "2020-06-12 01:17:46 UTC",
-  "updatedAt": "2020-06-12 01:17:46 UTC",
-  "createdBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "updatedBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "terminal": {
-    "terminalId": "002039390093939",
-    "deviceId": "002-039-390"
-  }
-}

{
-  "id": "DKTs3U38hdhfEqwF1JKoT2",
-  "accountId": "Jaim1Cu1Q55uooxSens6yk",
-  "merchantId": "5ee0c486308f590260d9a07f",
-  "type": "epay",
-  "status": "pending",
-  "createdAt": "2020-06-12 01:17:46 UTC",
-  "updatedAt": "2020-06-12 01:17:46 UTC",
-  "createdBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "updatedBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "product": {
-    "name": "koha-card"
-  }
-}

Get an Integration Request EXPERIMENTAL

GET /api/integration-requests/{integrationRequestId}

curl https://service.centrapay.com/api/integration-requests/DKTs3U38hdhfEqwF1JKoT2 \
-  -H "X-Api-Key: $api_key"

Example response payload

{
-  "id": "DKTs3U38hdhfEqwF1JKoT2",
-  "accountId": "Jaim1Cu1Q55uooxSens6yk",
-  "merchantId": "5ee0c486308f590260d9a07f",
-  "type": "epay",
-  "status": "pending",
-  "terminalId": "11000021",
-  "createdAt": "2020-06-12T01:17:46.499Z",
-  "updatedAt": "2020-06-12T01:17:46.499Z",
-  "createdBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "updatedBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "product": {
-    "name": "koha-card"
-  }
-}

Search Integration Requests EXPERIMENTAL

Returns a paginated list of Integration Requests.

GET /api/integration-requests

curl -G https://service.centrapay.com/api/integration-requests \
-  -H "X-Api-Key: $api_key" \
-  -d type=epay \
-  -d pending=true \
-  -d accountId=Jaim1Cu1Q55uooxSens6yk

Query Parameters

Parameter Description
accountId The Integration Request’s owning Centrapay Account id. Required unless caller has global read access permission.
type The type of Integration Request.
pending When set to true, only include Integration Requests with pending status.

Example response payload

{
-  "items": [
-    {
-      "id": "DKTs3U38hdhfEqwF1JKoT2",
-      "accountId": "Jaim1Cu1Q55uooxSens6yk",
-      "merchantId": "5ee0c486308f590260d9a07f",
-      "type": "epay",
-      "status": "pending",
-      "terminalId": "11000021",
-      "createdAt": "2020-06-12T01:17:46.499Z",
-      "updatedAt": "2020-06-12T01:17:46.499Z",
-      "createdBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-      "updatedBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-      "product": {
-        "name": "koha-card"
-      }
-    }
-  ]
-}

Configure Integration Request EXPERIMENTAL

Supply configuration values for the Integration Request.

PUT /api/integration-requests/{integrationRequestId}/configs

curl -X PUT https://service.centrapay.com/api/integration-requests/DKTs3U38hdhfEqwF1JKoT2/configs \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "terminalId": "11000021"
-  }'

Optional Fields

Field Type Description
terminalId String Epay terminalId for the Integration Request. Required if type is epay.

Example response payload

{
-  "id": "DKTs3U38hdhfEqwF1JKoT2",
-  "accountId": "Jaim1Cu1Q55uooxSens6yk",
-  "merchantId": "5ee0c486308f590260d9a07f",
-  "type": "epay",
-  "status": "pending",
-  "terminalId": "11000021",
-  "createdAt": "2020-06-12T01:17:46.499Z",
-  "updatedAt": "2020-06-12T01:17:46.499Z",
-  "createdBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "updatedBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "product": {
-    "name": "koha-card"
-  }
-}

Get Integration Request Configuration EXPERIMENTAL

GET /api/integration-requests/{integrationRequestId}/configs

curl https://service.centrapay.com/api/integration-requests/DKTs3U38hdhfEqwF1JKoT2/configs \
-  -H "X-Api-Key: $api_key"

Example response payload

{
-  "terminalId": "11000021"
-}

Activate Integration Request EXPERIMENTAL

POST /api/integration-requests/{integrationRequestId}/activate

curl -X POST https://service.centrapay.com/api/integration-requests/DKTs3U38hdhfEqwF1JKoT2/activate \
-  -H "X-Api-Key: $api_key"

Example response payload

{
-  "id": "DKTs3U38hdhfEqwF1JKoT2",
-  "accountId": "Jaim1Cu1Q55uooxSens6yk",
-  "merchantId": "5ee0c486308f590260d9a07f",
-  "type": "epay",
-  "status": "active",
-  "terminalId": "11000021",
-  "createdAt": "2020-06-12T01:17:46.499Z",
-  "updatedAt": "2020-06-12T01:17:46.499Z",
-  "createdBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "updatedBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "product": {
-    "name": "koha-card"
-  }
-}

Error Responses

Status Code Description
403 INTEGRATION_PARAM_MISSING Integration Request needs updating with the required parameters before activating.
403 INTEGRATION_ALREADY_ACTIVATED Integration Request is already activated.

Delete Integration Request EXPERIMENTAL

DELETE /api/integration-requests/{integrationRequestId}

curl -X DELETE https://service.centrapay.com/api/integration-requests/DKTs3U38hdhfEqwF1JKoT2 \
-  -H "X-Api-Key: $api_key"

Example response payload

{
-}


diff --git a/api/integrations.html b/api/integrations.html deleted file mode 100644 index e761ba5a4..000000000 --- a/api/integrations.html +++ /dev/null @@ -1 +0,0 @@ - Integrations - Centrapay Docs Integrations | Centrapay Docs Link Search Menu Expand Document

Integrations

An Integration is a configured connection between a Centrapay account and a third party. An Integration can be created as an Integration Request, as a Managed Integration, or directly by Centrapay administrators.


diff --git a/api/introduction.html b/api/introduction.html deleted file mode 100644 index f930fa091..000000000 --- a/api/introduction.html +++ /dev/null @@ -1 +0,0 @@ - API Introduction - Centrapay Docs API Introduction | Centrapay Docs Link Search Menu Expand Document

API Introduction

The Centrapay API is an RMM level 2 RESTful web service which expresses operations in terms of HTTP verbs on resource-oriented URLs. API endpoint definitions in these docs are grouped by resource type along with definitions for the associated resource types.

Most API calls require authentication using an API key or JWT. HTTP requests and responses usually have JSON payloads and use “application/json” as the content type.

Some API features may be flagged as EXPERIMENTAL. These API features may be removed or changed without warning and should not be relied on in a production setting.


diff --git a/api/invitations.html b/api/invitations.html deleted file mode 100644 index 5b2434f8f..000000000 --- a/api/invitations.html +++ /dev/null @@ -1,120 +0,0 @@ - Invitations - Centrapay Docs Invitations | Centrapay Docs Link Search Menu Expand Document

Invitations

An Invitation can be used to allow users to claim ownership of a resource on the Centrapay platform.

Contents

Models

Invitation

Mandatory Fields

Field Type Description
id String The Invitation’s unique identifier.
code String The Invitation code.
type String The type of invitation. Supported values are account-membership.
resourceId String The id of the related resource.
resourceType String The type of the related resource. Supported values are account.
expiresAt Timestamp When the Invitation expires.
createdAt Timestamp When the Invitation was created.
createdBy CRN The User or API Key that created the Invitation.
updatedAt Timestamp When the Invitation was updated.
updatedBy CRN The User or API Key that updated the Invitation.

Optional Fields

Field Type Description
accepted Boolean A flag indicating whether the Invitation has been accepted.
acceptedAt Timestamp When the Invitation was accepted.
acceptedBy CRN The User or API Key that accepted the Invitation.
acceptedByAccountId String The Account id of the user accepting the Invitation.
recipientAlias String The email address of the user accepting the Invitation.
params Object Params dependent on the Invitation type.
status String The status of the invitation. Possible values are created, sent, accepted and revoked

Params

Field Type Description
role String The role assigned to the recipient, for invitations of type account-membership.
accountName String The name of the account that the recipient is invited to, for invitations of type account-membership

Operations

Create an Invitation EXPERIMENTAL

POST /api/invitations

curl -X POST https://service.centrapay.com/api/invitations \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "type": "account-membership",
-    "resourceId": "Hopo4g34sLVdjEMBs2p19F",
-    "resourceType": "account",
-    "recipientAlias": "user@org.com",
-    "params": {
-      "role": "cashier"
-    }
-  }'

Required Fields

Field Type Description
type String The type of invitation. Supported values are account-membership.
resourceId String The id of the related resource.
resourceType String The type of the related resource. Supported values are account.
recipientAlias String The email address of the user accepting the Invitation.
params Object Params depending on the Invitation type.
role String The role that will be assigned to the user when the Invitation is accepted.

Example response payload

{
-  "id": "DKTs3U38hdhfEqwF1JKoT2",
-  "code": "WIj211vFs9cNACwBb04vQw",
-  "type": "account-membership",
-  "resourceId": "Hopo4g34sLVdjEMBs2p19F",
-  "resourceType": "account",
-  "expiresAt": "2021-08-26T00:02:49.488Z",
-  "createdAt": "2021-08-25T00:02:49.488Z",
-  "createdBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "updatedAt": "2021-08-25T00:02:49.488Z",
-  "updatedBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "recipientAlias": "user@org.com",
-  "params": {
-    "role": "cashier",
-    "accountName": "Centrapay Cafe"
-  },
-  "status": "created"
-}

Error Responses

Status Code Description
403 INVALID_ACCOUNT_TYPE The resourceId is associated with an account with a non org type.
403 RECIPIENT_ALREADY_INVITED An active invitation for this recipientAlias and resource already exists, or the recipient has already joined the resource.

Get an Invitation by code EXPERIMENTAL

GET /api/invitations/code/{code}

curl https://service.centrapay.com/api/invitations/code/WIj211vFs9cNACwBb04vQw \
-  -H "X-Api-Key: $api_key"

Example response payload

{
-  "id": "DKTs3U38hdhfEqwF1JKoT2",
-  "code": "WIj211vFs9cNACwBb04vQw",
-  "type": "account-membership",
-  "resourceId": "5ee0c486308f590260d9a07f",
-  "resourceType": "account",
-  "expiresAt": "2021-08-26T00:02:49.488Z",
-  "createdAt": "2021-08-25T00:02:49.488Z",
-  "createdBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "updatedAt": "2021-08-25T00:02:49.488Z",
-  "updatedBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey"
-}

List Invitations by accountId EXPERIMENTAL

GET /api/accounts/{accountId}/invitations

curl https://service.centrapay.com/api/accounts/{accountId}/invitations \
-  -H "X-Api-Key: $api_key"

Example response payload

{
-  "items": [
-    {
-      "id": "DKTs3U38hdhfEqwF1JKoT2",
-      "code": "WIj211vFs9cNACwBb04vQw",
-      "type": "account-membership",
-      "resourceId": "Hopo4g34sLVdjEMBs2p19F",
-      "resourceType": "account",
-      "expiresAt": "2021-08-26T00:02:49.488Z",
-      "createdAt": "2021-08-25T00:02:49.488Z",
-      "createdBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-      "updatedAt": "2021-08-25T00:02:49.488Z",
-      "updatedBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-      "recipientAlias": "user@org.com",
-      "params": {
-        "role": "account-owner",
-        "accountName": "Centrapay Cafe"
-      },
-      "status": "created"
-    },
-    {
-      "id": "JKKDMU38hd01hfEqwF1oT2",
-      "code": "WIj211vFs9cNACwBb04vQw",
-      "type": "account-membership",
-      "resourceId": "Hopo4g34sLVdjEMBs2p19F",
-      "resourceType": "account",
-      "expiresAt": "2021-08-26T00:02:49.488Z",
-      "createdAt": "2021-08-25T00:02:49.488Z",
-      "createdBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-      "updatedAt": "2021-08-25T00:02:49.488Z",
-      "updatedBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-      "recipientAlias": "john.doe@org.com",
-      "params": {
-        "role": "cashier",
-        "accountName": "Centrapay Tea Warehouse"
-      },
-      "status": "sent"
-    }
-  ]
-}

Accept an Invitation EXPERIMENTAL

POST /api/invitations/{invitationId}/accept

curl -X POST https://service.centrapay.com/api/invitations/DKTs3U38hdhfEqwF1JKoT2/accept \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "code": "WIj211vFs9cNACwBb04vQw",
-    "accountId": "Jaim1Cu1Q55uooxSens6yk"
-  }'

Required Fields

Field Type Description
code String The Invitation code.
accountId String The Account id of the user accepting the Invitation.

Example response payload

{
-  "id": "DKTs3U38hdhfEqwF1JKoT2",
-  "code": "WIj211vFs9cNACwBb04vQw",
-  "type": "account-membership",
-  "resourceId": "5ee0c486308f590260d9a07f",
-  "resourceType": "account",
-  "expiresAt": "2021-08-26T00:02:49.488Z",
-  "createdAt": "2021-08-25T00:02:49.488Z",
-  "createdBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "accepted": true,
-  "acceptedAt": "2021-08-25T10:12:22.122Z",
-  "acceptedBy": "crn::user:e2837e88-d408-11eb-8eac-3e22fb52e878",
-  "acceptedByAccountId": "Jaim1Cu1Q55uooxSens6yk",
-  "updatedAt": "2021-08-25T10:12:22.122Z",
-  "updatedBy": "crn::user:e2837e88-d408-11eb-8eac-3e22fb52e878"
-}

Error Responses

Status Code Description
403 INVITATION_EXPIRED The Invitation is expired.
403 INVITATION_ALREADY_ACCEPTED The Invitation has already been accepted.
403 RECIPIENT_ALIAS_MISMATCH The alias of the user accepting an Invitation is not the same as the recipientAlias of the Invitation.
403 INVITATION_REVOKED The Invitation was revoked.

Revoke an invitation EXPERIMENTAL

POST /api/invitations/{invitationId}/revoke

curl -X POST https://service.centrapay.com/api/invitations/DKTs3U38hdhfEqwF1JKoT2/revoke \
-  -H "X-Api-Key: $api_key"

Example response payload

{
-  "id": "DKTs3U38hdhfEqwF1JKoT2",
-  "code": "WIj211vFs9cNACwBb04vQw",
-  "type": "account-membership",
-  "resourceId": "Hopo4g34sLVdjEMBs2p19F",
-  "resourceType": "account",
-  "recipientAlias": "user@org.com",
-  "params": {
-    "role": "cashier",
-    "accountName": "Centrapay Cafe"
-  },
-  "createdAt": "2021-08-25T00:02:49.488Z",
-  "expiresAt": "2021-08-26T00:02:49.488Z",
-  "createdBy": "crn::user:1234",
-  "updatedAt": "2021-08-25T00:00:00.000Z",
-  "updatedBy": "crn::user:1234",
-  "status": "revoked"
-}

Error Responses

Status Code Description
403 INVITATION_EXPIRED The Invitation is expired.
403 INVITATION_ACCEPTED The Invitation has already been accepted.

diff --git a/api/legacy-payment-requests.html b/api/legacy-payment-requests.html deleted file mode 100644 index 4879637a0..000000000 --- a/api/legacy-payment-requests.html +++ /dev/null @@ -1,147 +0,0 @@ - Legacy - Centrapay Docs Legacy | Centrapay Docs Link Search Menu Expand Document

Legacy Payment Requests

Centrapay Payment Requests are serviced via two sets of endpoints; the “next” version (documented Payment Requests) and the “legacy” version (documented on this page). Use of legacy endpoints for new integrations is discouraged where alternative endpoints have been provided.

Legacy Payment Request endpoints also have interactive Swagger documentation.

Contents

Operations

Creating a payment request

Swagger Docs

POST /payments/api/requests.create

curl -X POST https://service.centrapay.com/payments/api/requests.create \
-  -H "X-Api-Key: $api_key" \
-  -d merchantId=5efbe17d96c083633e2b9241 \
-  -d clientId=5efbe2fb96c08357bb2b9242 \
-  -d amount=300 \
-  -d asset=NZD

Required Parameters

Parameter Description
amount The payment amount in cents
asset The currency code (e.g. ‘NZD’)
merchantId The id of the merchant creating the request
clientId The id of the merchant specific client configuration

See Asset Types for the list of possible asset values for each Asset Type.

Optional Parameters

Parameter Description
description Description of the payment
externalReference Unique merchant reference for the payment request
notifyUrl The URL that will receive POST requests from the webhook
paymentExpirySeconds The amount of seconds until a request expires, must be an integer greater than 0 and less than 86400 (24 hours)
terminalId The payment system terminal Id. Required for NZ Epay integration.
deviceId Physical payment system device Id
patronCode Associate this payment request with an active Patron Code.

Error Responses

Status Code Description
400 CHECKSUM_FAILED patronCode luhn checksum digit doesn’t pass.
403 PATRON_CODE_INVALID patronCode doesn’t exist or has expired.
403 MERCHANT_CONFIGURATION_NOT_FOUND There was no merchant configuration found for the supplied merchantId and clientId.
403 NO_AVAILABLE_PAYMENT_OPTIONS No payment options match the requested payment parameters.

Getting the information about a payment request

Swagger Docs

GET /payments/api/requests.info

curl -G https://service.centrapay.com/payments/api/requests.info \
-  -H "X-Api-Key: $api_key" \
-  -d requestId=TyqV56mEkNLUeiY2QskHNR

Required Parameters

Parameter Description
requestId The payment requestId that is generated when requests.create is called

Error Responses

Http code Error code Message Description
404 2 REQUEST_NOT_FOUND The provided request doesn’t exist.

Example response payload of a new request

{
-  "requestId": "TyqV56mEkNLUeiY2QskHNR",
-  "shortCode": "CP-C7F-ZS5",
-  "merchantId": "5efbe17d96c083633e2b9241",
-  "merchantName": "NZD Test Merchant",
-  "clientId": "5efbe2fb96c08357bb2b9242",
-  "denomination": {
-    "asset": "NZD",
-    "amount": 100
-  },
-  "payments": [
-    {
-      "ledger": "centrapay.nzd.test",
-      "amount": 100,
-      "methods": [
-        "qr_code"
-      ]
-    }
-  ],
-  "qrCode": "https://app.centrapay.com/pay/TyqV56mEkNLUeiY2QskHNR",
-  "requestCode": "https://app.centrapay.com/pay/TyqV56mEkNLUeiY2QskHNR",
-  "status": "new",
-  "createdAt": "2021-11-29T23:04:54.253Z",
-  "updatedAt": "2021-11-29T23:04:54.253Z",
-  "liveness": "test",
-  "paymentExpirySeconds": 120
-}

Example response payload of a paid request

{
-  "requestId": "TyqV56mEkNLUeiY2QskHNR",
-  "shortCode": "CP-C7F-ZS5",
-  "merchantId": "5efbe17d96c083633e2b9241",
-  "merchantName": "NZD Test Merchant",
-  "clientId": "5efbe2fb96c08357bb2b9242",
-  "denomination": {
-    "asset": "NZD",
-    "amount": 100
-  },
-  "payments": [
-    {
-      "ledger": "centrapay.nzd.test",
-      "amount": 100,
-      "methods": [
-        "qr_code"
-      ]
-    }
-  ],
-  "qrCode": "https://app.centrapay.com/pay/TyqV56mEkNLUeiY2QskHNR",
-  "requestCode": "https://app.centrapay.com/pay/TyqV56mEkNLUeiY2QskHNR",
-  "status": "paid",
-  "createdAt": "2021-11-29T23:04:54.253Z",
-  "updatedAt": "2021-11-29T23:05:38.254Z",
-  "liveness": "test",
-  "paymentExpirySeconds": 120,
-  "paidBy": {
-    "ledger": "centrapay.nzd.test",
-    "type": "centrapay.nzd.test",
-    "authCode": "3MhaANvdS79qhvAj6nYFNT",
-    "responseCode": "1234",
-    "receipt": "",
-    "v2": true,
-    "paidAt": "2021-11-29T23:05:38.000Z",
-    "amount": 100,
-    "account": "3MhaANvdS79qhvAj6nYFNT",
-    "transactionId": "TyqV56mEkNLUeiY2QskHNR",
-    "description": "Centrapay Test NZD",
-    "settlementDate": "2021-11-29T23:05:38.000Z",
-    "assetTotals": [
-      {
-        "type": "centrapay.nzd.test",
-        "description": "Centrapay Test NZD",
-        "settlementDate": "2021-11-29T23:05:38.000Z",
-        "total": {
-          "amount": "100",
-          "currency": "NZD"
-        }
-      }
-    ]
-  }
-}

Paying a payment request

Swagger Docs

POST /payments/api/requests.pay

curl -X POST https://service.centrapay.com/payments/api/requests.pay \
-  -H "X-Api-Key: $api_key" \
-  -d authorization=4a936ad82d8e51ae0afc317e944bfa569d935a45206b49b67117ee8aaa04a3b1 \
-  -d ledger=g.crypto.bitcoin.mainnet \
-  -d requestId=7d2b1d52-b609-4ccd-b4cc-c4a9af881bd9

Required Parameters

Parameter Description
requestId The id of the payment request to pay. See requests.create.
ledger The selected payment option to use. See below for expected values.
authorization An identifier that can be used to pay or verify payment. See below for expected values.

Expected Ledger and Authorization Values

The “ledger” parameter indicates which payment option has been selected to pay the payment request. The selected payment option must be one of the options available for the payment request as per the payments array in the requests.create and requests.info responses.

The table below lists the possible ledger and authorization param values. The asset type is the value used to configure the merchant. The ledger param value is returned with the payment request info as payments[].ledger.

Asset Type Ledger Param Value Authorization Param Value
centrapay.nzd.main centrapay.nzd.main Centrapay wallet id
centrapay.nzd.test centrapay.nzd.test Centrapay wallet id
epay.nzd.main epay.nzd.main Centrapay asset id
bitcoin.main g.crypto.bitcoin.mainnet Bitcoin transaction id

Centrapay Asset Permissions

To pay with a Centrapay asset or wallet ledger the user (identified by the API Key or identity token) must have permission to redeem the asset or transfer funds from the specified wallet.

Error Responses

Http code Message Description
403 REQUEST_EXPIRED Action cannot be completed because the request has expired.
403 REQUEST_PAID Action cannot be completed because the request has been paid.
403 REQUEST_CANCELLED Action cannot be completed because the request has already been cancelled.
403 INVALID_ASSET_TYPE The merchant is not configured with the provided asset type.
403 INACTIVE_ASSET The asset is not spendable. It may have been disabled, expired, or already spent.
403 INVALID_MERCHANT_CONFIG The merchant is not configured properly to satisfy the payment request. This could be due to incorrect information, or the merchant’s credentials might be blocked by an external service.
403 QUOTA_EXCEEDED The payment pay request exceeds the allowed spend quota supplied.
403 INSUFFICIENT_ASSET_VALUE The asset has insufficient funds to pay the payment request or the transaction amount received by Centrapay is less than the total of the payment.
403 ASSET_REDEMPTION_DENIED The asset redemption has been unsuccessful due to an error with provided payment parameters, the merchant, or the asset.

Cancelling a payment request

Swagger Docs

POST /payments/api/requests.cancel

curl -X POST https://service.centrapay.com/payments/api/requests.cancel \
-  -H "X-Api-Key: $api_key" \
-  -d requestId=a95b3b0d-1278-4613-8772-20d146065a2e

Required Parameters

Parameter Description
requestId The payment requestId that is generated when requests.create is called

Error Responses

Http code Error code Message Description
404 2 REQUEST_NOT_FOUND The provided request doesn’t exist.
400 18 REQUEST_EXPIRED Action cannot be completed because the request has expired.
400 19 REQUEST_PAID Action cannot be completed because the request has been paid.

Voiding a payment request

Swagger Docs

POST /payments/api/requests.void

curl -X POST https://service.centrapay.com/payments/api/requests.void \
-  -H "X-Api-Key: $api_key" \
-  -d requestId=a95b3b0d-1278-4613-8772-20d146065a2e

Required Parameters

Parameter Description
requestId The payment requestId that is generated when requests.create is called.

Error Responses

Http code Error code Message Description
404 2 REQUEST_NOT_FOUND The provided request doesn’t exist.
403   VOID_WINDOW_EXCEEDED The amount of time since the payment request was created exceeds the window of time a payment request can be voided (24 hours).

Voiding a payment request can cause it to be cancelled or refunded. Therefore, this endpoint can give the same error responses as requests.cancel and transactions.refund. After 24 hours voiding a payment request will be disallowed, however a refund can still be made against the payment request if it has been paid successfully.

Refunding a transaction

Swagger Docs

POST /payments/api/transactions.refund

curl -X POST https://service.centrapay.com/payments/api/transactions.refund \
-  -H "X-Api-Key: $api_key" \
-  -d transactionId=7d2b1d52-b609-4ccd-b4cc-c4a9af881bd9 \
-  -d amount=100

Refunding a transaction can be done with or without an external reference.

Refund without external reference

If you refund a transaction without providing an external reference, you will get a successful response for the first request and then an ALREADY_REFUNDED message for any refund requests that follow for the same transaction, unless an external reference is provided.

Refund with external reference

If you provide an external reference then a transaction can be refunded multiple times provided that the external reference is unique for each refund request. When a duplicate external reference is provided when attempting to refund the same transaction we return a successful response if the amount of the request is the same both times but do not process another refund, this is because we assume it to be a repeat request. If the amount is different you will get a REPEAT_REFERENCE error message.

Refund a Pre Auth Payment Request with Confirmations

The legacy refund endpoint cannot be used to refund Pre Auth Payment Requests with Confirmations. Please use the current refund endpoint instead.

Required Parameters for one time refund

Parameter Description
transactionId The transaction to refund. The transaction id for a payment can be obtained from a webhook notification or from requests.info.
amount The amount to refund in cents

Additional required Parameter for multiple refunds

Parameter Description
externalReference A reference supplied by the merchant that must be unique for each refund of that transaction, can be anything you want but it must be unique.

Error Responses

Http code Error code Message Description
404 3 TRANSACTION_NOT_FOUND The provided transaction doesn’t exist.
400 276 ALREADY_REFUNDED The transaction has already been refunded.
400 277 INVALID_AMOUNT The refund requested is greater than the transaction amount.
400 280 REPEAT_REFERENCE A separate refund request for the same transaction has the same external reference, trying to refund the same transaction twice with the same external reference is not allowed. If the amount of the refund is the same we assume it is a repeat request and return 200.
403 281 PARTIAL_REFUNDS_NOT_ALLOWED The asset does not support partial refunds.
403 283 INACTIVE_ASSET The asset is not refundable. It may have been disabled, expired, or already refunded.
403   REFUND_NOT_SUPPORTED The asset type does not support refunds.
403   REFUND_WINDOW_EXCEEDED The time since the payment exceeds the window of time a transaction can be refunded in.

Webhooks

Webhook notifications are sent for significant Payment life-cycle events. The Webhook endpoint is notified by sending an HTTP POST request to the notifyUrl defined in the Payment Request.

Life-cycle Events That Trigger Webhooks

The supported event types that will be notified to the Payment Requests webhook and the associated “transactionType” value that will be sent in the payload are:

Event Type Value of “transactionType”
Payment Request Cancelled CANCELLED
Payment Request Expired EXPIRED
Transaction Completed PURCHASE
Transaction Refunded REFUND

Payment Request Cancelled

A payment request can be cancelled by either calling the requests.cancel or requests.void endpoint before a request has been paid successfully. When a request has been cancelled we send a JWT that when decoded matches the Payment Request Cancelled example in the Decoded Webhook JWT Examples section below.

Payment Request Expired

A payment request expires two minutes after being created if it hasn’t been cancelled, or paid. When a request has expired we send a JWT that when decoded matches the Payment Request Cancelled example in the Decoded Webhook JWT Examples section below with the transactionType set to EXPIRED.

Transaction Completed

A transaction is considered complete when requests.pay is called with parameters that satisfy a payment request and the request has been paid successfully. When a transaction has been completed we send a JWT that when decoded matches the Transaction Completed example in the Decoded Webhook JWT Examples section below.

Transaction Refunded

A transaction can be refunded one to many times and each time a transaction has been refunded successfully we notify the webhook associated with the original payment request. A transaction can be refunded when transactions.refund has been called for a partial or full refund, or when requests.void is called for a request that has been paid. When a transaction has been refunded we send a JWT that when decoded matches the Transaction Completed example in the Decoded Webhook JWT Examples section below but with transactionType set to REFUND.

Webhook Payload

The body of the webhook is a JSON document with the following format:

{
-  "token": "${JWT}"
-}

The decoded JWT will contain a “transaction” property with a “transactionType” that indicates the event type. Depending on the type of event, the payload will also contain additional details about the transaction and payment request. For example:

{
-  "transaction": {
-    "transactionType": "REFUND",
-    "request": {
-      "requestId": "bec358bf-edb5-4633-a785-a95cc281d3b7",
-      "denomination": {
-        "asset": "NZD",
-        "amount": "100"
-      }
-    }
-  }
-}

Webhook Payload Fields

Property Description
transactionId Id of the transaction
transactionType Indicates which event triggered the notification message
state Current state of the transaction
ledger The ledger at which the authorization was processed
amount Transaction amount in the lowest denomination available
createdAt Timestamp at which the request was created
updatedAt Timestamp at which the request was updated
type The payment type used by the issuer to reconcile settlement
request Request object, see details at requests.info
authCode Authorization code used to settle this transaction

Webhook JWT Validation

A webhook JWT can be validated by checking the signature against the Centrapay Webhook public key:

-----BEGIN PUBLIC KEY-----
-MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEt+vW2fE0mLLmdzJtYrz7J9q/yEXl
-gmIjCXdv3VNvYfTsaBO5PJNiaD3l9lD8PzEQu31ePsOG81mDVuo40+dgLg==
------END PUBLIC KEY-----
-

Decoded Webhook JWT Examples

Transaction Completed Successfully

{
-  "transaction": {
-    "transactionId": "E6ctbmgmkgZ3xnPk3BkGvb",
-    "transactionType": "PURCHASE",
-    "ledger": "g.crypto.bitcoin.mainnet",
-    "state": "completed",
-    "amount": 2000,
-    "request": {
-      "requestId": "0FmbuirpQG4iuy6xAV9R1p",
-      "merchantId": "613919a417bea000290e97e3",
-      "externalReference": "12345sixseveneightnineten",
-      "denomination": {
-        "asset": "NZD",
-        "amount": 2000
-      }
-    },
-    "createdAt": "2018-10-02T00:29:09.307Z",
-    "updatedAt": "2018-10-02T00:29:11.383Z",
-    "type": "BITCOIN",
-    "authCode": "961241"
-  }
-}

Payment Request Cancelled

{
-  "transaction": {
-    "transactionType": "CANCELLED",
-    "request": {
-      "requestId": "0FmbuirpQG4iuy6xAV9R1p",
-      "merchantId": "613919a417bea000290e97e3",
-      "clientId": "613919a417bea000290e97e4",
-      "denomination": {
-        "asset": "NZD",
-        "amount": "1"
-      }
-    }
-  }
-}


diff --git a/api/managed-integrations.html b/api/managed-integrations.html deleted file mode 100644 index 666bef20d..000000000 --- a/api/managed-integrations.html +++ /dev/null @@ -1,47 +0,0 @@ - Managed Integrations - Centrapay Docs Managed Integrations | Centrapay Docs Link Search Menu Expand Document

Managed Integration

A Managed Integration is an Integration which a third party can control.

Contents

Models

Managed Integration

Mandatory Fields

Field Type Description
id String The Managed Integration’s unique identifier.
type String The type of Managed Integration. Supported types are paypal-referral.
enabled Boolean Flag indicating whether the Managed Integration should become active or inactive.
status String Current status of the Managed Integration. Supported values are created, pending, provisioning, active, inactive and archived.
externalId String Field used to reference an id from an external system.
params Object Params depending on the Managed Integration type.
createdAt Timestamp When the Managed Integration was created.
createdBy CRN The User or API Key that created the Managed Integration.
updatedAt Timestamp When the Managed Integration was updated.
updatedBy CRN The User or API Key that updated the Managed Integration.

Optional Fields

Field Type Description
claimedByAccountId String Centrapay account id used to claim the Managed Integration.
claimedBy CRN The User or API Key that claimed the Managed Integration.
claimedAt Timestamp When the Managed Integration was claimed.
invitation Invitation Summary A summary of the associated Invitation.
inProgress Boolean Flag indicating whether a status transition is in progress.
test Boolean A flag which is present if the Managed Integration is for testing

Invitation Summary EXPERIMENTAL

A summary of the Invitation for a Managed Integration.

Fields

Name Type Description
id String The Invitation’s unique identifier.
code String The Invitation code.
expiresAt Timestamp When the Invitation expires.

Bank Account

Mandatory Fields

Field Type Description
number String The bank account number

Params

paypal-referral

Mandatory Fields

Field Type Description
centrapayMerchantId String The ID of the Centrapay merchant that will be onboarded.
email String The email address to send the PayPal referral to.

Operations

Create or Update a Managed Integration EXPERIMENTAL

PUT /api/managed-integrations/{type}/{externalId}

curl -X PUT https://service.centrapay.com/api/managed-integrations/paypal-referral/DKTs3U38hdhfEqwF1JKoT2 \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "enabled": true,
-    "params": {
-      "centrapayMerchantId": "5ffcaf432003060007b98343",
-      "email": "test@centrapay.com"
-    }
-  }'

Required Fields

Field Type Description
enabled Boolean Flag indicating whether the Managed Integration should become active or inactive.
params Object Params depending on the Managed Integration type.

Optional Fields

Field Type Description
test Boolean Flag indicating the Managed Integration is for testing, this cannot be changed once the resource has been created.

Example response payload

{
-  "id": "5ee0c486308f590260d9a07f",
-  "type": "paypal-referral",
-  "externalId": "DKTs3U38hdhfEqwF1JKoT2",
-  "enabled": true,
-  "params": {
-    "centrapayMerchantId": "5ffcaf432003060007b98343",
-    "email": "test@centrapay.com"
-  },
-  "status": "provisioning",
-  "claimedByAccountId": "Jaim1Cu1Q55uooxSens6yk",
-  "claimedBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "claimedAt": "2020-06-12T01:17:46.499Z",
-  "inProgress": true,
-  "createdAt": "2020-06-11T01:17:46.499Z",
-  "createdBy": "crn:BIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "updatedAt": "2020-06-12T01:17:46.499Z",
-  "updatedBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey"
-}

Error Responses

Status Code Description
400 INVALID_PARAMS Invalid Params provided for Managed Integration type.
403 MERCHANT_LIVENESS_MISMATCH The test flag on the merchant doesn’t match the test flag on the paypal-referral managed integration.
403 MERCHANT_NOT_FOUND The merchant is not found with the centrapayMerchantId on the paypal-referral managed integration.

Get a Managed Integration EXPERIMENTAL

GET /api/managed-integrations/{id}

curl https://service.centrapay.com/api/managed-integrations/dh375hdh08f590260d9a07f \
-  -H "X-Api-Key: $api_key"

Example response payload

{
-  "id": "5ee0c486308f590260d9a07f",
-  "type": "paypal-referral",
-  "externalId": "DKTs3U38hdhfEqwF1JKoT2",
-  "enabled": true,
-  "params": {
-    "centrapayMerchantId": "5ffcaf432003060007b98343",
-    "email": "test@centrapay.com"
-  },
-  "status": "provisioning",
-  "claimedByAccountId": "Jaim1Cu1Q55uooxSens6yk",
-  "claimedBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "claimedAt": "2020-06-12T01:17:46.499Z",
-  "inProgress": true,
-  "createdAt": "2020-06-11T01:17:46.499Z",
-  "createdBy": "crn:BIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "updatedAt": "2020-06-12T01:17:46.499Z",
-  "updatedBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey"
-}


diff --git a/api/media-uploads.html b/api/media-uploads.html deleted file mode 100644 index d53a1b59a..000000000 --- a/api/media-uploads.html +++ /dev/null @@ -1,14 +0,0 @@ - Media Uploads - Centrapay Docs Media Uploads | Centrapay Docs Link Search Menu Expand Document

Media Uploads

Contents

Models

Media Upload

Mandatory Fields

Field Type Description
id String The Media Upload’s unique identifier.
accountId String The Media Upload’s owning Centrapay Account id.
mimeType String The media (MIME) type of the upload.
fileName String The file name of the upload.
createdAt Timestamp When the Media Upload was created.
updatedAt Timestamp When the Media Upload was updated.
createdBy CRN The User or API Key that created the Media Upload.
updatedBy CRN The User or API Key that updated the Media Upload.

Optional Fields

Field Type Description
uploadUrl String A presigned URL that gives users time-limited permission to upload media.

Operations

Create a presigned URL for Media Upload EXPERIMENTAL

POST /api/media-uploads

curl -X POST https://service.centrapay.com/api/media-uploads \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "accountId": "Jaim1Cu1Q55uooxSens6yk",
-    "mimeType": "image/png",
-    "fileName": "image.png"
-  }'

Required Fields

Field Type Description
accountId String The Media Upload’s owning Centrapay Account id.
mimeType String The media (MIME) type of the upload.
fileName String The file name of the upload.

Example response payload

{
-  "id": "DKTs3U38hdhfEqwF1JKoT2",
-  "uploadUrl": "https://media-upload.centrapay.com/image.png?jhbdsfau67ewejshb=487hsdjhbdgs743"
-}

Get Media Upload Location EXPERIMENTAL

GET /api/media-uploads/{mediaUploadId}/location

curl https://service.centrapay.com/api/media-uploads/DKTs3U38hdhfEqwF1JKoT2/location \
-  -H "X-Api-Key: $api_key"

Example response payload

{
-  "url": "https://media-upload.centrapay.com/image.png?jhbdsfau67ewejshb=487hsdjhbdgs743"
-}


diff --git a/api/merchant-configs.html b/api/merchant-configs.html deleted file mode 100644 index 6439594ba..000000000 --- a/api/merchant-configs.html +++ /dev/null @@ -1,120 +0,0 @@ - Merchant Configs - Centrapay Docs Merchant Configs | Centrapay Docs Link Search Menu Expand Document

Merchant Configs

A Merchant Config defines the available payment options for paying a Payment Request.

Contents

Models

Merchant Config

Required Fields

Field Type Description
paymentOptions Array Array of Payment Option Configs.
createdAt Timestamp When the Merchant Config was created.
createdBy CRN The User or API Key that created the Merchant Config.
updatedAt Timestamp When the Merchant Config was updated.
updatedBy CRN The User or API Key that updated the Merchant Config.

Optional Fields

Field Type Description
allowedRedirectUrls Array Experimental Allowed prefixes for the redirectUrl property on Payment Requests created with this Config.

Payment Option Config

Required Fields

Field Type Description
type String Type of payment method. See supported payment types below.

Optional Fields

Field Type Description  
walletId String Merchant’s Centrapay Settlement Wallet to receive payments. Optional for centrapay.nzd types, if not supplied then a settlement wallet may be created and then assigned.  
assetId String Merchant’s Centrapay Settlement Asset to receive payments. Optional for quartz.nzd types, if not supplied then a settlement asset may be created and then assigned.  
terminalId String Merchant’s Epay terminal id.  
paypalMerchantAccountId String Id of the PayPal merchants account. Required for paypal.usd and venmo.usd types.  
paypalStoreId String Id of the PayPal merchants store. Required for paypal.usd and venmo.usd types.  
farmlandsMerchantNumber String Id of the Farmlands merchant that funds will be transferred to.  
externalMerchantId String Id of the external merchant. Required for stadius and uplinkapi.test types.  

See Asset Types for values that may be present in the type field.

Warning: Test payment options should never be used for live merchant configurations.

Operations

Create a Merchant Config

POST /api/merchants/{merchantId}/configs

curl -X POST https://service.centrapay.com/api/merchants/5ee0c486308f590260d9a07f/configs \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "paymentOptions": [
-      {
-        "type": "centrapay.nzd.main",
-        "walletId": "1234c486308f3f0a23f0f92b"
-      },
-      {
-        "type": "epay.nzd.main",
-        "terminalId": "11000021"
-      },
-      {
-        "type": "farmlands.nzd.main",
-        "farmlandsMerchantNumber": "DbgY2SyD5M85zkePJjsQEf"
-      }
-    ]
-  }'

Example response payload

{
-  "id": "5ee168e8597be5002af7b454",
-  "merchantId": "5ee0c486308f590260d9a07f",
-  "createdAt": "2021-11-12T01:17:46.499Z",
-  "updatedAt": "2021-11-12T01:17:46.499Z",
-  "createdBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "updatedBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "paymentOptions": [
-    {
-      "type": "centrapay.nzd.main",
-      "walletId": "1234c486308f3f0a23f0f92b"
-    },
-    {
-      "type": "epay.nzd.main",
-      "terminalId": "11000021"
-    },
-    {
-      "type": "farmlands.nzd.main",
-      "farmlandsMerchantNumber": "DbgY2SyD5M85zkePJjsQEf"
-    }
-  ]
-}

Error Responses

Status Code Description
403 INVALID_WALLET_TYPE walletId does not belong to a Settlement Wallet.
403 LIVENESS_MISMATCH Only Merchants with the test flag can have merchant configs with test assets, vice versa

Get a Merchant Config

GET /api/merchants/{merchantId}/configs/{configId}

curl https://service.centrapay.com/api/merchants/5ee0c486308f590260d9a07f/configs/5ee168e8597be5002af7b454 \
-  -H "X-Api-Key: $api_key"

Example response payload

{
-  "id": "5ee168e8597be5002af7b454",
-  "merchantId": "5ee0c486308f590260d9a07f",
-  "createdAt": "2021-11-12T01:17:46.499Z",
-  "updatedAt": "2021-11-12T01:17:46.499Z",
-  "createdBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "updatedBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "paymentOptions": [
-    {
-      "type": "farmlands.nzd.main",
-      "farmlandsMerchantNumber": "DbgY2SyD5M85zkePJjsQEf"
-    }
-  ]
-}

List Merchant Configs

GET /api/merchants/{merchantId}/configs

curl https://service.centrapay.com/api/merchants/5ee0c486308f590260d9a07f/configs \
-  -H "X-Api-Key: $api_key"

Example response payload

[
-  {
-    "id": "5ee168e8597be5002af7b454",
-    "merchantId": "5ee0c486308f590260d9a07f",
-    "createdAt": "2021-09-12T01:17:46.499Z",
-    "updatedAt": "2021-09-12T01:17:46.499Z",
-    "createdBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-    "updatedBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-    "paymentOptions": [
-      {
-        "type": "farmlands.nzd.main",
-        "farmlandsMerchantNumber": "DbgY2SyD5M85zkePJjsQEf"
-      }
-    ]
-  },
-  {
-    "id": "5ee168e8597be5002af7baed",
-    "merchantId": "5ee0c486308f590260d9a07f",
-    "createdAt": "2021-11-12T01:17:46.499Z",
-    "updatedAt": "2021-11-12T01:17:46.499Z",
-    "createdBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-    "updatedBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-    "paymentOptions": [
-      {
-        "type": "test"
-      }
-    ]
-  }
-]

Update a Merchant Config

PUT /api/merchants/{merchantId}/configs/{configId}

curl -X PUT https://service.centrapay.com/api/merchants/5ee0c486308f590260d9a07f/configs/5ee168e8597be5002af7baed \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "paymentOptions": [
-      {
-        "type": "bitcoin.main"
-      },
-      {
-        "type": "centrapay.nzd.test",
-        "walletId": "1234c486308f3f0a23f0f92b"
-      },
-      {
-        "type": "farmlands.nzd.main",
-        "farmlandsMerchantNumber": "DbgY2SyD5M85zkePJjsQEf"
-      }
-    ]
-  }'

Example response payload

{
-  "id": "5ee168e8597be5002af7baed",
-  "merchantId": "5ee0c486308f590260d9a07f",
-  "createdAt": "2021-09-12T01:17:46.499Z",
-  "updatedAt": "2021-12-12T01:17:46.499Z",
-  "createdBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "updatedBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "paymentOptions": [
-    {
-      "type": "bitcoin.main"
-    },
-    {
-      "type": "centrapay.nzd.test",
-      "walletId": "1234c486308f3f0a23f0f92b"
-    },
-    {
-      "type": "farmlands.nzd.main",
-      "farmlandsMerchantNumber": "DbgY2SyD5M85zkePJjsQEf"
-    }
-  ]
-}

Error Responses

Status Code Description
403 INVALID_WALLET_TYPE walletId does not belong to a Settlement Wallet.
403 LIVENESS_MISMATCH Only Merchants with the test flag can have merchant configs with test assets, vice versa

diff --git a/api/merchants.html b/api/merchants.html deleted file mode 100644 index 964e2a0ea..000000000 --- a/api/merchants.html +++ /dev/null @@ -1,199 +0,0 @@ - Merchants - Centrapay Docs Merchants | Centrapay Docs Link Search Menu Expand Document

Merchants

A merchant is an initiator of Payment Requests. A Merchant has Merchant Configs which define the payment methods available for a Payment Request.

Contents

Models

Merchant

Mandatory Fields

Field Type Description
id String Merchant’s unique identifier.
accountId String Id of Merchant’s owning Centrapay account.
name String Merchant name.
country String Merchant ISO 3166 country code. Must match the “region” on the Account.
createdAt Timestamp When the Merchant was created.
createdBy CRN The User or API Key that created the Merchant.
updatedAt Timestamp When the Merchant was updated.
updatedBy CRN The User or API Key that updated the Merchant.
onboardingStatus String The onboarding status of the Merchant. See Onboarding Statuses for possible values.

Optional Fields

Field Type Description
test Boolean EXPERIMENTAL Flag indicating merchant is for testing.
settlementConfig Settlement Config EXPERIMENTAL Merchant settlement config.
location Location EXPERIMENTAL Physical Location of Merchant. It is highly recommended that you provide this otherwise, users won’t be able to find you with our Merchant Search API if they perform a origin + distance query.
onboardingStatusReason String The reason associated with the Onboarding Status. See Onboarding Status Reasons for possible values.

Onboarding Statuses

Status Description Allowed Reasons
applied Identifies merchants that have registered to be activated for the Centrapay service.  
provisioning Identifies merchants that are in the process of being activated for the Centrapay service.  
active Identifies merchants that have been activated for Centrapay services successfully (i.e. they have successfully created a Payment Request).  
deactivated Identifies merchants that have been de-registered for the Centrapay service. duplicate, data-quality-issues, no-response, change-of-ownership, centrapay-discontinued.
on-hold Identifies merchants that have been placed on hold. seasonal-business-closure, incompatible-terminal, no-response

Onboarding Status Reasons

Reason Description
duplicate The merchant already exists in the Centrapay system.
data-quality-issues Data quality issues are preventing the merchant from onboarding.
no-response No response has been received from the merchant.
change-of-ownership The merchant has changed ownership.
centrapay-discontinued The merchant is no longer using Centrapay.
seasonal-business-closure The merchant has closed temporarily.
incompatible-terminal The merchant does not have any compatible terminals.

Settlement Config

Optional Fields

Field Type Description
bankAccountId String The id of the bank account funds should be settled into. This must belong to the account

Merchant Search Result

Field Type Description
id String Merchant’s unique identifier
name String Merchant’s name
acceptedAssets Accepted Asset List of assets accepted by the merchant
location Location Optional Physical location of the merchant

Accepted Asset

Field Type Description
assetType String The type of the asset
products Product Optional List of products supported by the asset type. Only available for epay.nzd and centrapay.token asset types.

Product

Field Type Description
id String Product’s unique identifier

Operations

Create a Merchant

POST /api/merchants

curl -X POST https://service.centrapay.com/api/merchants \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "accountId": "C4QnjXvj8At6SMsEN4LRi9",
-    "name": "Centrapay Cafe Auckland",
-    "country": "NZ",
-    "test": false
-  }'

Example response payload

{
-  "id": "5ee0c486308f590260d9a07f",
-  "accountId": "yqwyya0rzz3vvshqw0474u89xtj5fn",
-  "name": "Centrapay Cafe Auckland",
-  "country": "NZ",
-  "test": false,
-  "onboardingStatus": "applied",
-  "createdAt": "2021-11-12T01:17:46.499Z",
-  "updatedAt": "2021-11-12T01:17:46.499Z",
-  "createdBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "updatedBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey"
-}

Error Responses

Status Code Description
403 BANK_ACCOUNT_MISMATCH The bank account in the settlement config does not belong to the same account.
403 ACCOUNT_REGION_MISMATCH The merchant’s “country” does not match the “region” on the Account.

Get a Merchant

GET /api/merchants/{merchantId}

curl https://service.centrapay.com/api/merchants/5ee0c486308f590260d9a07f \
-  -H "X-Api-Key: $api_key"

Example response payload

{
-  "id": "5ee0c486308f590260d9a07f",
-  "accountId": "yqwyya0rzz3vvshqw0474u89xtj5fn",
-  "name": "Parisian - Brown",
-  "test": false,
-  "country": "AD",
-  "onboardingStatus": "applied",
-  "createdAt": "2021-11-12T01:17:46.499Z",
-  "updatedAt": "2021-11-12T01:17:46.499Z",
-  "createdBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "updatedBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey"
-}

List Merchants for Account

Returns a paginated list of Merchants attached to an Account.

GET /api/accounts/{accountId}/merchants

curl https://service.centrapay.com/api/accounts/Jaim1Cu1Q55uooxSens6yk/merchants \
-  -H "X-Api-Key: $api_key"

Example response payload

{
-  "items": [
-    {
-      "accountId": "Jaim1Cu1Q55uooxSens6yk",
-      "country": "BT",
-      "id": "5f6bf6ff81552101f8ff6122",
-      "name": "Adams, Runolfsdottir and Botsford",
-      "test": true,
-      "onboardingStatus": "applied",
-      "createdAt": "2021-11-12T01:17:46.499Z",
-      "updatedAt": "2021-11-12T01:17:46.499Z",
-      "createdBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-      "updatedBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey"
-    },
-    {
-      "accountId": "Jaim1Cu1Q55uooxSens6yk",
-      "country": "GM",
-      "id": "5f6bf6ff81552101f8ff6123",
-      "name": "Vandervort Inc",
-      "test": false,
-      "onboardingStatus": "applied",
-      "createdAt": "2021-11-12T01:17:46.499Z",
-      "updatedAt": "2021-11-12T01:17:46.499Z",
-      "createdBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-      "updatedBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey"
-    }
-  ]
-}

Update a Merchant

PUT /api/merchants/{merchantId}

curl -X PUT https://service.centrapay.com/api/merchants/5ee0c486308f590260d9a07f \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "name": "Centrapay Café",
-    "location": {
-      "lat": "-36.8483579",
-      "lng": "174.7725834",
-      "city": "Auckland",
-      "postCode": "1010",
-      "country": "NZ"
-    },
-    "settlementConfig": {
-      "bankAccountId": "WRhAxxWpTKb5U7pXyxQjjY"
-    }
-  }'

Example response payload

{
-  "id": "5ee0c486308f590260d9a07f",
-  "accountId": "yqwyya0rzz3vvshqw0474u89xtj5fn",
-  "name": "Centrapay Café",
-  "test": false,
-  "country": "NZ",
-  "onboardingStatus": "applied",
-  "location": {
-    "lat": "-36.8483579",
-    "lng": "174.7725834",
-    "city": "Auckland",
-    "postCode": "1010",
-    "country": "NZ"
-  },
-  "settlementConfig": {
-    "bankAccountId": "WRhAxxWpTKb5U7pXyxQjjY"
-  },
-  "createdAt": "2021-09-12T01:11:22.491Z",
-  "updatedAt": "2021-11-12T01:17:46.499Z",
-  "createdBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "updatedBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey"
-}

Error Responses

Status Code Description
403 BANK_ACCOUNT_MISMATCH The bank account in the settlement config does not belong to the same account.

Set Merchant Onboarding Status

POST /api/merchants/{merchantId}/set-onboarding-status

curl -X POST https://service.centrapay.com/api/merchants/5ee0c486308f590260d9a07f/set-onboarding-status \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "onboardingStatus": "deactivated",
-    "onboardingStatusReason": "change-of-ownership"
-  }'

Example response payload

{
-  "type": "set-onboarding-status",
-  "onboardingStatus": "deactivated",
-  "onboardingStatusReason": "change-of-ownership",
-  "merchantId": "MhocUmpxxmgdHjr7DgKoKw",
-  "createdAt": "2021-09-12T01:11:22.491Z",
-  "createdBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-  "activityNumber": "2"
-}

Search Merchants EXPERIMENTAL

Returns a paginated response of merchant search results that match the search query

This endpoint does not require Auth

GET /api/merchants/search

curl -G https://service.centrapay.com/api/merchants/search \
-  -H "X-Api-Key: $api_key" \
-  -d origin=123.42,32.22 \
-  -d distance=100 \
-  -d asset=epay.nzd.main,37873 \
-  -d pageKey=10 \
-  -d paginationLimit=10

Query Parameters

Parameter Type Description
origin String Optional The point to be searched around, formatted as a latitude,longitude
distance Number Optional The distance from the origin to be searched around in km
asset String Optional A string of the format {assetType},{productId} describing the asset where

assetType is the type of asset to filter the merchants by and
productId is the asset’s productCode for epay.nzd asset types or the asset’s collectionId for centrapay.token asset types
name String Optional Name of the merchant
pageKey String Optional pageKey of next merchant to fetch
paginationLimit String Optional Maximum amount of merchants to return

Response

Field Type Description
totalItems Number Total number of merchants that match the search query
items Merchant Search Result List of merchants returned that match the search query
nextPageKey String Can be used to fetch the next page, not present on the last page

Example response payload

{
-  "totalItems": 100,
-  "items": [
-    {
-      "id": "M001",
-      "name": "Store 1",
-      "acceptedAssets": [
-        {
-          "assetType": "centrapay.nzd.main"
-        },
-        {
-          "assetType": "epay.nzd.main",
-          "products": [
-            {
-              "id": "37873"
-            },
-            {
-              "id": "38183"
-            }
-          ]
-        },
-        {
-          "assetType": "centrapay.token.main",
-          "products": [
-            {
-              "id": "Xv990BzkgfoDS7bBls50pd"
-            }
-          ]
-        }
-      ],
-      "location": {
-        "lat": "123.45",
-        "lng": "32.21",
-        "city": "Auckland",
-        "country": "NZ",
-        "postCode": "1234",
-        "state": "Auckland",
-        "street": "2 Street Street",
-        "suburb": "Place"
-      }
-    }
-  ],
-  "nextPageKey": "20"
-}

List all Merchants DEPRECATED

Returns a paginated list of Merchants which belong to the authenticated subject.

GET /api/merchants

curl https://service.centrapay.com/api/merchants \
-  -H "X-Api-Key: $api_key"

Example response payload

{
-  "items": [
-    {
-      "accountId": "3xsjxxwmnpkunjbcpekyekc84rzxr4",
-      "country": "BT",
-      "id": "5f6bf6ff81552101f8ff6122",
-      "name": "Adams, Runolfsdottir and Botsford",
-      "test": true,
-      "onboardingStatus": "applied",
-      "createdAt": "2021-11-12T01:17:46.499Z",
-      "updatedAt": "2021-11-12T01:17:46.499Z",
-      "createdBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-      "updatedBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey"
-    },
-    {
-      "accountId": "3xsjxxwmnpkunjbcpekyekc84rzxr4",
-      "country": "GM",
-      "id": "5f6bf6ff81552101f8ff6123",
-      "name": "Vandervort Inc",
-      "test": false,
-      "onboardingStatus": "applied",
-      "createdAt": "2021-11-12T01:17:46.499Z",
-      "updatedAt": "2021-11-12T01:17:46.499Z",
-      "createdBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-      "updatedBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey"
-    },
-    {
-      "accountId": "3xsjxxwmnpkunjbcpekyekc84rzxr4",
-      "country": "MZ",
-      "id": "5f6bf6ff81552101f8ff6124",
-      "name": "West, O'Reilly and Huels",
-      "test": true,
-      "onboardingStatus": "applied",
-      "createdAt": "2021-11-12T01:17:46.499Z",
-      "updatedAt": "2021-11-12T01:17:46.499Z",
-      "createdBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-      "updatedBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey"
-    }
-  ]
-}


diff --git a/api/pagination.html b/api/pagination.html deleted file mode 100644 index d480a4f5c..000000000 --- a/api/pagination.html +++ /dev/null @@ -1,26 +0,0 @@ - Pagination - Centrapay Docs Pagination | Centrapay Docs Link Search Menu Expand Document

Pagination

Pagination allows a listing endpoint to return a subset of results. The goal is to reduce memory usage and speed up page rendering.

To retrieve the next page, a pageKey can be supplied. Typically this will be the nextPageKey returned from your previous query.

Please note that when making a request, the values of pageKey must be URL-encoded. This ensures proper handling of special characters and encoding requirements.

Some of our endpoints have been designed to be forwards compatible with pagination. When we do bring support to GET endpoints for listing, these conventions will be followed.

Models

Mandatory Fields

Field Type Description
items Array A list from the current page.

Optional Fields

Field Type Description
nextPageKey String Can be used to fetch the next page, not present on the last page.

Example

A GET endpoint for listing with a pageKey

GET /api/examples

curl -G https://service.centrapay.com/api/examples \
-  -H "X-Api-Key: $api_key" \
-  -d pageKey=Example#E9eXsErwA444qFDoZt5iLA|Activity#000000000000001|614161c4c4d3020073bd4ce8

Fields

Field Type Description
pageKey String Optional Used to retrieve the next page of items.

A page with more content

{
-  "nextPageKey": "5ee0c486308f590260d9a07f|ded3f328-1123-11ec-bf1a-5ba46eb12a7d",
-  "items": [
-    {
-      "value": "16",
-      "assetType": "centrapay.nzd.main"
-    },
-    {
-      "value": "32",
-      "assetType": "centrapay.nzd.main"
-    },
-    {
-      "value": "64",
-      "assetType": "centrapay.nzd.main"
-    }
-  ]
-}

The last page

{
-  "items": [
-    {
-      "value": "128",
-      "assetType": "centrapay.nzd.main"
-    }
-  ]
-}


diff --git a/api/patron-codes.html b/api/patron-codes.html deleted file mode 100644 index 140352af7..000000000 --- a/api/patron-codes.html +++ /dev/null @@ -1,29 +0,0 @@ - Patron Codes - Centrapay Docs Patron Codes | Centrapay Docs Link Search Menu Expand Document

Patron Codes

A Patron Code is an alternative to presenting a QR code where that option isn’t available

Contents

Models

Patron Code

Fields

Field Type Description
id String The Patron Code’s unique identifier.
barcode String ✩ Field to display in barcode format.
createdAt Timestamp Date when the Patron Code was created.
expiresAt Timestamp Date when the Patron Code will expire.
appName String Optional The app used to create the Patron Code. DEPRECATED
accountId String The account id of the creator of the patron code.
testScenarioName String Optional The Test Scenario Name of the Patron Code.

✩ Barcode is a 16 digit number. The first 6 digits are a Centrapay defined prefix, then a 9 digit code, then a luhn checksum digit.

9 9 9 0 0 0 1 2 3 4 5 6 7 8 9 5  ❖  complete barcode
-9 9 9 0 0 0 - - - - - - - - - -  ❖  centrapay prefix
-- - - - - - 1 2 3 4 5 6 7 8 9 -  ❖  code
-- - - - - - - - - - - - - - - 5  ❖  luhn checksum
-

The Centrapay Prefix may present any of the following prefixes:

  • 121921
  • 123000
  • 282828
  • 293000
  • 321000
  • 321123
  • 636863
  • 713131
  • 765432
  • 777000
  • 839234
  • 848484
  • 888444
  • 929394
  • 987600
  • 999000

Test Scenario Name

This field is used to inject behavior into a Payment Request when the generated barcode is supplied on creation. If a Test Scenario Name is defined on a Patron Code, it is considered a test resource and can only be used with Payment Requests that will have a liveness of ‘test’. The Asset Type centrapay.nzd.test is required to run test scenarios.

name description
force-condition-check-photo-id The Payment Request will have a required Merchant Condition to check photo id.

Operations

Creating a Patron Code

POST /api/patron-codes

curl -X POST https://service.centrapay.com/api/patron-codes \
-  -H "Authorization: $jwt"

Example Response Payload

{
-  "id": "V17FByEP9gm1shSG6a1Zzx",
-  "accountId": "Jaim1Cu1Q55uooxSens6yk",
-  "barcode": "9990001234567895",
-  "createdAt": "2021-06-08T22:55:00.000Z",
-  "expiresAt": "2021-06-08T23:00:00.000Z",
-  "appName": "centrapay"
-}

You can find payment request information attached to a Patron Code by polling for the Payment Request using the transacting APIs.

Retrieving a Patron Code

GET /api/patron-codes/{patronCodeId}

curl https://service.centrapay.com/api/patron-codes/V17FByEP9gm1shSG6a1Zzx \
-  -H "Authorization: $jwt"

Example Response Payload

{
-  "id": "V17FByEP9gm1shSG6a1Zzx",
-  "accountId": "Jaim1Cu1Q55uooxSens6yk",
-  "barcode": "9990001234567895",
-  "createdAt": "2021-06-08T22:55:00.000Z",
-  "expiresAt": "2021-06-08T23:00:00.000Z",
-  "appName": "centrapay"
-}

Retrieving a Patron Code by Barcode

GET /api/patron-codes/barcode/{barcode}

curl https://service.centrapay.com/api/patron-codes/barcode/9990001234567895 \
-  -H "X-Api-Key: $api_key"

Example Response Payload

{
-  "id": "V17FByEP9gm1shSG6a1Zzx",
-  "accountId": "Jaim1Cu1Q55uooxSens6yk",
-  "barcode": "9990001234567895",
-  "createdAt": "2021-06-08T22:55:00.000Z",
-  "expiresAt": "2021-06-08T23:00:00.000Z",
-  "appName": "centrapay"
-}

Error Responses

Status Code Description
400 CHECKSUM_FAILED Luhn checksum digit doesn’t pass.
403 PATRON_CODE_INVALID Patron Code doesn’t exist or it has expired.

diff --git a/api/payment-activities.html b/api/payment-activities.html deleted file mode 100644 index 00b5cd11d..000000000 --- a/api/payment-activities.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - Redirecting… - - - - -

Redirecting…

- Click here if you are not redirected. - diff --git a/api/payment-requests.html b/api/payment-requests.html deleted file mode 100644 index 49366873c..000000000 --- a/api/payment-requests.html +++ /dev/null @@ -1,986 +0,0 @@ - Payment Requests - Centrapay Docs Payment Requests | Centrapay Docs Link Search Menu Expand Document

Payment Requests

Payment Requests represent the intention for a merchant to receive payment for goods and services. Payment Requests define the amount to be paid and the asset types that are acceptable for payment.

A Payment Request is shared with, and paid by, a patron. The Payment Flows Guide has more details regarding negotiation of Payment Requests.

Payment Requests have the following statuses:

  • new: after being created.
  • paid: after being paid with one or more transactions.
  • cancelled: after being cancelled or voided by the merchant.
  • expired: after expiry time is reached without being paid or cancelled.

Payment requests can also be refunded for a short period of time after being paid.

Payment request state transitions can be notified to webhooks.

Centrapay Payment Requests are serviced via two sets of endpoints; the “next” version (documented on this page) and the “legacy” version (documented at Legacy Payment Requests).

Contents

Models

Payment Request

Mandatory Fields

Field Type Description
id String The payment request id.
shortCode String A shorter id that can be used to identify the payment request for up to two years.
url String The URL for a Centrapay webpage that allows the user to pay the Payment Request.
value Monetary The canonical value of the payment request. Must be less than 100000000 and positive.
paymentOptions Array The Payment Options, indicating valid asset for payment.
merchantId String The id of the Merchant the Payment Request is on behalf of.
merchantName String The name of the Merchant the Payment Request is on behalf of.
configId String The Merchant Config id used to configure the payment options.
status String “new”, “paid”, “cancelled”, or “expired”.
liveness String Indicates liveness of assets that are accepted, determined by the payment options. Values are “main” or “test”.
createdAt Timestamp When the payment request was created.
updatedAt Timestamp When the payment request was updated.
expiresAt Timestamp When the payment request expires.
merchantConditions Array A dynamic list of Payment Conditions that require operator approval to complete a payment. Conditions are calculated when polling a Payment Request.
remainingAmount BigNumber The amount of the payment request which has not been paid for.

Optional Fields

Field Type Description
patronCodeId String The id of a Patron Code the payment request is attached to.
barcode String Scanned Code used to create the payment request.
barcodeType String Indicates the provider of a barcode, e.g. ‘ticketek’
collectionId String The identifier of the token collection
expirySeconds Number The expiry seconds used to configure the payment request expiry.
lineItems Array EXPERIMENTAL The Line Items being paid for.
purchaseOrderRef String A reference to a purchase order for this payment request.
invoiceRef String A reference to an invoice for this payment request. Must be less than or equal to 128 characters.
redirectUrl String Experimental URL to redirect the user to after they pay or cancel the Payment Request. Must start with one of the allowedRedirectUrls for the Merchant Config.
externalRef String An external reference to the payment request
terminalId String The software or logical id of the payment terminal.
deviceId String The hardware id or serial number of the payment terminal.
operatorId String POS operator Id.
createdByAccountId String Id of the Centrapay Account creating the Payment Request.
createdByAccountName String Name of the Centrapay Account creating the Payment Request.
conditionsEnabled Boolean Flag to indicate that a merchant is able to accept Payment Conditions.
patronNotPresent Boolean Flag to indicate the patron is not physically present. This may affect payment conditions or available Payment Options.
cancellationReason String The reason that the payment request was cancelled. See Cancellation Reasons for possible values.
preAuth Boolean Flag to indicate the if the request is a Pre Auth for supported Asset Types.
preAuthExpiresAt Timestamp Pre Auth completions and releases will be accepted until this time.
preAuthStatus String Describes which state a Pre Auth Payment Request is in. Valid values are “authorized”, or “released”.
taxNumber Tax Number The value-added tax configuration for the Business that the Merchant belongs to.
basketAmount BigNumber The total amount of the transaction including non Centrapay payment methods.
partialAllowed Boolean Flag to indicate that the payment request can be paid for partially

Payment Option

Mandatory Fields

Field Type Description
assetType String An Asset Type reference.
amount BigNumber The value required to pay using the canonical units for the asset type.

Optional Fields

Field Type Description
bitcoinAddress String ★ Address to send Bitcoin, when the “assetType” is bitcoin.*
productCodes Array Supported product codes for the payment request, when the “assetType” is epay.nzd.*
acceptedCollections Array Accepted Collections for the payment request, when the “assetType” is centrapay.token.*

★ For payment options which specify an address, there’s a requirement to make a transaction on an external ledger. Once you have made that payment, you can use the transaction id to Pay a Payment Request using the legacy payment API.

Accepted Collection

If a Payment Request contains a centrapay.token.* Payment Option an array of Accepted Collections will be present inside the centrapay.token Payment Option. The Accepted Collections returned can be used to determine if a Centrapay Token can be used to pay a Payment Request, and the line items able to be purchased using the token.

Fields

Field Type Description
id String The id of a collection that the merchant accepts for the given Payment Request
lineItems Array The Line Items that can be purchased by a Centrapay Token with matching collection id

Payment Condition

Some Asset Types require conditional approval to pay. Possible Payment Conditions include confirming proof of ID or confirming a promotional item was purchased.

The conditionsEnabled flag should be set to true when Creating a Payment Request to indicate that Payment Conditions can be accepted. If a Payment Condition arises, the absence of the conditionsEnabled flag will result in the Payment Request being cancelled.

Conditions can either be accepted or declined. If a condition is declined, the Payment Request will be cancelled.

Fields

Name Type Description
id BigNumber An enumerated identifier for the Payment Condition.
name String The name of the condition.
message String The human-readable description of the condition.
status String The status of the condition. Valid values include accepted, declined, awaiting-merchant or void.

Line Item

An order item for which payment is requested. The currency and units for a line item price will be consistent with the payment request value and the sum of line item prices should equal the payment request value.

Line items can include a discount amount. A discount that applies to multiple line items may be represented as a separate line item with a negative amount.

Mandatory Fields

Field Type Description
name String The product description.
sku String The product (stock keeping unit) code.
qty BigNumber The product quantity (eg. item count, weight, volume etc).
price BigNumber The total price in cents for the line item (eg. price = product price * qty - discounts + tax).

Optional Fields

Field Type Description
tax BigNumber Tax rate (percentage).
discount BigNumber Discount amount in cents (tax exclusive).
productId String Manufacturer’s product identifier (eg GTIN/EAN).
restricted Boolean Disallow payment with a “restricted” Asset Type.
classification Object Product Classification.

Product Classification

Mandatory Fields

Field Type Description
type String The classification type (see below).
code String The classification code.
name String The classification title.

Optional Fields

Field Type Description
props Map The product classification properties (see below).

Classification Types

Currently only “GS1” is supported. See GS1 Global Product Classification. When “GS1” is used as the product classification type then the product code should be the GPC product brick identifier.

Classification Properties

Classification properties allow optional additional product characterizing attrubutes to be supplied. In the case of GS1 product classifications this corresponds to the GPC brick attributes.

The Paid By provides a summary of the transactions after the Payment Request was paid.

Mandatory Fields

Field Type Description
assetTotals Array The sum of paid amounts Asset Totals for each transacted asset type.

Asset Total

Mandatory Fields

Field Type Description
type String The asset type used for the payment.
description String A human readable description of the asset type used.
settlementDate Timestamp The estimated date that the merchant can expect settlement of funds.
total Monetary The total monetary value of the asset type used to pay a Payment Request

Optional Fields

Field Type Description
lineItems Array Optional Experimental The Line Items paid for by the asset type.

Payment Activity

A Payment Activity records a transaction that has happened on a Payment Request. Payment Activities are created when a Payment Request has been created, paid, refunded, cancelled, or expired.

Mandatory Fields

Field Type Description
type String See Activity Types below.
value Monetary The value of the payment activity. Must be less than 100000000 and positive.
paymentRequestId String The Payment Request’s id.
merchantId String The Payment Request’s Merchant id.
merchantConfigId String The Payment Request’s Merchant Config id.
merchantAccountId String The Payment Request’s Merchant Account id.
merchantName String The Payment Request’s Merchant name.
createdAt Timestamp When the activity was created.
createdBy CRN The identity that created the activity.
paymentRequestCreatedBy CRN The identity that created the Payment Request.
activityNumber BigNumber Unique sequential number for the activity.
shortCode String A shorter id that can be used for up to two years.

Optional Fields

Field Type Description
assetType String The Asset Type for the “payment” or “refund” activity.
external Boolean The payment activity is recording a transaction that occurred outside the Centrapay system.
cancellationReason String The reason that the Payment Request was cancelled. See Cancellation Reasons for possible values.
conditionId Number The id of a condition if the activity was for a condition being accepted or declined.
idempotencyKey String Required when confirming a Payment Request. This is an identifier from your system to enforce uniqueness.
confirmationIdempotencyKey String Required when refunding a Pre Auth Confirmation. Should be the same as the idempotencyKey used for Confirmation.
preAuth Boolean True if the related Payment Request is a Pre Auth

Activity Types

Name Description
request Payment Request was created.
preAuthRequest Payment Request was created with the preAuth flag set to “true”.
paid Payment Request was paid.
payment A payment was made towards the Payment Request.
refund Funds were returned to the shopper.
cancellation Payment Request was cancelled by the merchant or the shopper.
expiry Payment Request wasn’t paid before time out.
accept-condition A Payment Condition was accepted.
decline-condition A Payment Condition was declined.
authorization A Pre Auth Payment Request was approved and confirmations can be made against it.
confirmation Funds on a Pre Auth have been drawn down on.
release Pre Auth has been finalised and any remaining funds from Authorization have been returned.

Cancellation Reasons

Reason Description
CANCELLED_BY_MERCHANT The merchant cancelled the payment request by calling the cancel or void endpoint.
CANCELLED_BY_PATRON The patron cancelled the transaction.
PATRON_CODE_INVALID The patron code on the payment request was invalid.
PAYMENT_FAILED The payment request failed for an unknown reason.
PATRON_CODE_EXPIRED The patron code on the payment request has expired.
DECLINED_BY_PATRON The payment was declined by the patron during approval steps.
DECLINED_BY_MERCHANT The payment was declined by the merchant during approval steps.
PAYMENT_DECLINED The payment parameters were valid but payment was declined because additional payment restrictions were violated. For example, asset not active, asset overdrawn, quota exceeded or line item category restrictions.
PAYMENT_REQUEST_EXPIRED The payment request has expired.
NO_AVAILABLE_PAYMENT_OPTIONS No payment options match the requested payment parameters.
INACTIVE_ASSET The asset used to pay the payment request is inactive.

Operations

Create a Payment Request

POST /api/payment-requests

Create a Payment Request

curl -X POST https://service.centrapay.com/api/payment-requests \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "configId": "5efbe2fb96c08357bb2b9242",
-    "value": {
-      "amount": "8991",
-      "currency": "NZD"
-    }
-  }'

Create a Payment Request with redirect url

curl -X POST https://service.centrapay.com/api/payment-requests \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "configId": "5efbe2fb96c08357bb2b9242",
-    "value": {
-      "amount": "8991",
-      "currency": "NZD"
-    },
-    "redirectUrl": "https://example.com/store/checkout?cartId=1234"
-  }'

Create a Payment Request with a Barcode

curl -X POST https://service.centrapay.com/api/payment-requests \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "barcode": "1219210961929460",
-    "configId": "5efbe2fb96c08357bb2b9242",
-    "value": {
-      "amount": "8991",
-      "currency": "NZD"
-    }
-  }'

Create a Pre Auth Payment Request

curl -X POST https://service.centrapay.com/api/payment-requests \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "barcode": "1219210961929460",
-    "configId": "5efbe2fb96c08357bb2b9242",
-    "value": {
-      "amount": "8991",
-      "currency": "NZD"
-    },
-    "preAuth": true
-  }'

Create a Payment Request with purchase order, invoice, and external reference

curl -X POST https://service.centrapay.com/api/payment-requests \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "configId": "5efbe2fb96c08357bb2b9242",
-    "value": {
-      "amount": "8991",
-      "currency": "NZD"
-    },
-    "purchaseOrderRef": "oF6kj1QlH5gK0y9rjRHFh2",
-    "invoiceRef": "sy8CRmo3sp3ArOpnfmb423",
-    "externalRef": "dYTC266s4DFdsgGd909f"
-  }'

Create a Payment Request with Line Items

curl -X POST https://service.centrapay.com/api/payment-requests \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "configId": "5efbe2fb96c08357bb2b9242",
-    "value": {
-      "amount": "6190",
-      "currency": "NZD"
-    },
-    "lineItems": [
-      {
-        "name": "Coffee Grounds",
-        "sku": "GH1234",
-        "qty": "1",
-        "price": "4195",
-        "tax": "15.00"
-      },
-      {
-        "name": "Centrapay Cafe Mug",
-        "sku": "SB456",
-        "qty": "25",
-        "price": "1995",
-        "tax": "15.00",
-        "discount": "199",
-        "restricted": true,
-        "productId": "19412345123459",
-        "classification": {
-          "type": "GS1",
-          "code": "10001874",
-          "name": "CROCKERY",
-          "props": {
-            "20001479": "30008960"
-          }
-        }
-      }
-    ]
-  }'

Create a Payment Request with Line Items and Partial Pay

curl -X POST https://service.centrapay.com/api/payment-requests \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "configId": "5efbe2fb96c08357bb2b9242",
-    "value": {
-      "amount": "6190",
-      "currency": "NZD"
-    },
-    "partialAllowed": true,
-    "basketAmount": "10000",
-    "lineItems": [
-      {
-        "name": "Coffee Grounds",
-        "sku": "GH1234",
-        "qty": "1",
-        "price": "4195",
-        "tax": "15.00"
-      },
-      {
-        "name": "Centrapay Cafe Mug",
-        "sku": "SB456",
-        "qty": "25",
-        "price": "1995",
-        "tax": "15.00",
-        "discount": "199",
-        "restricted": true,
-        "productId": "19412345123459",
-        "classification": {
-          "type": "GS1",
-          "code": "10001874",
-          "name": "CROCKERY",
-          "props": {
-            "20001479": "30008960"
-          }
-        }
-      }
-    ]
-  }'

Create a Payment Request with barcode, barcodeType, and collectionId

curl -X POST https://service.centrapay.com/api/payment-requests \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "configId": "5efbe2fb96c08357bb2b9242",
-    "value": {
-      "amount": "25",
-      "currency": "NZD"
-    },
-    "barcode": "6273d06820db5ec22914f697c95b07122",
-    "barcodeType": "ticketek",
-    "collectionId": "C12345",
-    "lineItems": [
-      {
-        "name": "Coffee Grounds",
-        "sku": "GH1234",
-        "qty": "1",
-        "price": "4195",
-        "tax": "15.00"
-      },
-      {
-        "name": "Centrapay Cafe Mug",
-        "sku": "SB456",
-        "qty": "25",
-        "price": "1995",
-        "tax": "15.00",
-        "discount": "199",
-        "restricted": true,
-        "productId": "19412345123459",
-        "classification": {
-          "type": "GS1",
-          "code": "10001874",
-          "name": "CROCKERY",
-          "props": {
-            "20001479": "30008960"
-          }
-        }
-      }
-    ]
-  }'

Fields

Field Type Description
configId String The Merchant Config id used to configure the payment options.
value Monetary The canonical value of the payment request. Must be positive.
barcode String Optional The Scanned Code to identify the account to attach the payment request to
barcodeType String Optional Indicates the provider of a barcode, e.g. ‘ticketek’
collectionId String Optional The identifier of the token collection
expirySeconds String Optional How long the payment request will be payable for. Maximum value: 86400 (24 hours).
lineItems Array Optional Experimental The Line Items being paid for.
purchaseOrderRef String Optional A reference to a purchase order for this payment request.
invoiceRef String Optional A reference to an invoice for this payment request. Must be less than or equal to 128 characters.
externalRef String Optional An external reference to the payment request
redirectUrl String Optional Experimental URL to redirect the user to after they pay or cancel the Payment Request. Must start with one of the allowedRedirectUrls for the Merchant Config.
terminalId String Optional The software or logical id of the payment terminal.
deviceId String Optional The hardware id or serial number of the payment terminal.
operatorId String Optional The POS operator Id.
conditionsEnabled Boolean Optional Flag to opt into accepting Asset Types which require conditions to be met. If not set, assets which require conditions will not be payment options.
patronNotPresent Boolean Optional Flag to indicate the patron is not physically present. This may affect payment conditions or available Payment Options.
preAuth Boolean Optional Flag to indicate if the Payment Request is a Pre Auth for supported Asset Types. If set barcode must be provided.
partialAllowed Boolean Optional Flag to indicate if the Payment Request can be partially paid for. If set basketAmount must be provided.
basketAmount Monetary Optional The total amount of the payment expected from the customer, including payments outside of Centrapay. Must be less than 100000000 and positive. If provided partialAllowed must also be set.

Example response payload

{
-  "id": "MhocUmpxxmgdHjr7DgKoKw",
-  "shortCode": "CP-C7F-ZS5",
-  "url": "https://app.centrapay.com/pay/MhocUmpxxmgdHjr7DgKoKw",
-  "patronCodeId": "V17FByEP9gm1shSG6a1Zzx",
-  "barcode": "9990001234567895",
-  "barcodeType": "ticketek",
-  "collectionId": "C12345",
-  "merchantId": "26d3Cp3rJmbMHnuNJmks2N",
-  "merchantName": "Centrapay Café",
-  "configId": "5efbe2fb96c08357bb2b9242",
-  "purchaseOrderRef": "oF6kj1QlH5gK0y9rjRHFh2",
-  "invoiceRef": "sy8CRmo3sp3ArOpnfmb423",
-  "value": {
-    "currency": "NZD",
-    "amount": "6190"
-  },
-  "paymentOptions": [
-    {
-      "amount": "6190",
-      "assetType": "centrapay.nzd.test"
-    },
-    {
-      "amount": "6190",
-      "assetType": "epay.nzd.test",
-      "productCodes": [
-        "23403"
-      ]
-    },
-    {
-      "amount": "6190",
-      "assetType": "centrapay.token.test",
-      "acceptedCollections": [
-        {
-          "id": "QWNB6jurnBczmvXDVfRuMK",
-          "lineItems": [
-            {
-              "name": "Coffee Grounds",
-              "sku": "GH1234",
-              "qty": "1",
-              "price": "4195",
-              "tax": "15.00"
-            }
-          ]
-        }
-      ]
-    }
-  ],
-  "lineItems": [
-    {
-      "name": "Coffee Grounds",
-      "sku": "GH1234",
-      "qty": "1",
-      "price": "4195",
-      "tax": "15.00"
-    },
-    {
-      "name": "Centrapay Cafe Mug",
-      "sku": "SB456",
-      "qty": "25",
-      "price": "1995",
-      "tax": "15.00",
-      "discount": "199"
-    }
-  ],
-  "merchantConditions": [
-
-  ],
-  "status": "new",
-  "createdAt": "2021-06-08T04:04:27.426Z",
-  "updatedAt": "2021-06-08T04:04:27.426Z",
-  "expiresAt": "2021-06-08T04:06:27.426Z",
-  "liveness": "test",
-  "expirySeconds": 120
-}

Error Responses

Status Code Description
400 LINE_ITEMS_SUM_CHECK_FAILED The sum value of the line items did not equal the value of the payment request.
403 REDIRECT_URL_INVALID The supplied redirectUrl does not start with one of the allowedRedirectUrls on the Merchant Config.
400 CHECKSUM_FAILED Luhn checksum digit doesn’t pass.
403 PATRON_CODE_INVALID Patron Code doesn’t exist or has expired.
403 NO_AVAILABLE_PAYMENT_OPTIONS No payment options match the requested payment parameters.
403 TOKEN_COLLECTION_NOT_FOUND The token collection does not exist.

Get a Payment Request

GET /api/payment-requests/{paymentRequestId}

curl https://service.centrapay.com/api/payment-requests/MhocUmpxxmgdHjr7DgKoKw \
-  -H "Authorization: $jwt"

Example response payload

{
-  "id": "MhocUmpxxmgdHjr7DgKoKw",
-  "shortCode": "CP-C7F-ZS5",
-  "url": "https://app.centrapay.com/pay/MhocUmpxxmgdHjr7DgKoKw",
-  "patronCodeId": "V17FByEP9gm1shSG6a1Zzx",
-  "barcode": "9990001234567895",
-  "merchantId": "26d3Cp3rJmbMHnuNJmks2N",
-  "merchantName": "Centrapay Café",
-  "configId": "5efbe2fb96c08357bb2b9242",
-  "purchaseOrderRef": "oF6kj1QlH5gK0y9rjRHFh2",
-  "invoiceRef": "sy8CRmo3sp3ArOpnfmb423",
-  "value": {
-    "currency": "NZD",
-    "amount": "8991"
-  },
-  "paymentOptions": [
-    {
-      "amount": "8991",
-      "assetType": "centrapay.nzd.test"
-    },
-    {
-      "amount": "6190",
-      "assetType": "centrapay.token.test",
-      "acceptedCollections": [
-        {
-          "id": "QWNB6jurnBczmvXDVfRuMK",
-          "lineItems": [
-            {
-              "name": "Coffee Grounds",
-              "sku": "GH1234",
-              "qty": "1",
-              "price": "4195",
-              "tax": "15.00"
-            }
-          ]
-        }
-      ]
-    }
-  ],
-  "lineItems": [
-    {
-      "name": "Coffee Grounds",
-      "sku": "GH1234",
-      "qty": "1",
-      "price": "4195",
-      "tax": "15.00"
-    },
-    {
-      "name": "Centrapay Cafe Mug",
-      "sku": "SB456",
-      "qty": "25",
-      "price": "1995",
-      "tax": "15.00",
-      "discount": "199"
-    }
-  ],
-  "merchantConditions": [
-    {
-      "id": "1",
-      "name": "photo-id-check",
-      "message": "Please check ID",
-      "status": "awaiting-merchant"
-    }
-  ],
-  "status": "new",
-  "createdAt": "2021-06-08T04:04:27.426Z",
-  "updatedAt": "2021-06-08T04:04:27.426Z",
-  "expiresAt": "2021-06-08T04:06:27.426Z",
-  "liveness": "test",
-  "expirySeconds": 120
-}

Example response payload paid by multiple asset types

{
-  "id": "MhocUmpxxmgdHjr7DgKoKw",
-  "shortCode": "CP-C7F-ZS5",
-  "url": "https://app.centrapay.com/pay/MhocUmpxxmgdHjr7DgKoKw",
-  "merchantId": "26d3Cp3rJmbMHnuNJmks2N",
-  "merchantName": "Centrapay Café",
-  "configId": "5efbe2fb96c08357bb2b9242",
-  "value": {
-    "currency": "NZD",
-    "amount": "6910"
-  },
-  "paymentOptions": [
-    {
-      "amount": "6910",
-      "assetType": "centrapay.nzd.main"
-    },
-    {
-      "amount": "6910",
-      "assetType": "centrapay.token.main",
-      "acceptedCollections": [
-        {
-          "id": "QWNB6jurnBczmvXDVfRuMK",
-          "lineItems": [
-            {
-              "name": "Coffee Grounds",
-              "sku": "GH1234",
-              "qty": "1",
-              "price": "4195",
-              "tax": "15.00"
-            }
-          ]
-        }
-      ]
-    }
-  ],
-  "lineItems": [
-    {
-      "name": "Coffee Grounds",
-      "sku": "GH1234",
-      "qty": "1",
-      "price": "4195",
-      "tax": "15.00"
-    },
-    {
-      "name": "Centrapay Cafe Mug",
-      "sku": "SB456",
-      "qty": "25",
-      "price": "1995",
-      "tax": "15.00",
-      "discount": "199"
-    }
-  ],
-  "merchantConditions": [
-
-  ],
-  "status": "paid",
-  "createdAt": "2021-06-08T04:04:27.426Z",
-  "updatedAt": "2021-06-08T04:04:27.426Z",
-  "expiresAt": "2021-06-08T04:06:27.426Z",
-  "liveness": "main",
-  "expirySeconds": 120,
-  "paidBy": {
-    "assetTotals": [
-      {
-        "type": "centrapay.nzd.main",
-        "description": "Centrapay NZD",
-        "settlementDate": "2021-06-28T04:04:27.426Z",
-        "total": {
-          "amount": "1995",
-          "currency": "NZD"
-        }
-      },
-      {
-        "type": "centrapay.token.main",
-        "description": "Centrapay Token",
-        "settlementDate": "2021-06-28T04:04:27.426Z",
-        "total": {
-          "amount": "4195",
-          "currency": "NZD"
-        },
-        "lineItems": [
-          {
-            "name": "Coffee Grounds",
-            "sku": "GH1234",
-            "qty": "1",
-            "price": "4195",
-            "tax": "15.00"
-          }
-        ]
-      }
-    ]
-  }
-}

Example response payload for a Pre Auth Payment Request

{
-  "id": "MhocUmpxxmgdHjr7DgKoKw",
-  "shortCode": "CP-C7F-ZS5",
-  "url": "https://app.centrapay.com/pay/MhocUmpxxmgdHjr7DgKoKw",
-  "barcode": 503901342,
-  "merchantId": "26d3Cp3rJmbMHnuNJmks2N",
-  "merchantName": "Centrapay Café",
-  "configId": "5efbe2fb96c08357bb2b9242",
-  "value": {
-    "currency": "NZD",
-    "amount": "1000"
-  },
-  "paymentOptions": [
-    {
-      "amount": "1000",
-      "assetType": "farmlands.nzd.main"
-    }
-  ],
-  "merchantConditions": [
-
-  ],
-  "status": "new",
-  "createdAt": "2021-06-08T04:04:27.426Z",
-  "updatedAt": "2021-06-08T04:04:27.426Z",
-  "expiresAt": "2021-06-08T04:06:27.426Z",
-  "liveness": "main",
-  "expirySeconds": 120,
-  "preAuth": true,
-  "preAuthStatus": "authorized",
-  "preAuthExpiresAt": "2021-09-08T04:04:27.426Z"
-}

Get a Payment Request by Short Code

Returns the latest Payment Request that matches the given short code.

GET /api/payment-requests/short-code/{shortCode}

curl https://service.centrapay.com/api/payment-requests/short-code/CP-C7F-ZS5 \
-  -H "Authorization: $jwt"

Example response payload with a Payment Request

{
-  "id": "MhocUmpxxmgdHjr7DgKoKw",
-  "shortCode": "CP-C7F-ZS5",
-  "url": "https://app.centrapay.com/pay/MhocUmpxxmgdHjr7DgKoKw",
-  "patronCodeId": "V17FByEP9gm1shSG6a1Zzx",
-  "barcode": "9990001234567895",
-  "merchantId": "26d3Cp3rJmbMHnuNJmks2N",
-  "merchantName": "Centrapay Café",
-  "configId": "5efbe2fb96c08357bb2b9242",
-  "value": {
-    "currency": "NZD",
-    "amount": "100"
-  },
-  "paymentOptions": [
-    {
-      "amount": "100",
-      "assetType": "centrapay.nzd.test"
-    }
-  ],
-  "merchantConditions": [
-
-  ],
-  "status": "new",
-  "createdAt": "2021-06-08T04:04:27.426Z",
-  "updatedAt": "2021-06-08T04:04:27.426Z",
-  "expiresAt": "2021-06-08T04:06:27.426Z",
-  "liveness": "test",
-  "expirySeconds": 120
-}

Error Responses

Status Code Description
400 CHECKSUM_FAILED Luhn checksum digit doesn’t pass.

Get a Payment Request linked to a Patron Code

Returns the latest Payment Request with status “new” that has been attached to a Patron Code. The Payment Request may have been created with a reference to any Patron Code owned by the user’s account.

This endpoint should be polled just after a user’s Patron Code has been scanned. This will allow them to find the Payment Request and proceed to pay.

GET /api/me/patron-code-payment-request

curl https://service.centrapay.com/api/me/patron-code-payment-request \
-  -H "Authorization: $jwt"

Example response payload when no new Payment Request found

{
-}

Example response payload with a Payment Request

{
-  "id": "MhocUmpxxmgdHjr7DgKoKw",
-  "shortCode": "CP-C7F-ZS5",
-  "url": "https://app.centrapay.com/pay/MhocUmpxxmgdHjr7DgKoKw",
-  "patronCodeId": "V17FByEP9gm1shSG6a1Zzx",
-  "barcode": "9990001234567895",
-  "merchantId": "26d3Cp3rJmbMHnuNJmks2N",
-  "merchantName": "Centrapay Café",
-  "configId": "5efbe2fb96c08357bb2b9242",
-  "value": {
-    "currency": "NZD",
-    "amount": "100"
-  },
-  "paymentOptions": [
-    {
-      "amount": "100",
-      "assetType": "centrapay.nzd.test"
-    }
-  ],
-  "merchantConditions": [
-
-  ],
-  "status": "new",
-  "createdAt": "2021-06-08T04:04:27.426Z",
-  "updatedAt": "2021-06-08T04:04:27.426Z",
-  "expiresAt": "2021-06-08T04:06:27.426Z",
-  "liveness": "test",
-  "expirySeconds": 120
-}

Pay a Payment Request

To pay a payment request you must supply the name of the Asset Type and one of assetId, transactionId or authorization. Use assetId if the Asset Type is managed by Centrapay. Use transactionId to verify an external transaction such as a Bitcoin payment. Use authorization to authorize an external transaction.

POST /api/payment-requests/{paymentRequestId}/pay

Pay a Payment Request with a Centrapay asset

curl -X POST https://service.centrapay.com/api/payment-requests/{paymentRequestId}/pay \
-  -H "Authorization: $jwt" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "assetType": "centrapay.nzd.main",
-    "assetId": "WRhAxxWpTKb5U7pXyxQjjY"
-  }'

Pay a Payment Request using external transaction

curl -X POST https://service.centrapay.com/api/payment-requests/{paymentRequestId}/pay \
-  -H "Authorization: $jwt" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "assetType": "bitcoin.main",
-    "transactionId": "VMXMkUttDGTVz4ESv5ND56"
-  }'

Pay a Payment Request using authorization

curl -X POST https://service.centrapay.com/api/payment-requests/{paymentRequestId}/pay \
-  -H "Authorization: $jwt" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "assetType": "stadius.main",
-    "authorization": "LiOkwEtDGTVz4ESv5NS83"
-  }'

Partially Pay a Payment Request

curl -X POST https://service.centrapay.com/api/payment-requests/{paymentRequestId}/pay \
-  -H "Authorization: $jwt" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "assetType": "centrapay.nzd.main",
-    "assetId": "WRhAxxWpTKb5U7pXyxQjjY",
-    "amount": "200",
-    "mode": "partial-payment"
-  }'

Fields

Field Type Description
assetType String The name of the Asset Type.
assetId String Optional The id of the Asset being used to make payment.
transactionId String Optional Used to verify an external transaction eg Bitcoin.
authorization String Optional Used to authorize an external transaction.
mode String Optional The mode of payment valid value is parital-payment.
amount String Optional The amount being paid if less than the Payment Request amount.

One of either assetId, transactionId or authorization must be provided.

Example response payload

{
-  "type": "payment",
-  "value": {
-    "currency": "NZD",
-    "amount": "1000"
-  },
-  "assetType": "centrapay.nzd.main",
-  "paymentRequestId": "MhocUmpxxmgdHjr7DgKoKw",
-  "shortCode": "CP-C7F-ZS5-015",
-  "merchantName": "Centrapay Café",
-  "merchantId": "26d3Cp3rJmbMHnuNJmks2N",
-  "merchantAccountId": "C4QnjXvj8At6SMsEN4LRi9",
-  "merchantConfigId": "5efbe2fb96c08357bb2b9242",
-  "createdAt": "2021-06-08T04:04:27.426Z",
-  "createdBy": "crn::user:0af834c8-1110-11ec-9072-3e22fb52e878",
-  "paymentRequestCreatedBy": "crn::user:0af834c8-1110-11ec-9072-3e22fb52e878",
-  "activityNumber": "2",
-  "mode": "partial-payment"
-}

Error Responses

Status Code Description
403 INVALID_ASSET_TYPE Either the merchant is not configured with the provided asset type or the asset type does not exist.
403 REQUEST_EXPIRED Action cannot be completed because the request has expired.
403 REQUEST_PAID Action cannot be completed because the request has been paid.
403 REQUEST_CANCELLED Action cannot be completed because the request has already been cancelled.
403 INACTIVE_ASSET The asset is not spendable. It may have been disabled, expired, or already spent.
403 INVALID_MERCHANT_CONFIG The merchant is not configured properly to satisfy the payment request. This could be due to incorrect information, or the merchant’s credentials might be blocked by an external service.
403 QUOTA_EXCEEDED The payment pay request exceeds the allowed spend quota supplied.
403 INSUFFICIENT_ASSET_VALUE The asset has insufficient funds to pay the payment request or the transaction amount received by Centrapay is less than the total of the payment.
403 ASSET_REDEMPTION_DENIED The asset redemption has been unsuccessful due to an error with provided payment parameters, the merchant, or the asset.
403 PAYMENT_DECLINED The payment parameters were valid but payment was declined because additional payment restrictions were violated.

Refund a Payment Request

POST /api/payment-requests/{paymentRequestId}/refund

Refund a Payment Request

curl -X POST https://service.centrapay.com/api/payment-requests/{paymentRequestId}/refund \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "value": {
-      "amount": "100",
-      "currency": "NZD"
-    },
-    "externalRef": "e8df06e2-13a5-48b4-b670-3fd6d815fe0a"
-  }'

Refund a Payment Request with Line Items

curl -X POST https://service.centrapay.com/api/payment-requests/{paymentRequestId}/refund \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "value": {
-      "amount": "6190",
-      "currency": "NZD"
-    },
-    "externalRef": "e8df06e2-13a5-48b4-b670-3fd6d815fe0a",
-    "lineItems": [
-      {
-        "name": "Coffee Grounds",
-        "sku": "GH1234",
-        "qty": "1",
-        "price": "4195",
-        "tax": "15.00"
-      },
-      {
-        "name": "Centrapay Cafe Mug",
-        "sku": "SB456",
-        "qty": "25",
-        "price": "1995",
-        "tax": "15.00",
-        "discount": "199",
-        "restricted": true,
-        "productId": "19412345123459",
-        "classification": {
-          "type": "GS1",
-          "code": "10001874",
-          "name": "CROCKERY",
-          "props": {
-            "20001479": "30008960"
-          }
-        }
-      }
-    ]
-  }'

Refund a Pre Auth Payment Request with Confirmations

curl -X POST https://service.centrapay.com/api/payment-requests/{paymentRequestId}/refund \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "confirmationIdempotencyKey": "e8df06e2-13a5-48b4-b670-3fd6d815fe0a",
-    "value": {
-      "amount": "6190",
-      "currency": "NZD"
-    },
-    "externalRef": "e8df06e2-13a5-48b4-b670-3fd6d815fe0a",
-    "lineItems": [
-      {
-        "name": "Coffee Grounds",
-        "sku": "GH1234",
-        "qty": "1",
-        "price": "4195",
-        "tax": "15.00"
-      },
-      {
-        "name": "Centrapay Cafe Mug",
-        "sku": "SB456",
-        "qty": "25",
-        "price": "1995",
-        "tax": "15.00",
-        "discount": "199",
-        "restricted": true,
-        "productId": "19412345123459",
-        "classification": {
-          "type": "GS1",
-          "code": "10001874",
-          "name": "CROCKERY",
-          "props": {
-            "20001479": "30008960"
-          }
-        }
-      }
-    ]
-  }'

Refund a Payment Request with Invoice Reference

curl -X POST https://service.centrapay.com/api/payment-requests/{paymentRequestId}/refund \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "value": {
-      "amount": "100",
-      "currency": "NZD"
-    },
-    "externalRef": "e8df06e2-13a5-48b4-b670-3fd6d815fe0a",
-    "invoiceRef": "sy8CRmo3sp3ArOpnfmb423"
-  }'

Refund a Payment Request using a specific Merchant

curl -X POST https://service.centrapay.com/api/payment-requests/{paymentRequestId}/refund \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "value": {
-      "amount": "100",
-      "currency": "NZD"
-    },
-    "externalRef": "e8df06e2-13a5-48b4-b670-3fd6d815fe0a",
-    "merchantConfigId": "5ee168e8597be5002af7b454"
-  }'

Fields

Field Type Description
value Monetary The value of the refund. Must be less than 100000000 and positive.
externalRef String An external reference to the refund.
merchantConfigId String Optional The Merchant Config id of the refunding merchant when refunding a farmlands.nzd.* payment.
lineItems Array Optional Experimental The Line Items being refunded.
confirmationIdempotencyKey String Optional Required when refunding a Pre Auth Confirmation. Should be the same as the idempotencyKey used for Confirmation.
invoiceRef String Optional A reference to an invoice for the refund. Must be less than or equal to 128 characters.

Example response payload

{
-  "type": "refund",
-  "value": {
-    "currency": "NZD",
-    "amount": "100"
-  },
-  "assetType": "centrapay.nzd.main",
-  "paymentRequestId": "MhocUmpxxmgdHjr7DgKoKw",
-  "shortCode": "CP-C7F-ZS5-015",
-  "merchantName": "Centrapay Café",
-  "merchantId": "5ee0c486308f590260d9a07f",
-  "merchantAccountId": "C4QnjXvj8At6SMsEN4LRi9",
-  "merchantConfigId": "5ee168e8597be5002af7b454",
-  "createdAt": "2021-06-12T01:17:00.000Z",
-  "createdBy": "crn::user:0af834c8-1110-11ec-9072-3e22fb52e878",
-  "paymentRequestCreatedBy": "crn::user:0af834c8-1110-11ec-9072-3e22fb52e878",
-  "activityNumber": "3",
-  "invoiceRef": "sy8CRmo3sp3ArOpnfmb423"
-}

Error Responses

Status Code Description
403 NOT_PAID The Payment Request has not been paid.
403 ALREADY_REFUNDED The Payment Request already been refunded. If you want to perfom additional refunds then an externalRef is required.
403 INVALID_AMOUNT The refund requested is greater than the refundable amount.
403 REPEAT_REFERENCE A refund has already been requested with the same external reference. Refunding the payment request twice with the same external reference is not allowed. If the amount of the refund is the same we assume it is a repeat request and return 200.
403 PARTIAL_REFUNDS_NOT_ALLOWED The Asset does not support partial refunds.
403 INACTIVE_ASSET The Asset is not refundable. It may have been disabled, expired, or already refunded.
403 REFUND_NOT_SUPPORTED The Asset type does not support refunds.
403 REFUND_WINDOW_EXCEEDED The time since the payment exceeds the window of time a payment request can be refunded in.
400 LINE_ITEMS_SUM_CHECK_FAILED The sum value of the line items did not equal the value of the refund.
403 PRE_AUTH_PENDING The Pre Auth Payment Request has yet to be authorized.
403 CONFIRMATION_NOT_FOUND The confirmationIdempotencyKey does not match a Confirmation on the Payment Request.

Void a Payment Request

Voiding a payment request will cancel the request and trigger any refunds if necessary.

POST /api/payment-requests/{paymentRequestId}/void

curl -X POST https://service.centrapay.com/api/payment-requests/MhocUmpxxmgdHjr7DgKoKw/void \
-  -H "X-Api-Key: $api_key"

Example response payload when payment request is unpaid

{
-  "type": "cancellation",
-  "cancellationReason": "CANCELLED_BY_MERCHANT",
-  "value": {
-    "currency": "NZD",
-    "amount": "1000"
-  },
-  "assetType": "centrapay.nzd.main",
-  "paymentRequestId": "MhocUmpxxmgdHjr7DgKoKw",
-  "shortCode": "CP-C7F-ZS5-032",
-  "merchantName": "Centrapay Café",
-  "merchantId": "26d3Cp3rJmbMHnuNJmks2N",
-  "merchantAccountId": "C4QnjXvj8At6SMsEN4LRi9",
-  "merchantConfigId": "5efbe2fb96c08357bb2b9242",
-  "createdAt": "2021-06-08T04:04:27.426Z",
-  "createdBy": "crn::user:0af834c8-1110-11ec-9072-3e22fb52e878",
-  "paymentRequestCreatedBy": "crn::user:0af834c8-1110-11ec-9072-3e22fb52e878",
-  "activityNumber": "2"
-}

Example response payload when payment request is paid

{
-  "type": "refund",
-  "value": {
-    "currency": "NZD",
-    "amount": "1000"
-  },
-  "assetType": "centrapay.nzd.main",
-  "paymentRequestId": "MhocUmpxxmgdHjr7DgKoKw",
-  "shortCode": "CP-C7F-ZS5-032",
-  "merchantName": "Centrapay Café",
-  "merchantId": "26d3Cp3rJmbMHnuNJmks2N",
-  "merchantAccountId": "C4QnjXvj8At6SMsEN4LRi9",
-  "merchantConfigId": "5efbe2fb96c08357bb2b9242",
-  "createdAt": "2021-06-08T04:04:27.426Z",
-  "createdBy": "crn::user:0af834c8-1110-11ec-9072-3e22fb52e878",
-  "paymentRequestCreatedBy": "crn::user:0af834c8-1110-11ec-9072-3e22fb52e878",
-  "activityNumber": "3"
-}

Error Responses

Status Code Description
403 VOID_WINDOW_EXCEEDED The void window is closed 24 hours after the Payment Request createdAt. After the void window has closed if the Payment Request is paid, use Refund endpoint to reverse the payment.
403 ALREADY_REFUNDED The Payment Request has already been refunded.
403 REPEAT_REFERENCE A refund has already been requested with the same external reference. Refunding the payment request twice with the same external reference is not allowed. If the amount of the refund is the same we assume it is a repeat request and return 200.
403 INACTIVE_ASSET The Asset is not refundable. It may have been disabled, expired, or already refunded.
403 REFUND_NOT_SUPPORTED The Asset type does not support refunds.
403 REQUEST_EXPIRED The Payment Request has expired.
403 PRE_AUTH_ALREADY_CONFIRMED The Pre Auth Payment Request already has confirmations. Use Refund endpoint to reverse the transaction.

Release funds held for a Pre Auth Payment Request

When you call release on a Pre Auth Payment Request any remaining funds that were being held for the authorization are returned to the asset, and a release Payment Activity is returned. If the authorization never completed, the Payment Request will instead be cancelled, and a cancellation Payment Activity will be returned.

POST /api/payment-requests/{paymentRequestId}/release

curl -X POST https://service.centrapay.com/api/payment-requests/MhocUmpxxmgdHjr7DgKoKw/release \
-  -H "X-Api-Key: $api_key"

Example response payload when a Pre Auth is released

{
-  "type": "release",
-  "value": {
-    "currency": "NZD",
-    "amount": "100"
-  },
-  "assetType": "centrapay.nzd.main",
-  "preAuth": true,
-  "paymentRequestId": "MhocUmpxxmgdHjr7DgKoKw",
-  "shortCode": "CP-C7F-ZS5-015",
-  "merchantName": "Centrapay Café",
-  "merchantId": "5ee0c486308f590260d9a07f",
-  "merchantAccountId": "C4QnjXvj8At6SMsEN4LRi9",
-  "merchantConfigId": "5ee168e8597be5002af7b454",
-  "createdAt": "2021-06-12T01:17:00.000Z",
-  "createdBy": "crn::user:0af834c8-1110-11ec-9072-3e22fb52e878",
-  "paymentRequestCreatedBy": "crn::user:0af834c8-1110-11ec-9072-3e22fb52e878",
-  "activityNumber": "3"
-}

Example response payload when a Pre Auth is cancelled

{
-  "type": "cancellation",
-  "cancellationReason": "CANCELLED_BY_MERCHANT",
-  "value": {
-    "currency": "NZD",
-    "amount": "1000"
-  },
-  "preAuth": true,
-  "assetType": "centrapay.nzd.main",
-  "paymentRequestId": "MhocUmpxxmgdHjr7DgKoKw",
-  "shortCode": "CP-C7F-ZS5-032",
-  "merchantName": "Centrapay Café",
-  "merchantId": "26d3Cp3rJmbMHnuNJmks2N",
-  "merchantAccountId": "C4QnjXvj8At6SMsEN4LRi9",
-  "merchantConfigId": "5efbe2fb96c08357bb2b9242",
-  "createdAt": "2021-06-08T04:04:27.426Z",
-  "createdBy": "crn::user:0af834c8-1110-11ec-9072-3e22fb52e878",
-  "paymentRequestCreatedBy": "crn::user:0af834c8-1110-11ec-9072-3e22fb52e878",
-  "activityNumber": "2"
-}

Error Responses

Status Code Description
403 INVALID_PAYMENT_REQUEST_TYPE The Payment Request is not related to a Pre Auth.
403 PRE_AUTH_RELEASED preAuthExpiresAt has passed.

Make a confirmation against a Pre Auth Payment Request

An idempotencyKey is a identifier from your system used for guaranteeing at least once delivery of your request. If our endpoint does not respond you must retry until you get back a 200 or 403. If we recive 2 requests with the same idempotencyKey we won’t process the second and return the first response.

POST /api/payment-requests/{paymentRequestId}/confirm

Confirm Pre Auth Payment Request

curl -X POST https://service.centrapay.com/api/payment-requests/MhocUmpxxmgdHjr7DgKoKw/confirm \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "value": {
-      "amount": "6190",
-      "currency": "NZD"
-    },
-    "idempotencyKey": "e8df06e2-13a5-48b4-b670-3fd6d815fe0a",
-    "invoiceRef": "2022-08-03T16:56:50-06:00",
-    "lineItems": [
-      {
-        "name": "Coffee Grounds",
-        "sku": "GH1234",
-        "qty": "1",
-        "price": "4195",
-        "tax": "15.00"
-      },
-      {
-        "name": "Centrapay Cafe Mug",
-        "sku": "SB456",
-        "qty": "25",
-        "price": "1995",
-        "tax": "15.00",
-        "discount": "199",
-        "restricted": true,
-        "productId": "19412345123459",
-        "classification": {
-          "type": "GS1",
-          "code": "10001874",
-          "name": "CROCKERY",
-          "props": {
-            "20001479": "30008960"
-          }
-        }
-      }
-    ]
-  }'

Example response payload when a Pre Auth is confirmed

{
-  "paymentRequestId": "MhocUmpxxmgdHjr7DgKoKw",
-  "shortCode": "CP-C7F-ZS5",
-  "value": {
-    "amount": "6190",
-    "currency": "NZD"
-  },
-  "preAuth": true,
-  "type": "confirmation",
-  "idempotencyKey": "e8df06e2-13a5-48b4-b670-3fd6d815fe0a",
-  "createdAt": "2021-06-08T04:04:27.426Z",
-  "updatedAt": "2021-06-08T04:04:27.426Z",
-  "lineItems": [
-    {
-      "name": "Coffee Grounds",
-      "sku": "GH1234",
-      "qty": "1",
-      "price": "4195",
-      "tax": "15.00"
-    },
-    {
-      "name": "Centrapay Cafe Mug",
-      "sku": "SB456",
-      "qty": "25",
-      "price": "1995",
-      "tax": "15.00",
-      "discount": "199"
-    }
-  ],
-  "invoiceRef": "2022-08-03T16:56:50-06:00",
-  "createdByAccountId": "Jaim1Cu1Q55uooxSens6yk",
-  "createdByAccountName": "Bob's Burgers Intergration"
-}

Error Responses

Status Code Description
403 INVALID_PAYMENT_REQUEST_TYPE The Payment Request is not related to a Pre Auth.
403 PRE_AUTH_RELEASED The Payment Request has been released or Pre Auth has expired. Remaining funds have been returned to the Patron.
403 PRE_AUTH_PENDING The Payment Request has not been authorized.
403 REQUEST_CANCELLED The Payment Request has been cancelled.
403 INVALID_AMOUNT The confirmation is greater then the remaining funds on the authroization.
403 IDEMPOTENT_OPERATION_FAILED There has already been a confirmation against the Payment Request with the same idempotencyKey but different content.

List Payment Activities for a Merchant

List payment activities for a merchant. Results are paginated and ordered by descending activity created date.

GET /api/payment-activities

curl -G https://service.centrapay.com/api/payment-activities \
-  -H "X-Api-Key: $api_key" \
-  -d merchantId=5ee0c486308f590260d9a07f \
-  -d pageKey=PaymentRequest#E9eXsErwA444qFDoZt5iLA|Activity#000000000000001|614161c4c4d3020073bd4ce8|2021-09-15T03:00:21.156Z

Required Fields

Field Type Description
merchantId String The id of the Merchant the Payment Request is on behalf of.

Optional Fields

Field Type Description
pageKey String Used to retrieve the next page of items.

Note: The pageKey value, if provided, needs to be URL-encoded.

Example response payload

{
-  "nextPageKey": "PaymentRequest#E9eXsErwA444qFDoZt5iLA|Activity#000000000000001|614161c4c4d3020073bd4ce8|2021-09-15T03:00:21.156Z",
-  "items": [
-    {
-      "type": "refund",
-      "value": {
-        "currency": "NZD",
-        "amount": "600"
-      },
-      "assetType": "centrapay.nzd.main",
-      "paymentRequestId": "MhocUmpxxmgdHjr7DgKoKw",
-      "shortCode": "CP-C7F-ZS5-032",
-      "merchantName": "Centrapay Café",
-      "merchantId": "5ee0c486308f590260d9a07f",
-      "merchantAccountId": "C4QnjXvj8At6SMsEN4LRi9",
-      "merchantConfigId": "5ee168e8597be5002af7b454",
-      "createdAt": "2021-06-12T01:17:00.000Z",
-      "createdBy": "crn::user:0af834c8-1110-11ec-9072-3e22fb52e878",
-      "paymentRequestCreatedBy": "crn::user:0af834c8-1110-11ec-9072-3e22fb52e878",
-      "activityNumber": "3"
-    },
-    {
-      "type": "payment",
-      "value": {
-        "currency": "NZD",
-        "amount": "6190"
-      },
-      "assetType": "centrapay.nzd.main",
-      "paymentRequestId": "MhocUmpxxmgdHjr7DgKoKw",
-      "shortCode": "CP-C7F-ZS5-027",
-      "merchantName": "Centrapay Café",
-      "merchantId": "5ee0c486308f590260d9a07f",
-      "merchantAccountId": "C4QnjXvj8At6SMsEN4LRi9",
-      "merchantConfigId": "5ee168e8597be5002af7b454",
-      "createdAt": "2021-06-12T01:16:00.000Z",
-      "createdBy": "crn::user:da75ad90-9a5b-4df0-8374-f48b3a8fbfcc",
-      "paymentRequestCreatedBy": "crn::user:0af834c8-1110-11ec-9072-3e22fb52e878",
-      "activityNumber": "2"
-    },
-    {
-      "type": "request",
-      "value": {
-        "currency": "NZD",
-        "amount": "6190"
-      },
-      "paymentRequestId": "MhocUmpxxmgdHjr7DgKoKw",
-      "shortCode": "CP-C7F-ZS5-015",
-      "merchantName": "Centrapay Café",
-      "merchantId": "5ee0c486308f590260d9a07f",
-      "merchantAccountId": "C4QnjXvj8At6SMsEN4LRi9",
-      "merchantConfigId": "5ee168e8597be5002af7b454",
-      "createdAt": "2021-06-12T01:15:46.000Z",
-      "createdBy": "crn::user:0af834c8-1110-11ec-9072-3e22fb52e878",
-      "paymentRequestCreatedBy": "crn::user:0af834c8-1110-11ec-9072-3e22fb52e878",
-      "activityNumber": "1"
-    },
-    {
-      "type": "Authorization",
-      "value": {
-        "currency": "NZD",
-        "amount": "100"
-      },
-      "paymentRequestId": "5zXMDueDJRNNyP3UeWBgSA",
-      "shortCode": "CP-W4R-01J",
-      "merchantName": "Centrapay Café",
-      "merchantId": "5ee0c486308f590260d9a07f",
-      "merchantAccountId": "C4QnjXvj8At6SMsEN4LRi9",
-      "merchantConfigId": "5ee168e8597be5002af7b454",
-      "createdAt": "2021-05-12T01:15:46.000Z",
-      "createdBy": "crn::user:0af834c8-1110-11ec-9072-3e22fb52e878",
-      "paymentRequestCreatedBy": "crn::user:0af834c8-1110-11ec-9072-3e22fb52e878",
-      "activityNumber": "2",
-      "preAuth": true
-    },
-    {
-      "type": "preAuthRequest",
-      "value": {
-        "currency": "NZD",
-        "amount": "100"
-      },
-      "paymentRequestId": "5zXMDueDJRNNyP3UeWBgSA",
-      "shortCode": "CP-W4R-01J",
-      "merchantName": "Centrapay Café",
-      "merchantId": "5ee0c486308f590260d9a07f",
-      "merchantAccountId": "C4QnjXvj8At6SMsEN4LRi9",
-      "merchantConfigId": "5ee168e8597be5002af7b454",
-      "createdAt": "2021-05-12T01:15:46.000Z",
-      "createdBy": "crn::user:0af834c8-1110-11ec-9072-3e22fb52e878",
-      "paymentRequestCreatedBy": "crn::user:0af834c8-1110-11ec-9072-3e22fb52e878",
-      "activityNumber": "1",
-      "preAuth": true
-    }
-  ]
-}

List Payment Activities for a Payment Request

List payment activities for a payment request. Results are ordered by descending activity created date.

GET /api/payment-requests/{paymentRequestId}/activities

curl https://service.centrapay.com/api/payment-requests/MhocUmpxxmgdHjr7DgKoKw/activities \
-  -H "Authorization: $jwt"

Example response payload

{
-  "items": [
-    {
-      "type": "refund",
-      "value": {
-        "currency": "NZD",
-        "amount": "600"
-      },
-      "assetType": "centrapay.nzd.main",
-      "paymentRequestId": "MhocUmpxxmgdHjr7DgKoKw",
-      "shortCode": "CP-C7F-ZS5-032",
-      "merchantName": "Centrapay Café",
-      "merchantId": "5ee0c486308f590260d9a07f",
-      "merchantAccountId": "C4QnjXvj8At6SMsEN4LRi9",
-      "merchantConfigId": "5ee168e8597be5002af7b454",
-      "createdAt": "2021-06-12T01:17:00.000Z",
-      "createdBy": "crn::user:0af834c8-1110-11ec-9072-3e22fb52e878",
-      "paymentRequestCreatedBy": "crn::user:0af834c8-1110-11ec-9072-3e22fb52e878",
-      "activityNumber": "3"
-    },
-    {
-      "type": "payment",
-      "value": {
-        "currency": "NZD",
-        "amount": "6190"
-      },
-      "assetType": "centrapay.nzd.main",
-      "paymentRequestId": "MhocUmpxxmgdHjr7DgKoKw",
-      "shortCode": "CP-C7F-ZS5-027",
-      "merchantName": "Centrapay Café",
-      "merchantId": "5ee0c486308f590260d9a07f",
-      "merchantAccountId": "C4QnjXvj8At6SMsEN4LRi9",
-      "merchantConfigId": "5ee168e8597be5002af7b454",
-      "createdAt": "2021-06-12T01:16:00.000Z",
-      "createdBy": "crn::user:da75ad90-9a5b-4df0-8374-f48b3a8fbfcc",
-      "paymentRequestCreatedBy": "crn::user:0af834c8-1110-11ec-9072-3e22fb52e878",
-      "activityNumber": "2"
-    },
-    {
-      "type": "request",
-      "value": {
-        "currency": "NZD",
-        "amount": "6190"
-      },
-      "paymentRequestId": "MhocUmpxxmgdHjr7DgKoKw",
-      "shortCode": "CP-C7F-ZS5-015",
-      "merchantName": "Centrapay Café",
-      "merchantId": "5ee0c486308f590260d9a07f",
-      "merchantAccountId": "C4QnjXvj8At6SMsEN4LRi9",
-      "merchantConfigId": "5ee168e8597be5002af7b454",
-      "createdAt": "2021-06-12T01:15:46.000Z",
-      "createdBy": "crn::user:0af834c8-1110-11ec-9072-3e22fb52e878",
-      "paymentRequestCreatedBy": "crn::user:0af834c8-1110-11ec-9072-3e22fb52e878",
-      "activityNumber": "1"
-    }
-  ]
-}

Accept Payment Condition for a Payment Request

Accept a Payment Condition listed in merchantConditions with status awaiting-merchant. Returns a Payment Activity.

POST /api/payment-requests/{paymentRequestId}/conditions/{conditionId}/accept

curl -X POST https://service.centrapay.com/api/payment-requests/MhocUmpxxmgdHjr7DgKoKw/conditions/1/accept \
-  -H "X-Api-Key: $api_key"

Example response payload

{
-  "type": "accept-condition",
-  "value": {
-    "currency": "NZD",
-    "amount": 100
-  },
-  "paymentRequestId": "MhocUmpxxmgdHjr7DgKoKw",
-  "conditionId": "1",
-  "createdAt": "2022-05-12T01:17:00.000Z",
-  "createdBy": "crn::user:0af834c8-1110-11ec-9072-3e22fb52e878",
-  "paymentRequestCreatedBy": "crn::user:0af834c8-1110-11ec-9072-3e22fb52e878",
-  "activityNumber": "2",
-  "merchantAccountId": "C4QnjXvj8At6SMsEN4LRi9",
-  "merchantId": "5ee0c486308f590260d9a07f",
-  "merchantConfigId": "5ee168e8597be5002af7b454",
-  "merchantName": "Centrapay Café"
-}

Error Responses

Status Code Description
403 PATRON_NOT_AUTHORIZED The Payment Condition is awaiting-merchant, therefore the patron is not authorized to accept the condition.
403 MERCHANT_NOT_AUTHORIZED The Payment Condition is awaiting-patron, therefore the merchant is not authorized to accept the condition.
403 CONDITION_ALREADY_SET The Payment Condition has already been accepted or declined.

Decline Payment Condition for a Payment Request

Decline a Payment Condition listed in merchantConditions with status awaiting-merchant. Returns a Payment Activity.

POST /api/payment-requests/{paymentRequestId}/conditions/{conditionId}/decline

curl -X POST https://service.centrapay.com/api/payment-requests/MhocUmpxxmgdHjr7DgKoKw/conditions/1/decline \
-  -H "X-Api-Key: $api_key"

Example response payload

{
-  "type": "decline-condition",
-  "value": {
-    "currency": "NZD",
-    "amount": 100
-  },
-  "paymentRequestId": "MhocUmpxxmgdHjr7DgKoKw",
-  "conditionId": "1",
-  "createdAt": "2022-05-12T01:17:00.000Z",
-  "createdBy": "crn::user:0af834c8-1110-11ec-9072-3e22fb52e878",
-  "paymentRequestCreatedBy": "crn::user:0af834c8-1110-11ec-9072-3e22fb52e878",
-  "activityNumber": "2",
-  "merchantAccountId": "C4QnjXvj8At6SMsEN4LRi9",
-  "merchantId": "5ee0c486308f590260d9a07f",
-  "merchantConfigId": "5ee168e8597be5002af7b454",
-  "merchantName": "Centrapay Café"
-}

Error Responses

Status Code Description
403 PATRON_NOT_AUTHORIZED The Payment Condition is awaiting-merchant, therefore the patron is not authorized to decline the condition.
403 MERCHANT_NOT_AUTHORIZED The Payment Condition is awaiting-patron, therefore the merchant is not authorized to decline the condition.
403 CONDITION_ALREADY_SET The Payment Condition has already been accepted or declined.

diff --git a/api/profiles.html b/api/profiles.html deleted file mode 100644 index 1c06d6074..000000000 --- a/api/profiles.html +++ /dev/null @@ -1,27 +0,0 @@ - Profiles - Centrapay Docs Profiles | Centrapay Docs Link Search Menu Expand Document

Profile

A profile represents a Centrapay user’s attributes.

Contents

Models

Profile

Mandatory Fields

Field Type Description
userId String The Centrapay user id.

Optional Fields

Field Type Description
givenName String First name.
familyName String Last name.
featureUpdates Boolean Whether a user would like to receive emails for feature updates.
marketingUpdates Boolean Whether a user would like to receive emails for marketing updates.
email String Email address.
emailVerified Boolean Flag indicating the verification status of the email address.
phoneNumber String The user’s phone number.
phoneVerified Boolean Flag indicating the verification status of the phone number.

Operations

Update a Profile EXPERIMENTAL

Update a user’s mutable attributes. At least one field must be provided in the request.

POST /api/me/profile/update

curl -X POST https://service.centrapay.com/api/me/profile/update \
-  -H "Authorization: $jwt" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "givenName": "John",
-    "familyName": "Doe",
-    "featureUpdates": false,
-    "marketingUpdates": true,
-    "email": "john.doe@centrapay.com"
-  }'

Example response payload

{
-  "givenName": "John",
-  "familyName": "Doe",
-  "featureUpdates": false,
-  "marketingUpdates": true,
-  "email": "john.doe@centrapay.com"
-}

Get Profile EXPERIMENTAL

GET /api/users/{userId}/profile

curl https://service.centrapay.com/api/users/da75ad90-9a5b-4df0-8374-f48b3a8fbfcc/profile \
-  -H "X-Api-Key: $api_key"

Example response payload

{
-  "userId": "9f4b3bae-dc30-11ea-ab70-2743d9be3dd5",
-  "givenName": "John",
-  "familyName": "Doe",
-  "featureUpdates": true,
-  "marketingUpdates": true,
-  "email": "john.doe@centrapay.com",
-  "emailVerified": true,
-  "phoneNumber": "+64271112222",
-  "phoneVerified": true
-}


diff --git a/api/quotas.html b/api/quotas.html deleted file mode 100644 index 75f62a77b..000000000 --- a/api/quotas.html +++ /dev/null @@ -1,47 +0,0 @@ - Quotas - Centrapay Docs Quotas | Centrapay Docs Link Search Menu Expand Document

Quotas

Centrapay account quotas are enforced on usage types such as spending or topping up, and may apply to a time period (daily, monthly, yearly). Account quotas may be affected by the verification status of the Centrapay account.

Contents

Models

Quota

Required Fields

Field Type Description
type String The quota’s type.
limit BigNumber The quota’s upper usage limit.
usage BigNumber The quota’s current usage.

Optional Fields

Field Type Description
assetType String The type of asset the quota is scoped to, eg centrapay.nzd.main.
period String The recurring, time-bound quota’s duration: daily, monthly or yearly.
interval String The specific day, month or year the quota applies to, eg: 2020-01-01, 2020-01, 2020.

Supported Quota Types

The following table describes the supported quota types and variants. The “Scoped” column indicates whether the quota can have different values for different asset types. The “Periods” column indicates which periods are applicable to the quota.

Type Description Scoped Periods
spend Value of wallet-based payments or asset transfers from the account. Yes monthly yearly
topup Value of topups from bank accounts linked to the account. Yes monthly yearly

Operations

Getting account quotas EXPERIMENTAL

Retrieve quota limits and usages for the current intervals. Ie, all quotas for the current day, current month and current year as well as any quotas that are not associated with a temporal period.

GET /api/accounts/{accountId}/quotas

curl https://service.centrapay.com/api/accounts/Jaim1Cu1Q55uooxSens6yk/quotas \
-  -H "X-Api-Key: $api_key"

Example response payload

[
-  {
-    "limit": "1000",
-    "interval": "2021-03",
-    "period": "monthly",
-    "usage": "500",
-    "type": "spend",
-    "assetType": "centrapay.nzd.main"
-  },
-  {
-    "limit": "9999",
-    "interval": "2021",
-    "period": "yearly",
-    "usage": "1555",
-    "type": "spend",
-    "assetType": "centrapay.nzd.main"
-  },
-  {
-    "limit": "1000",
-    "interval": "2021-03",
-    "period": "monthly",
-    "usage": "500",
-    "type": "topup",
-    "assetType": "centrapay.nzd.main"
-  },
-  {
-    "limit": "9999",
-    "interval": "2021",
-    "period": "yearly",
-    "usage": "5000",
-    "type": "topup",
-    "assetType": "centrapay.nzd.main"
-  }
-]

Error Responses

If a quota limit is exceeded by an action that enforces quota limits, the following error response will be returned. The quotas field will contain all quota limits that are exceeded with the usage set to the amount that the quota would have been updated to if the action was completed.

{
-  "message": "QUOTA_EXCEEDED",
-  "quotas": [
-    {
-      "limit": "9999",
-      "interval": "2021",
-      "period": "yearly",
-      "usage": "10000",
-      "type": "topup",
-      "assetType": "centrapay.nzd.main"
-    }
-  ]
-}


diff --git a/api/scanned-codes.html b/api/scanned-codes.html deleted file mode 100644 index a99b3bde9..000000000 --- a/api/scanned-codes.html +++ /dev/null @@ -1,14 +0,0 @@ - Scanned Codes - Centrapay Docs Scanned Codes | Centrapay Docs Link Search Menu Expand Document

Scanned Codes

A scanned code is a barcode that a merchant scans. The code can be used to create a Payment Request.

Contents

Models

Scanned Code

Fields

Field Type Description
code String The utf8 representation of data decoded from what was scanned.
scannedBy String The party that scanned the code. Can be merchant.
provider String The integrator that owns the code. This can be used to calculate discounts on Line Items. Can be paypal, venmo, farmlands or centrapay.
displayName String A formatted name that can be displayed in a client.
merchantConfigId String The ID of the Merchant Config.

Operations

Decode Scanned Code

POST /api/decode

Decode Merchant Scanned Barcode

curl -X POST https://service.centrapay.com/api/decode \
-  -H "Authorization: $jwt" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "code": "123456789",
-    "scannedBy": "merchant",
-    "merchantConfigId": "P9gm1s1Cu1Q5uooxs"
-  }'

Example response payload

{
-  "code": "123456789",
-  "scannedBy": "merchant",
-  "merchantConfigId": "P9gm1s1Cu1Q5uooxs",
-  "provider": "farmlands",
-  "displayName": "Farmlands Card"
-}

Error Responses

Status Code Description
403 UNKNOWN_CODE The code doesn’t exist or is no longer active in our system.
403 MERCHANT_CONFIG_NOT_FOUND The supplied merchant config does not exist.
403 INVALID_MERCHANT_CONFIG The merchant config does not have a payment option that can satisfy the scanned code.

diff --git a/api/section/accounts.html b/api/section/accounts.html deleted file mode 100644 index bd6e66490..000000000 --- a/api/section/accounts.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - Redirecting… - - - - -

Redirecting…

- Click here if you are not redirected. - diff --git a/api/section/assets.html b/api/section/assets.html deleted file mode 100644 index cb12a6874..000000000 --- a/api/section/assets.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - Redirecting… - - - - -

Redirecting…

- Click here if you are not redirected. - diff --git a/api/section/bank-accounts.html b/api/section/bank-accounts.html deleted file mode 100644 index 1a62e7924..000000000 --- a/api/section/bank-accounts.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - Redirecting… - - - - -

Redirecting…

- Click here if you are not redirected. - diff --git a/api/section/batches.html b/api/section/batches.html deleted file mode 100644 index 8e1dabcd7..000000000 --- a/api/section/batches.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - Redirecting… - - - - -

Redirecting…

- Click here if you are not redirected. - diff --git a/api/section/integrations.html b/api/section/integrations.html deleted file mode 100644 index b7644f893..000000000 --- a/api/section/integrations.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - Redirecting… - - - - -

Redirecting…

- Click here if you are not redirected. - diff --git a/api/section/merchants.html b/api/section/merchants.html deleted file mode 100644 index 42375bb8c..000000000 --- a/api/section/merchants.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - Redirecting… - - - - -

Redirecting…

- Click here if you are not redirected. - diff --git a/api/section/payment-requests.html b/api/section/payment-requests.html deleted file mode 100644 index 00b5cd11d..000000000 --- a/api/section/payment-requests.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - Redirecting… - - - - -

Redirecting…

- Click here if you are not redirected. - diff --git a/api/section/scanned-codes.html b/api/section/scanned-codes.html deleted file mode 100644 index 5a20ad87f..000000000 --- a/api/section/scanned-codes.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - Redirecting… - - - - -

Redirecting…

- Click here if you are not redirected. - diff --git a/api/section/settlements.html b/api/section/settlements.html deleted file mode 100644 index bb067904a..000000000 --- a/api/section/settlements.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - Redirecting… - - - - -

Redirecting…

- Click here if you are not redirected. - diff --git a/api/settlements.html b/api/settlements.html deleted file mode 100644 index c06349c1e..000000000 --- a/api/settlements.html +++ /dev/null @@ -1,27 +0,0 @@ - Settlements - Centrapay Docs Settlements | Centrapay Docs Link Search Menu Expand Document

Settlements

A settlement is created from completed Payment Requests over a specified period for each supported Asset Type for each Merchant.

Settlements can only be created if the merchant has a Settlement Config.

Contents

Models

Settlement

Mandatory Fields

Field Type Description
id String The unique identifier for the settlement.
status String The status of the settlement.
assetType String The Asset Type being settled.
currency String The settlement currency.
createdAt Timestamp When the Settlement was created.
createdBy CRN The User or API Key that created the Settlement.

Optional Fields

Field Type Description
settledAt Timestamp The time when settlement was completed.
settledBy CRN The User or API Key that completed the Settlement.
settlementAmount BigNumber The total amount of the settlement.
settlementBankAccountId String The ID of the bank account used for settlement.

Operations

List Settlements

GET /api/merchants/{merchantId}/settlements

curl https://service.centrapay.com/api/merchants/5ee0c486308f590260d9a07f/settlements \
-  -H "X-Api-Key: $api_key"

Example response payload

{
-  "items": [
-    {
-      "id": "89028sh9308f590260d9a07f",
-      "status": "confirmed",
-      "assetType": "centrapay.nzd.main",
-      "currency": "NZD",
-      "createdAt": "2021-11-12T01:17:46.499Z",
-      "createdBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-      "settledAt": "2021-11-13T11:59:59.999Z",
-      "settledBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-      "settlementAmount": "2500",
-      "settlementBankAccountId": "67e0c486308f590260d9a139"
-    },
-    {
-      "id": "9ds2cs89028sh90260d9f91h",
-      "status": "awaiting-confirmation",
-      "assetType": "centrapay.nzd.main",
-      "currency": "NZD",
-      "createdAt": "2021-11-13T01:17:46.499Z",
-      "createdBy": "crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey",
-      "settlementAmount": "2200",
-      "settlementBankAccountId": "67e0c486308f590260d9a139"
-    }
-  ]
-}


diff --git a/api/tokens.html b/api/tokens.html deleted file mode 100644 index a0b565c62..000000000 --- a/api/tokens.html +++ /dev/null @@ -1,149 +0,0 @@ - Tokens - Centrapay Docs Tokens | Centrapay Docs Link Search Menu Expand Document

Tokens

Tokens are assets which can only be spent in full.

Every token is associated with a collection, which defines the branding and general rules for the tokens, such as active duration.

A redemption condition is created for each merchant that accepts tokens from a collection, and contains additional conditions specific to that merchant, such as redeemable product identifiers.

Contents

Models

Token Collection EXPERIMENTAL

Fields

Field Type Description
name String The display name of the collection.
accountId String The account that will own the collection.
tokenExpiresAfter Token Expires After The active duration of all tokens created from this collection.
type String The type of value exchanged when redeeming tokens, can be product
maxValue Monetary Optional The maximum agreed value that any merchants will be settled for a token redemption.
id String The token collection id
test Boolean true if the token collection is for testing purposes only.
status String The status of the token collection. Valid values include ‘active’.
createdBy CRN The identity that created the activity.
createdAt Timestamp Timestamp at which the token collection was created.
mediaUploadId String Optional The id of the media upload image of the collection.
img String Optional The img URL of the collection.
issuer String Optional The name of the Business linked to the account.

Token Expires After EXPERIMENTAL

Field Type Description
period String Supported values are hour, day, week,month and year.
duration String Number of period until token expiration.

Redemption Condition EXPERIMENTAL

Fields

Field Type Description
merchantId String The identifier of the merchant that is accepting the collection.
allowedProducts Allowed Products Optional List of allowed products, required for collections of type product
id String The redemption condition id
collectionId String The token collection that will govern the branding and redemption rules for the token.
createdBy CRN The identity that created the activity.
createdAt Timestamp Timestamp at which the redemption condition was created.

Allowed Products EXPERIMENTAL

Field Type Description
sku String The SKU of the product that is to be accepted.
name String Display name of the product
maxValue Monetary The maximum value that the product can be redeemed for.

Operations

Create Token Collection EXPERIMENTAL

POST /api/collections

curl -X POST https://service.centrapay.com/api/collections \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "name": "Bread",
-    "accountId": "T3y6hogYA4d612BExypWYH",
-    "tokenExpiresAfter": {
-      "period": "month",
-      "duration": "1"
-    },
-    "maxValue": {
-      "currency": "NZD",
-      "amount": "400"
-    },
-    "type": "product",
-    "mediaUploadId": "12345"
-  }'

Example response payload

{
-  "id": "Xv990BzkgfoDS7bBls50pd",
-  "name": "Bread",
-  "accountId": "T3y6hogYA4d612BExypWYH",
-  "tokenExpiresAfter": {
-    "period": "month",
-    "duration": "1"
-  },
-  "maxValue": {
-    "currency": "NZD",
-    "amount": "400"
-  },
-  "test": true,
-  "type": "product",
-  "status": "active",
-  "createdBy": "crn::user:b657195e-dc2f-11ea-8566-e7710d592c99",
-  "createdAt": "2021-05-12T04:30:11.001Z",
-  "mediaUploadId": "12345",
-  "img": "https://media-upload.centrapay.com/image.png?jhbdsfau67ewejshb=487hsdjhbdgs743",
-  "issuer": "Centrapay"
-}

List Token Collections for Account EXPERIMENTAL

Returns a paginated list of token collections for an account.

GET /api/accounts/{accountId}/collections

curl -G https://service.centrapay.com/api/accounts/T3y6hogYA4d612BExypWYH/collections \
-  -H "X-Api-Key: $api_key" \
-  -d pageKey=Collection#2G5bXm4dnuDHnnKY8WeCPm|#Collection|8vq4kn03o0g1grrihk7ooloizpqt2y

Fields

Field Type Description
pageKey String Optional Used to retrieve the next page of items.

Note: The pageKey value, if provided, needs to be URL-encoded.

Example response payload

{
-  "nextPageKey": "Collection#E9eXsErwA444qFDoZt5iLA|#Collection",
-  "items": [
-    {
-      "id": "Xv990BzkgfoDS7bBls50pd",
-      "name": "Bread",
-      "accountId": "T3y6hogYA4d612BExypWYH",
-      "tokenExpiresAfter": {
-        "period": "month",
-        "duration": "1"
-      },
-      "maxValue": {
-        "currency": "NZD",
-        "amount": "400"
-      },
-      "test": true,
-      "type": "product",
-      "status": "active",
-      "createdBy": "crn::user:b657195e-dc2f-11ea-8566-e7710d592c99",
-      "createdAt": "2021-05-12T04:30:11.001Z",
-      "mediaUploadId": "12345",
-      "img": "https://media-upload.centrapay.com/image.png?jhbdsfau67ewejshb=487hsdjhbdgs743",
-      "issuer": "Centrapay"
-    }
-  ]
-}

Create Redemption Condition EXPERIMENTAL

POST /api/collections/{collectionId}/redemption-conditions

curl -X POST https://service.centrapay.com/api/collections/NFhUgPQEYbk2EbTXAYArTX/redemption-conditions \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "merchantId": "36EALpZ89XpShxM2Ee9sXT",
-    "allowedProducts": [
-      {
-        "sku": "100001",
-        "name": "White Bread",
-        "maxValue": {
-          "currency": "NZD",
-          "amount": "400"
-        }
-      },
-      {
-        "sku": "100002",
-        "name": "Sourdough Bread",
-        "maxValue": {
-          "currency": "NZD",
-          "amount": "800"
-        }
-      }
-    ]
-  }'

Example response payload

{
-  "id": "1234",
-  "merchantId": "36EALpZ89XpShxM2Ee9sXT",
-  "collectionId": "NFhUgPQEYbk2EbTXAYArTX",
-  "allowedProducts": [
-    {
-      "sku": "100001",
-      "name": "White Bread",
-      "maxValue": {
-        "currency": "NZD",
-        "amount": "400"
-      }
-    },
-    {
-      "sku": "100002",
-      "name": "Sourdough Bread",
-      "maxValue": {
-        "currency": "NZD",
-        "amount": "800"
-      }
-    }
-  ],
-  "createdAt": "2022-05-12T04:30:11.001Z",
-  "createdBy": "crn::user:b657195e-dc2f-11ea-8566-e7710d592c99"
-}

Error Responses

Status Code Description
403 INVALID_AMOUNT One or more of the maxValue amount in the products has exceeded the maxValue amount defined on the collection.
403 REDEMPTION_CONDITION_ALREADY_EXISTS A redemption condition for the collection and the merchant has already been created.

Create Token EXPERIMENTAL

POST /api/tokens

Create a token

curl -X POST https://service.centrapay.com/api/tokens \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "collectionId": "Jaim1Cu1Q55uooxSens6yk",
-    "idempotencyKey": "payment-de32dd90-b46c-11ea-93c3-83a333b86e7b"
-  }'

Create a token with externalId

curl -X POST https://service.centrapay.com/api/tokens \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "collectionId": "Jaim1Cu1Q55uooxSens6yk",
-    "idempotencyKey": "payment-de32dd90-b46c-11ea-93c3-83a333b86e7b",
-    "externalId": "23403283262"
-  }'

Create a token with accountId

curl -X POST https://service.centrapay.com/api/tokens \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "collectionId": "Jaim1Cu1Q55uooxSens6yk",
-    "idempotencyKey": "payment-de32dd90-b46c-11ea-93c3-83a333b86e7b",
-    "accountId": "WRhAxxWpTKb5U7pXyxQjjP"
-  }'

Fields

Field Type Description
collectionId String The token collection that will govern the branding and redemption rules for the token.
idempotencyKey String Client-supplied identifier that prevents double creation.
externalId String Optional The asset identifier from the issuing system.
accountId String Optional The account to create the token for. Defaults to the account on the token collection.

Example response payload

{
-  "id": "pe32dd90-b46c-11ea-92828sa",
-  "accountId": "WRhAxxWpTKb5U7pXyxQjjP",
-  "category": "token",
-  "collectionId": "Jaim1Cu1Q55uooxSens6yk",
-  "status": "active",
-  "createdAt": "2021-01-17T18:00:23.000Z",
-  "activeFrom": "2021-01-17T18:00:23.000Z",
-  "expiresAt": "2022-01-18T18:00:23.000Z",
-  "liveness": "test",
-  "createdBy": "crn:1234abc:api-key:MyAssetIssuerKey",
-  "description": "My Cafe Token",
-  "issuerImg": "https://static.centrapay.com/assets/brands/centraperk/logo.png",
-  "img": "https://static.centrapay.com/assets/brands/centraperk/cafe-token.png",
-  "issuer": "Centraperk Cafe",
-  "issuerWebsite": "www.centraperk-cafe.com",
-  "type": "centrapay.token.test",
-  "externalId": "23403283262"
-}

Error Responses

Status Code Description
403 TOKEN_ALREADY_CREATED Token with supplied parameters already exists.
403 LIVENESS_MISMATCH The account is test and the collection’s liveness is main or vice versa.

diff --git a/api/transacting.html b/api/transacting.html deleted file mode 100644 index 854905f66..000000000 --- a/api/transacting.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - Redirecting… - - - - -

Redirecting…

- Click here if you are not redirected. - diff --git a/api/wallets.html b/api/wallets.html deleted file mode 100644 index b58490147..000000000 --- a/api/wallets.html +++ /dev/null @@ -1,125 +0,0 @@ - Wallets - Centrapay Docs Wallets | Centrapay Docs Link Search Menu Expand Document

Wallets

A Wallet is an asset that represents money. The Wallet maintains a record of all transactions it has participated in. A Wallet has a single balance and a single currency.

Settlement Wallets EXPERIMENTAL

A Settlement Wallet is a special type of Wallet that can only receive or refund money related to a payment request. This means you cannot topup, withdraw, or send money from this Wallet.

Contents

Creating a Wallet

POST /api/wallets

curl -X POST https://service.centrapay.com/api/wallets \
-  -H "X-Api-Key: $api_key" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "accountId": "Te2uDM7xhDLWGVJU3nzwnh",
-    "ledgerId": "centrapay.nzd.main"
-  }'

Required Fields

Field Type Description
accountId String The id of the account
ledgerId String The id of the ledger e.g. centrapay.nzd.main, centrapay.nzd.test

Optional Fields

Field Type Description
settlement Boolean EXPERIMENTAL Configure the Wallet to be a Settlement Wallet.

Example response payload

{
-  "id": "WRhAxxWpTKb5U7pXyxQjjY",
-  "accountId": "Te2uDM7xhDLWGVJU3nzwnh",
-  "category": "money",
-  "type": "centrapay.nzd.main",
-  "liveness": "main",
-  "description": "NZD",
-  "createdAt": "2021-01-01T00:00:00.000Z",
-  "status": "active",
-  "currency": "NZD",
-  "balance": "0",
-  "availableBalance": "6000"
-}

Example response payload for Settlement Wallet

{
-  "id": "WRhAxxWpTKb5U7pXyxQjjY",
-  "accountId": "Te2uDM7xhDLWGVJU3nzwnh",
-  "category": "money",
-  "type": "centrapay.nzd.main",
-  "liveness": "main",
-  "description": "NZD",
-  "createdAt": "2021-01-01T00:00:00.000Z",
-  "status": "active",
-  "currency": "NZD",
-  "balance": "0",
-  "availableBalance": "6000",
-  "settlement": true
-}

Error Responses

Status Code Description
403 ACCOUNT_MAX_WALLETS_REACHED The maximum number of wallets for the given ledger has been reached.

Listing authorized wallets

GET /api/wallets

curl https://service.centrapay.com/api/wallets \
-  -H "X-Api-Key: $api_key"

Example response payload

[
-  {
-    "id": "WRhAxxWpTKb5U7pXyxQjjY",
-    "accountId": "Te2uDM7xhDLWGVJU3nzwnh",
-    "ledgerId": "centrapay.nzd.main",
-    "currency": "NZD",
-    "balance": "2000",
-    "availableBalance": "6000"
-  },
-  {
-    "id": "NQ1yeromwnWPD2hY41L2yS",
-    "accountId": "Te2uDM7xhDLWGVJU3nzwnh",
-    "ledgerId": "centrapay.nzd.test",
-    "currency": "NZD",
-    "balance": "20",
-    "availableBalance": "6000"
-  }
-]

Listing Wallet Transactions EXPERIMENTAL

Returns a paginated list of Wallet Transactions.

GET /api/wallets/{walletId}/transactions

curl https://service.centrapay.com/api/wallets/WRhAxxWpTKb5U7pXyxQjjY/transactions \
-  -H "X-Api-Key: $api_key"

Transaction Fields

Field Type Description
activityNumber BigNumber Unique sequential Wallet transaction number
amount BigNumber Absolute transaction amount in cents.
value BigNumber Change to the Wallet’s balance in cents when the transaction was applied.
createdAt Timestamp Transaction timestamp as ISO 8601 date string.
activityType String Hints to the type of transaction: undefined or “returned-asset-transfer”
destWalletId String Id of the destination Wallet if applicable.
srcWalletId String Id of the source Wallet if applicable.
destParty String Display value for party receiving funds if applicable. See note below.
srcParty String Display value for party providing funds if applicable. See note below.
paymentRequestId String Id of the related payment request if applicable.
topupId String Id of the related topup funds transfer request if applicable.
assetTransferId String Id of the related asset transfer request if applicable.
withdrawalId String Id of the related withdrawal request if applicable.

Party Values

The “destParty” and “srcParty” are optionally provided depending on the purpose of the transaction. Values may include a merchant name, user handle, masked user email, masked user phone, or bank account.

Example response payload (Payment)

{
-  "items": [
-    {
-      "activityNumber": "1",
-      "amount": "350",
-      "value": "-350",
-      "createdAt": "2020-06-17T18:00:23.000Z",
-      "destParty": "Centrapay Cafe",
-      "destWalletId": "GfYJd5tZQ63CrehgTP2RPB",
-      "srcWalletId": "EBVSreNmpsE2Pazw3SipXC",
-      "paymentRequestId": "MhocUmpxxmgdHjr7DgKoKw"
-    }
-  ]
-}

Example response payload (Topup)

{
-  "items": [
-    {
-      "activityNumber": "1",
-      "amount": "5000",
-      "value": "5000",
-      "createdAt": "2020-06-17T18:00:23.000Z",
-      "srcParty": "12-4000-100001-00",
-      "destWalletId": "EBVSreNmpsE2Pazw3SipXC",
-      "topupId": "77hqHDzw6KaaG2P2hoshUB"
-    }
-  ]
-}

Example response payload (Sent Asset)

{
-  "items": [
-    {
-      "activityNumber": "1",
-      "amount": "2500",
-      "value": "-2500",
-      "createdAt": "2020-06-17T18:00:23.000Z",
-      "destParty": "+6422*****36",
-      "srcWalletId": "EBVSreNmpsE2Pazw3SipXC",
-      "assetTransferId": "TtQHufC4LGBY2eiPRopRm3"
-    }
-  ]
-}

Example response payload (Received Asset)

{
-  "items": [
-    {
-      "activityNumber": "1",
-      "amount": "2500",
-      "value": "2500",
-      "createdAt": "2020-06-17T18:00:23.000Z",
-      "srcParty": "+6421*****18",
-      "destWalletId": "EBVSreNmpsE2Pazw3SipXC",
-      "assetTransferId": "TtQHufC4LGBY2eiPRopRm3"
-    }
-  ]
-}

Example response payload (Returned Asset)

{
-  "items": [
-    {
-      "activityNumber": "1",
-      "amount": "2500",
-      "value": "2500",
-      "createdAt": "2020-06-17T18:00:23.000Z",
-      "activityType": "returned-asset-transfer",
-      "srcParty": "+6421*****18",
-      "destWalletId": "EBVSreNmpsE2Pazw3SipXC",
-      "assetTransferId": "TtQHufC4LGBY2eiPRopRm3"
-    }
-  ]
-}

Example response payload (Withdraw)

{
-  "items": [
-    {
-      "activityNumber": "1",
-      "amount": "2500",
-      "value": "2500",
-      "createdAt": "2020-06-17T18:00:23.000Z",
-      "srcWalletId": "EBVSreNmpsE2Pazw3SipXC",
-      "destParty": "12-3546-2544786-00",
-      "withdrawalId": "TtQHufC4LGBY2eiPRopRm3"
-    }
-  ]
-}


diff --git a/assets/asset-categories.html b/assets/asset-categories.html deleted file mode 100644 index cb12a6874..000000000 --- a/assets/asset-categories.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - Redirecting… - - - - -

Redirecting…

- Click here if you are not redirected. - diff --git a/assets/asset-transfers.html b/assets/asset-transfers.html deleted file mode 100644 index 77810cb95..000000000 --- a/assets/asset-transfers.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - Redirecting… - - - - -

Redirecting…

- Click here if you are not redirected. - diff --git a/assets/css/just-the-docs-dark.css b/assets/css/just-the-docs-dark.css deleted file mode 100644 index 77940586e..000000000 --- a/assets/css/just-the-docs-dark.css +++ /dev/null @@ -1,1540 +0,0 @@ -@charset "UTF-8"; -/*! normalize.scss v0.1.0 | MIT License | based on git.io/normalize */ -/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ -html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } - -/** Remove default margin. */ -body { margin: 0; } - -/* HTML5 display definitions ========================================================================== */ -/** Correct `block` display not defined for any HTML5 element in IE 8/9. Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox. Correct `block` display not defined for `main` in IE 11. */ -article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; } - -/** 1. Correct `inline-block` display not defined in IE 8/9. 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. */ -audio, canvas, progress, video { display: inline-block; /* 1 */ vertical-align: baseline; /* 2 */ } - -/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ -audio:not([controls]) { display: none; height: 0; } - -/** Address `[hidden]` styling not present in IE 8/9/10. Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. */ -[hidden], template { display: none; } - -/* Links ========================================================================== */ -/** Remove the gray background color from active links in IE 10. */ -a { background-color: transparent; } - -/** Improve readability when focused and also mouse hovered in all browsers. */ -a:active, a:hover { outline: 0; } - -/* Text-level semantics ========================================================================== */ -/** Address styling not present in IE 8/9/10/11, Safari, and Chrome. */ -abbr[title] { border-bottom: 1px dotted; } - -/** Address style set to `bolder` in Firefox 4+, Safari, and Chrome. */ -b, strong { font-weight: bold; } - -/** Address styling not present in Safari and Chrome. */ -dfn { font-style: italic; } - -/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari, and Chrome. */ -h1 { font-size: 2em; margin: 0.67em 0; } - -/** Address styling not present in IE 8/9. */ -mark { background: #ff0; color: #000; } - -/** Address inconsistent and variable font size in all browsers. */ -small { font-size: 80%; } - -/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ -sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } - -sup { top: -0.5em; } - -sub { bottom: -0.25em; } - -/* Embedded content ========================================================================== */ -/** Remove border when inside `a` element in IE 8/9/10. */ -img { border: 0; } - -/** Correct overflow not hidden in IE 9/10/11. */ -svg:not(:root) { overflow: hidden; } - -/* Grouping content ========================================================================== */ -/** Address margin not present in IE 8/9 and Safari. */ -figure { margin: 1em 40px; } - -/** Address differences between Firefox and other browsers. */ -hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } - -/** Contain overflow in all browsers. */ -pre { overflow: auto; } - -/** Address odd `em`-unit font size rendering in all browsers. */ -code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; } - -/* Forms ========================================================================== */ -/** Known limitation: by default, Chrome and Safari on OS X allow very limited styling of `select`, unless a `border` property is set. */ -/** 1. Correct color not being inherited. Known issue: affects color of disabled elements. 2. Correct font properties not being inherited. 3. Address margins set differently in Firefox 4+, Safari, and Chrome. */ -button, input, optgroup, select, textarea { color: inherit; /* 1 */ font: inherit; /* 2 */ margin: 0; /* 3 */ } - -/** Address `overflow` set to `hidden` in IE 8/9/10/11. */ -button { overflow: visible; } - -/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. Correct `select` style inheritance in Firefox. */ -button, select { text-transform: none; } - -/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ -button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } - -/** Re-set default cursor for disabled elements. */ -button[disabled], html input[disabled] { cursor: default; } - -/** Remove inner padding and border in Firefox 4+. */ -button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } - -/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ -input { line-height: normal; } - -/** It's recommended that you don't attempt to style these elements. Firefox's implementation doesn't respect box-sizing, padding, or width. 1. Address box sizing set to `content-box` in IE 8/9/10. 2. Remove excess padding in IE 8/9/10. */ -input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } - -/** Fix the cursor style for Chrome's increment/decrement buttons. For certain `font-size` values of the `input`, it causes the cursor style of the decrement button to change from `default` to `text`. */ -input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; } - -/** 1. Address `appearance` set to `searchfield` in Safari and Chrome. 2. Address `box-sizing` set to `border-box` in Safari and Chrome (include `-moz` to future-proof). */ -input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } - -/** Remove inner padding and search cancel button in Safari and Chrome on OS X. Safari (but not Chrome) clips the cancel button when the search input has padding (and `textfield` appearance). */ -input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } - -/** Define consistent border, margin, and padding. */ -fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } - -/** 1. Correct `color` not being inherited in IE 8/9/10/11. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ -legend { border: 0; /* 1 */ padding: 0; /* 2 */ } - -/** Remove default vertical scrollbar in IE 8/9/10/11. */ -textarea { overflow: auto; } - -/** Don't inherit the `font-weight` (applied by a rule above). NOTE: the default cannot safely be changed in Chrome and Safari on OS X. */ -optgroup { font-weight: bold; } - -/* Tables ========================================================================== */ -/** Remove most spacing between table cells. */ -table { border-collapse: collapse; border-spacing: 0; } - -td, th { padding: 0; } - -* { box-sizing: border-box; } - -::selection { color: #fff; background: #2c84fa; } - -html { font-size: 15px !important; scroll-behavior: smooth; } - -@media (min-width: 31.25rem) { html { font-size: 16px !important; } } - -body { font-family: -apple-system, BlinkMacSystemFont, "helvetica neue", helvetica, roboto, noto, "segoe ui", arial, sans-serif; font-size: inherit; line-height: 1.4; color: #e6e1e8; background-color: #27262b; } - -ol, ul, dl, pre, address, blockquote, table, div, hr, form, fieldset, noscript .table-wrapper { margin-top: 0; } - -h1, h2, h3, h4, h5, h6 { margin-top: 0; margin-bottom: 1em; font-weight: 500; line-height: 1.25; color: #f5f6fa; } - -p { margin-top: 1em; margin-bottom: 1em; } - -a { color: #2c84fa; text-decoration: none; } - -a:not([class]) { text-decoration: none; background-image: linear-gradient(#44434d 0%, #44434d 100%); background-repeat: repeat-x; background-position: 0 100%; background-size: 1px 1px; } - -a:not([class]):hover { background-image: linear-gradient(rgba(44, 132, 250, 0.45) 0%, rgba(44, 132, 250, 0.45) 100%); background-size: 1px 1px; } - -code { font-family: "SFMono-Regular", Menlo, Consolas, Monospace; font-size: 0.75em; line-height: 1.4; } - -figure, pre { margin: 0; } - -li { margin: 0.25em 0; } - -img { max-width: 100%; height: auto; } - -hr { height: 1px; padding: 0; margin: 2rem 0; background-color: #44434d; border: 0; } - -.side-bar { z-index: 0; display: flex; flex-wrap: wrap; background-color: #27262b; } - -@media (min-width: 50rem) { .side-bar { flex-wrap: nowrap; position: fixed; width: 248px; height: 100%; flex-direction: column; border-right: 1px solid #44434d; align-items: flex-end; } } - -@media (min-width: 66.5rem) { .side-bar { width: calc((100% - 1064px) / 2 + 264px); min-width: 264px; } } - -@media (min-width: 50rem) { .main { position: relative; max-width: 800px; margin-left: 248px; } } - -@media (min-width: 66.5rem) { .main { margin-left: calc( (100% - 1064px) / 2 + 264px); } } - -.main-content-wrap { padding-right: 1rem; padding-left: 1rem; padding-top: 1rem; padding-bottom: 1rem; } - -@media (min-width: 50rem) { .main-content-wrap { padding-right: 2rem; padding-left: 2rem; } } - -@media (min-width: 50rem) { .main-content-wrap { padding-top: 2rem; padding-bottom: 2rem; } } - -.main-header { z-index: 0; display: none; background-color: #27262b; } - -@media (min-width: 50rem) { .main-header { display: flex; justify-content: space-between; height: 60px; background-color: #27262b; border-bottom: 1px solid #44434d; } } - -.main-header.nav-open { display: block; } - -@media (min-width: 50rem) { .main-header.nav-open { display: flex; } } - -.site-nav, .site-header, .site-footer { width: 100%; } - -@media (min-width: 66.5rem) { .site-nav, .site-header, .site-footer { width: 264px; } } - -.site-nav { display: none; } - -.site-nav.nav-open { display: block; } - -@media (min-width: 50rem) { .site-nav { display: block; padding-top: 3rem; padding-bottom: 1rem; overflow-y: auto; flex: 1 1 auto; } } - -.site-header { display: flex; min-height: 60px; align-items: center; } - -@media (min-width: 50rem) { .site-header { height: 60px; max-height: 60px; border-bottom: 1px solid #44434d; } } - -.site-title { padding-right: 1rem; padding-left: 1rem; flex-grow: 1; display: flex; height: 100%; align-items: center; padding-top: 0.75rem; padding-bottom: 0.75rem; color: #f5f6fa; font-size: 18px !important; } - -@media (min-width: 50rem) { .site-title { padding-right: 2rem; padding-left: 2rem; } } - -@media (min-width: 31.25rem) { .site-title { font-size: 24px !important; line-height: 1.25; } } - -@media (min-width: 50rem) { .site-title { padding-top: 0.5rem; padding-bottom: 0.5rem; } } - -.site-button { display: flex; height: 100%; padding: 1rem; align-items: center; } - -@media (min-width: 50rem) { .site-header .site-button { display: none; } } - -.site-title:hover { background-image: linear-gradient(-90deg, #201f23 0%, rgba(32, 31, 35, 0.8) 80%, rgba(32, 31, 35, 0) 100%); } - -.site-button:hover { background-image: linear-gradient(-90deg, #201f23 0%, rgba(32, 31, 35, 0.8) 100%); } - -body { position: relative; padding-bottom: 4rem; overflow-y: scroll; } - -@media (min-width: 50rem) { body { position: static; padding-bottom: 0; } } - -.site-footer { padding-right: 1rem; padding-left: 1rem; position: absolute; bottom: 0; left: 0; padding-top: 1rem; padding-bottom: 1rem; color: #959396; font-size: 11px !important; } - -@media (min-width: 50rem) { .site-footer { padding-right: 2rem; padding-left: 2rem; } } - -@media (min-width: 31.25rem) { .site-footer { font-size: 12px !important; } } - -@media (min-width: 50rem) { .site-footer { position: static; justify-self: end; } } - -.icon { width: 1.5rem; height: 1.5rem; color: #2c84fa; } - -.main-content { line-height: 1.6; } - -.main-content ol, .main-content ul, .main-content dl, .main-content pre, .main-content address, .main-content blockquote, .main-content .table-wrapper { margin-top: 0.5em; } - -.main-content a { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } - -.main-content ul, .main-content ol { padding-left: 1.5em; } - -.main-content li .highlight { margin-top: 0.25rem; } - -.main-content ol { list-style-type: none; counter-reset: step-counter; } - -.main-content ol > li { position: relative; } - -.main-content ol > li::before { position: absolute; top: 0.2em; left: -1.6em; color: #959396; content: counter(step-counter); counter-increment: step-counter; font-size: 12px !important; } - -@media (min-width: 31.25rem) { .main-content ol > li::before { font-size: 14px !important; } } - -@media (min-width: 31.25rem) { .main-content ol > li::before { top: 0.11em; } } - -.main-content ol > li ol { counter-reset: sub-counter; } - -.main-content ol > li ol li::before { content: counter(sub-counter, lower-alpha); counter-increment: sub-counter; } - -.main-content ul { list-style: none; } - -.main-content ul > li::before { position: absolute; margin-left: -1.4em; color: #959396; content: "•"; } - -.main-content .task-list { padding-left: 0; } - -.main-content .task-list-item { display: flex; align-items: center; } - -.main-content .task-list-item::before { content: ""; } - -.main-content .task-list-item-checkbox { margin-right: 0.6em; } - -.main-content hr + * { margin-top: 0; } - -.main-content h1:first-of-type { margin-top: 0.5em; } - -.main-content dl { display: grid; grid-template-columns: max-content 1fr; } - -.main-content dt, .main-content dd { margin: 0.25em 0; } - -.main-content dt { text-align: right; } - -.main-content dt::after { content: ":"; } - -.main-content dd { margin-left: 1em; font-weight: 500; } - -.main-content .anchor-heading { position: absolute; right: -1rem; width: 1.5rem; height: 100%; padding-right: 0.25rem; padding-left: 0.25rem; overflow: visible; } - -@media (min-width: 50rem) { .main-content .anchor-heading { right: auto; left: -1.5rem; } } - -.main-content .anchor-heading svg { display: inline-block; width: 100%; height: 100%; color: #2c84fa; visibility: hidden; } - -.main-content .anchor-heading:hover svg, .main-content h1:hover > .anchor-heading svg, .main-content h2:hover > .anchor-heading svg, .main-content h3:hover > .anchor-heading svg, .main-content h4:hover > .anchor-heading svg, .main-content h5:hover > .anchor-heading svg, .main-content h6:hover > .anchor-heading svg { visibility: visible; } - -.main-content summary { cursor: pointer; } - -.main-content h1, .main-content h2, .main-content h3, .main-content h4, .main-content h5, .main-content h6 { position: relative; margin-top: 1.5em; margin-bottom: 0.25em; } - -.main-content h1:first-child, .main-content h2:first-child, .main-content h3:first-child, .main-content h4:first-child, .main-content h5:first-child, .main-content h6:first-child { margin-top: 0.5rem; } - -.main-content h1 + table, .main-content h1 + .table-wrapper, .main-content h1 + .code-example, .main-content h1 + .highlighter-rouge, .main-content h2 + table, .main-content h2 + .table-wrapper, .main-content h2 + .code-example, .main-content h2 + .highlighter-rouge, .main-content h3 + table, .main-content h3 + .table-wrapper, .main-content h3 + .code-example, .main-content h3 + .highlighter-rouge, .main-content h4 + table, .main-content h4 + .table-wrapper, .main-content h4 + .code-example, .main-content h4 + .highlighter-rouge, .main-content h5 + table, .main-content h5 + .table-wrapper, .main-content h5 + .code-example, .main-content h5 + .highlighter-rouge, .main-content h6 + table, .main-content h6 + .table-wrapper, .main-content h6 + .code-example, .main-content h6 + .highlighter-rouge { margin-top: 1em; } - -.main-content h1 + p, .main-content h2 + p, .main-content h3 + p, .main-content h4 + p, .main-content h5 + p, .main-content h6 + p { margin-top: 0; } - -.nav-list { padding: 0; margin-top: 0; margin-bottom: 0; list-style: none; } - -.nav-list .nav-list-item { font-size: 15px !important; position: relative; margin: 0; } - -@media (min-width: 31.25rem) { .nav-list .nav-list-item { font-size: 16px !important; } } - -@media (min-width: 50rem) { .nav-list .nav-list-item { font-size: 12px !important; } } - -@media (min-width: 50rem) and (min-width: 31.25rem) { .nav-list .nav-list-item { font-size: 14px !important; } } - -.nav-list .nav-list-item .nav-list-link { display: block; min-height: 3rem; padding-top: 0.25rem; padding-bottom: 0.25rem; line-height: 2.5rem; padding-right: 3rem; padding-left: 1rem; } - -@media (min-width: 50rem) { .nav-list .nav-list-item .nav-list-link { min-height: 2rem; line-height: 1.5rem; padding-right: 2rem; padding-left: 2rem; } } - -.nav-list .nav-list-item .nav-list-link.active { font-weight: 600; text-decoration: none; } - -.nav-list .nav-list-item .nav-list-link:hover, .nav-list .nav-list-item .nav-list-link.active { background-image: linear-gradient(-90deg, #201f23 0%, rgba(32, 31, 35, 0.8) 80%, rgba(32, 31, 35, 0) 100%); } - -.nav-list .nav-list-item .nav-list-expander { position: absolute; right: 0; width: 3rem; height: 3rem; padding-top: 0.75rem; padding-right: 0.75rem; padding-bottom: 0.75rem; padding-left: 0.75rem; color: #2c84fa; } - -@media (min-width: 50rem) { .nav-list .nav-list-item .nav-list-expander { width: 2rem; height: 2rem; padding-top: 0.5rem; padding-right: 0.5rem; padding-bottom: 0.5rem; padding-left: 0.5rem; } } - -.nav-list .nav-list-item .nav-list-expander:hover { background-image: linear-gradient(-90deg, #201f23 0%, rgba(32, 31, 35, 0.8) 100%); } - -.nav-list .nav-list-item .nav-list-expander svg { transform: rotate(90deg); } - -.nav-list .nav-list-item > .nav-list { display: none; padding-left: 0.75rem; list-style: none; } - -.nav-list .nav-list-item > .nav-list .nav-list-item { position: relative; } - -.nav-list .nav-list-item > .nav-list .nav-list-item .nav-list-link { color: #959396; } - -.nav-list .nav-list-item > .nav-list .nav-list-item .nav-list-expander { color: #959396; } - -.nav-list .nav-list-item.active > .nav-list-expander svg { transform: rotate(-90deg); } - -.nav-list .nav-list-item.active > .nav-list { display: block; } - -.aux-nav { height: 100%; overflow-x: auto; font-size: 11px !important; } - -@media (min-width: 31.25rem) { .aux-nav { font-size: 12px !important; } } - -.aux-nav .aux-nav-list { display: flex; height: 100%; padding: 0; margin: 0; list-style: none; } - -.aux-nav .aux-nav-list-item { display: inline-block; height: 100%; padding: 0; margin: 0; } - -@media (min-width: 50rem) { .aux-nav { padding-right: 1rem; } } - -@media (min-width: 50rem) { .breadcrumb-nav { margin-top: -1rem; } } - -.breadcrumb-nav-list { padding-left: 0; margin-bottom: 0.75rem; list-style: none; } - -.breadcrumb-nav-list-item { display: table-cell; font-size: 11px !important; } - -@media (min-width: 31.25rem) { .breadcrumb-nav-list-item { font-size: 12px !important; } } - -.breadcrumb-nav-list-item::before { display: none; } - -.breadcrumb-nav-list-item::after { display: inline-block; margin-right: 0.5rem; margin-left: 0.5rem; color: #959396; content: "/"; } - -.breadcrumb-nav-list-item:last-child::after { content: ""; } - -h1, .text-alpha { font-size: 32px !important; line-height: 1.25; font-weight: 300; } - -@media (min-width: 31.25rem) { h1, .text-alpha { font-size: 36px !important; } } - -h2, .text-beta { font-size: 18px !important; } - -@media (min-width: 31.25rem) { h2, .text-beta { font-size: 24px !important; line-height: 1.25; } } - -h3, .text-gamma { font-size: 16px !important; } - -@media (min-width: 31.25rem) { h3, .text-gamma { font-size: 18px !important; } } - -h4, .text-delta { font-size: 11px !important; font-weight: 400; text-transform: uppercase; letter-spacing: 0.1em; } - -@media (min-width: 31.25rem) { h4, .text-delta { font-size: 12px !important; } } - -h5, .text-epsilon { font-size: 12px !important; color: #44434d; } - -@media (min-width: 31.25rem) { h5, .text-epsilon { font-size: 14px !important; } } - -h6, .text-zeta { font-size: 11px !important; color: #44434d; } - -@media (min-width: 31.25rem) { h6, .text-zeta { font-size: 12px !important; } } - -.text-small { font-size: 11px !important; } - -@media (min-width: 31.25rem) { .text-small { font-size: 12px !important; } } - -.text-mono { font-family: "SFMono-Regular", Menlo, Consolas, Monospace !important; } - -.text-left { text-align: left !important; } - -.text-center { text-align: center !important; } - -.text-right { text-align: right !important; } - -.label, .label-blue { display: inline-block; padding-top: 0.16em; padding-right: 0.56em; padding-bottom: 0.16em; padding-left: 0.56em; margin-right: 0.5rem; margin-left: 0.5rem; color: #fff; text-transform: uppercase; vertical-align: middle; background-color: #2869e6; font-size: 11px !important; border-radius: 12px; } - -@media (min-width: 31.25rem) { .label, .label-blue { font-size: 12px !important; } } - -.label-green { background-color: #009c7b; } - -.label-purple { background-color: #5e41d0; } - -.label-red { background-color: #e94c4c; } - -.label-yellow { color: #44434d; background-color: #f7d12e; } - -.btn { display: inline-block; box-sizing: border-box; padding-top: 0.3em; padding-right: 1em; padding-bottom: 0.3em; padding-left: 1em; margin: 0; font-family: inherit; font-size: inherit; font-weight: 500; line-height: 1.5; color: #2c84fa; text-decoration: none; vertical-align: baseline; cursor: pointer; background-color: #302d36; border-width: 0; border-radius: 4px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); appearance: none; } - -.btn:focus { text-decoration: none; outline: none; box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.25); } - -.btn:focus:hover, .btn.selected:focus { box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.25); } - -.btn:hover, .btn.zeroclipboard-is-hover { color: #227efa; } - -.btn:hover, .btn:active, .btn.zeroclipboard-is-hover, .btn.zeroclipboard-is-active { text-decoration: none; background-color: #2e2b33; } - -.btn:active, .btn.selected, .btn.zeroclipboard-is-active { background-color: #29262e; background-image: none; box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); } - -.btn.selected:hover { background-color: #cfcfcf; } - -.btn:disabled, .btn:disabled:hover, .btn.disabled, .btn.disabled:hover { color: rgba(102, 102, 102, 0.5); cursor: default; background-color: rgba(229, 229, 229, 0.5); background-image: none; box-shadow: none; } - -.btn-outline { color: #2c84fa; background: transparent; box-shadow: inset 0 0 0 2px #e6e1e8; } - -.btn-outline:hover, .btn-outline:active, .btn-outline.zeroclipboard-is-hover, .btn-outline.zeroclipboard-is-active { color: #1878fa; text-decoration: none; background-color: transparent; box-shadow: inset 0 0 0 3px #e6e1e8; } - -.btn-outline:focus { text-decoration: none; outline: none; box-shadow: inset 0 0 0 2px #5c5962, 0 0 0 3px rgba(0, 0, 255, 0.25); } - -.btn-outline:focus:hover, .btn-outline.selected:focus { box-shadow: inset 0 0 0 2px #5c5962; } - -.btn-primary { color: #fff; background-color: #2448a7; background-image: linear-gradient(#2b55c4, #2448a7); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12); } - -.btn-primary:hover, .btn-primary.zeroclipboard-is-hover { color: #fff; background-color: #22459e; background-image: linear-gradient(#2850b7, #22459e); } - -.btn-primary:active, .btn-primary.selected, .btn-primary.zeroclipboard-is-active { background-color: #21439a; background-image: none; box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); } - -.btn-primary.selected:hover { background-color: #1d3a85; } - -.btn-purple { color: #fff; background-color: #5739ce; background-image: linear-gradient(#6f55d5, #5739ce); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12); } - -.btn-purple:hover, .btn-purple.zeroclipboard-is-hover { color: #fff; background-color: #5132cb; background-image: linear-gradient(#6549d2, #5132cb); } - -.btn-purple:active, .btn-purple.selected, .btn-purple.zeroclipboard-is-active { background-color: #4f31c6; background-image: none; box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); } - -.btn-purple.selected:hover { background-color: #472cb2; } - -.btn-blue { color: #fff; background-color: #227efa; background-image: linear-gradient(#4593fb, #227efa); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12); } - -.btn-blue:hover, .btn-blue.zeroclipboard-is-hover { color: #fff; background-color: #1878fa; background-image: linear-gradient(#368afa, #1878fa); } - -.btn-blue:active, .btn-blue.selected, .btn-blue.zeroclipboard-is-active { background-color: #1375f9; background-image: none; box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); } - -.btn-blue.selected:hover { background-color: #0669ed; } - -.btn-green { color: #fff; background-color: #10ac7d; background-image: linear-gradient(#13cc95, #10ac7d); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12); } - -.btn-green:hover, .btn-green.zeroclipboard-is-hover { color: #fff; background-color: #0fa276; background-image: linear-gradient(#12be8b, #0fa276); } - -.btn-green:active, .btn-green.selected, .btn-green.zeroclipboard-is-active { background-color: #0f9e73; background-image: none; box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); } - -.btn-green.selected:hover { background-color: #0d8662; } - -.search { position: relative; z-index: 2; flex-grow: 1; height: 4rem; padding: 0.5rem; transition: padding linear 200ms; } - -@media (min-width: 50rem) { .search { position: relative !important; width: auto !important; height: 100% !important; padding: 0; transition: none; } } - -.search-input-wrap { position: relative; z-index: 1; height: 3rem; overflow: hidden; border-radius: 4px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); transition: height linear 200ms; } - -@media (min-width: 50rem) { .search-input-wrap { position: absolute; width: 100%; max-width: 536px; height: 100% !important; border-radius: 0; box-shadow: none; transition: width ease 400ms; } } - -.search-input { position: absolute; width: 100%; height: 100%; padding-top: 0.5rem; padding-right: 1rem; padding-bottom: 0.5rem; padding-left: 2.5rem; font-size: 16px; background-color: #302d36; border-top: 0; border-right: 0; border-bottom: 0; border-left: 0; border-radius: 0; } - -@media (min-width: 50rem) { .search-input { padding-top: 1rem; padding-bottom: 1rem; padding-left: 3.5rem; font-size: 14px; background-color: #27262b; transition: padding-left linear 200ms; } } - -.search-input:focus { outline: 0; } - -.search-input:focus + .search-label .search-icon { color: #2c84fa; } - -.search-label { position: absolute; display: flex; height: 100%; padding-left: 1rem; } - -@media (min-width: 50rem) { .search-label { padding-left: 2rem; transition: padding-left linear 200ms; } } - -.search-label .search-icon { width: 1.2rem; height: 1.2rem; align-self: center; color: #959396; } - -.search-results { position: absolute; left: 0; display: none; width: 100%; max-height: calc(100% - 4rem); overflow-y: auto; background-color: #302d36; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); } - -@media (min-width: 50rem) { .search-results { top: 100%; width: 536px; max-height: calc(100vh - 200%) !important; } } - -.search-results-list { padding-left: 0; margin-bottom: 0.25rem; list-style: none; font-size: 15px !important; } - -@media (min-width: 31.25rem) { .search-results-list { font-size: 16px !important; } } - -@media (min-width: 50rem) { .search-results-list { font-size: 12px !important; } } - -@media (min-width: 50rem) and (min-width: 31.25rem) { .search-results-list { font-size: 14px !important; } } - -.search-results-list-item { padding: 0; margin: 0; } - -.search-result { display: block; padding-top: 0.25rem; padding-right: 0.75rem; padding-bottom: 0.25rem; padding-left: 0.75rem; } - -.search-result:hover, .search-result.active { background-color: #201f23; } - -.search-result-title { display: block; padding-top: 0.5rem; padding-bottom: 0.5rem; } - -@media (min-width: 31.25rem) { .search-result-title { display: inline-block; width: 40%; padding-right: 0.5rem; vertical-align: top; } } - -.search-result-doc { display: flex; align-items: center; word-wrap: break-word; } - -.search-result-doc.search-result-doc-parent { opacity: 0.5; font-size: 12px !important; } - -@media (min-width: 31.25rem) { .search-result-doc.search-result-doc-parent { font-size: 14px !important; } } - -@media (min-width: 50rem) { .search-result-doc.search-result-doc-parent { font-size: 11px !important; } } - -@media (min-width: 50rem) and (min-width: 31.25rem) { .search-result-doc.search-result-doc-parent { font-size: 12px !important; } } - -.search-result-doc .search-result-icon { width: 1rem; height: 1rem; margin-right: 0.5rem; color: #2c84fa; flex-shrink: 0; } - -.search-result-doc .search-result-doc-title { overflow: auto; } - -.search-result-section { margin-left: 1.5rem; word-wrap: break-word; } - -.search-result-rel-url { display: block; margin-left: 1.5rem; overflow: hidden; color: #959396; text-overflow: ellipsis; white-space: nowrap; font-size: 9px !important; } - -@media (min-width: 31.25rem) { .search-result-rel-url { font-size: 10px !important; } } - -.search-result-previews { display: block; padding-top: 0.5rem; padding-bottom: 0.5rem; padding-left: 1rem; margin-left: 0.5rem; color: #959396; word-wrap: break-word; border-left: 1px solid; border-left-color: #44434d; font-size: 11px !important; } - -@media (min-width: 31.25rem) { .search-result-previews { font-size: 12px !important; } } - -@media (min-width: 31.25rem) { .search-result-previews { display: inline-block; width: 60%; padding-left: 0.5rem; margin-left: 0; vertical-align: top; } } - -.search-result-preview + .search-result-preview { margin-top: 0.25rem; } - -.search-result-highlight { font-weight: bold; } - -.search-no-result { padding-top: 0.5rem; padding-right: 0.75rem; padding-bottom: 0.5rem; padding-left: 0.75rem; font-size: 12px !important; } - -@media (min-width: 31.25rem) { .search-no-result { font-size: 14px !important; } } - -.search-button { position: fixed; right: 1rem; bottom: 1rem; display: flex; width: 3.5rem; height: 3.5rem; background-color: #302d36; border: 1px solid rgba(44, 132, 250, 0.3); border-radius: 1.75rem; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); align-items: center; justify-content: center; } - -.search-overlay { position: fixed; top: 0; left: 0; z-index: 1; width: 0; height: 0; background-color: rgba(0, 0, 0, 0.3); opacity: 0; transition: opacity ease 400ms, width 0s 400ms, height 0s 400ms; } - -.search-active .search { position: fixed; top: 0; left: 0; width: 100%; height: 100%; padding: 0; } - -.search-active .search-input-wrap { height: 4rem; border-radius: 0; } - -@media (min-width: 50rem) { .search-active .search-input-wrap { width: 536px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); } } - -.search-active .search-input { background-color: #302d36; } - -@media (min-width: 50rem) { .search-active .search-input { padding-left: 2.75rem; } } - -@media (min-width: 50rem) { .search-active .search-label { padding-left: 1.25rem; } } - -.search-active .search-results { display: block; } - -.search-active .search-overlay { width: 100%; height: 100%; opacity: 1; transition: opacity ease 400ms, width 0s, height 0s; } - -@media (min-width: 50rem) { .search-active .main { position: fixed; right: 0; left: 0; } } - -.search-active .main-header { padding-top: 4rem; } - -@media (min-width: 50rem) { .search-active .main-header { padding-top: 0; } } - -.table-wrapper { display: block; width: 100%; max-width: 100%; margin-bottom: 1.5rem; overflow-x: auto; border-radius: 4px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); } - -table { display: table; min-width: 100%; border-collapse: separate; } - -th, td { font-size: 12px !important; min-width: 120px; padding-top: 0.5rem; padding-right: 0.75rem; padding-bottom: 0.5rem; padding-left: 0.75rem; background-color: #302d36; border-bottom: 1px solid rgba(68, 67, 77, 0.5); border-left: 1px solid #44434d; } - -@media (min-width: 31.25rem) { th, td { font-size: 14px !important; } } - -th:first-of-type, td:first-of-type { border-left: 0; } - -tbody tr:last-of-type th, tbody tr:last-of-type td { border-bottom: 0; } - -tbody tr:last-of-type td { padding-bottom: 0.75rem; } - -thead th { border-bottom: 1px solid #44434d; } - -code { padding: 0.2em 0.15em; font-weight: 400; background-color: #302d36; border: 1px solid #44434d; border-radius: 4px; } - -pre.highlight, figure.highlight { padding: 0.75rem; margin-top: 0; margin-bottom: 0; background-color: #302d36; border-radius: 4px; -webkit-overflow-scrolling: touch; } - -pre.highlight code, figure.highlight code { padding: 0; border: 0; } - -.highlighter-rouge { margin-bottom: 0.75rem; } - -.highlight .c { color: #586e75; } - -.highlight .err { color: #93a1a1; } - -.highlight .g { color: #93a1a1; } - -.highlight .k { color: #859900; } - -.highlight .l { color: #93a1a1; } - -.highlight .n { color: #93a1a1; } - -.highlight .o { color: #859900; } - -.highlight .x { color: #cb4b16; } - -.highlight .p { color: #93a1a1; } - -.highlight .cm { color: #586e75; } - -.highlight .cp { color: #859900; } - -.highlight .c1 { color: #586e75; } - -.highlight .cs { color: #859900; } - -.highlight .gd { color: #2aa198; } - -.highlight .ge { font-style: italic; color: #93a1a1; } - -.highlight .gr { color: #dc322f; } - -.highlight .gh { color: #cb4b16; } - -.highlight .gi { color: #859900; } - -.highlight .go { color: #93a1a1; } - -.highlight .gp { color: #93a1a1; } - -.highlight .gs { font-weight: bold; color: #93a1a1; } - -.highlight .gu { color: #cb4b16; } - -.highlight .gt { color: #93a1a1; } - -.highlight .kc { color: #cb4b16; } - -.highlight .kd { color: #268bd2; } - -.highlight .kn { color: #859900; } - -.highlight .kp { color: #859900; } - -.highlight .kr { color: #268bd2; } - -.highlight .kt { color: #dc322f; } - -.highlight .ld { color: #93a1a1; } - -.highlight .m { color: #2aa198; } - -.highlight .s { color: #2aa198; } - -.highlight .na { color: #555; } - -.highlight .nb { color: #b58900; } - -.highlight .nc { color: #268bd2; } - -.highlight .no { color: #cb4b16; } - -.highlight .nd { color: #268bd2; } - -.highlight .ni { color: #cb4b16; } - -.highlight .ne { color: #cb4b16; } - -.highlight .nf { color: #268bd2; } - -.highlight .nl { color: #555; } - -.highlight .nn { color: #93a1a1; } - -.highlight .nx { color: #555; } - -.highlight .py { color: #93a1a1; } - -.highlight .nt { color: #268bd2; } - -.highlight .nv { color: #268bd2; } - -.highlight .ow { color: #859900; } - -.highlight .w { color: #93a1a1; } - -.highlight .mf { color: #2aa198; } - -.highlight .mh { color: #2aa198; } - -.highlight .mi { color: #2aa198; } - -.highlight .mo { color: #2aa198; } - -.highlight .sb { color: #586e75; } - -.highlight .sc { color: #2aa198; } - -.highlight .sd { color: #93a1a1; } - -.highlight .s2 { color: #2aa198; } - -.highlight .se { color: #cb4b16; } - -.highlight .sh { color: #93a1a1; } - -.highlight .si { color: #2aa198; } - -.highlight .sx { color: #2aa198; } - -.highlight .sr { color: #dc322f; } - -.highlight .s1 { color: #2aa198; } - -.highlight .ss { color: #2aa198; } - -.highlight .bp { color: #268bd2; } - -.highlight .vc { color: #268bd2; } - -.highlight .vg { color: #268bd2; } - -.highlight .vi { color: #268bd2; } - -.highlight .il { color: #2aa198; } - -.code-example { padding: 0.75rem; margin-bottom: 0.75rem; overflow: auto; border: 1px solid #44434d; border-radius: 4px; } - -.code-example + .highlighter-rouge, .code-example + figure.highlight { position: relative; margin-top: -1rem; border-right: 1px solid #44434d; border-bottom: 1px solid #44434d; border-left: 1px solid #44434d; border-top-left-radius: 0; border-top-right-radius: 0; } - -.text-grey-dk-000 { color: #959396 !important; } - -.text-grey-dk-100 { color: #5c5962 !important; } - -.text-grey-dk-200 { color: #44434d !important; } - -.text-grey-dk-250 { color: #302d36 !important; } - -.text-grey-dk-300 { color: #27262b !important; } - -.text-grey-lt-000 { color: #f5f6fa !important; } - -.text-grey-lt-100 { color: #eeebee !important; } - -.text-grey-lt-200 { color: #ecebed !important; } - -.text-grey-lt-300 { color: #e6e1e8 !important; } - -.text-blue-000 { color: #2c84fa !important; } - -.text-blue-100 { color: #2869e6 !important; } - -.text-blue-200 { color: #264caf !important; } - -.text-blue-300 { color: #183385 !important; } - -.text-green-000 { color: #41d693 !important; } - -.text-green-100 { color: #11b584 !important; } - -.text-green-200 { color: #009c7b !important; } - -.text-green-300 { color: #026e57 !important; } - -.text-purple-000 { color: #7253ed !important; } - -.text-purple-100 { color: #5e41d0 !important; } - -.text-purple-200 { color: #4e26af !important; } - -.text-purple-300 { color: #381885 !important; } - -.text-yellow-000 { color: #ffeb82 !important; } - -.text-yellow-100 { color: #fadf50 !important; } - -.text-yellow-200 { color: #f7d12e !important; } - -.text-yellow-300 { color: #e7af06 !important; } - -.text-red-000 { color: #f77e7e !important; } - -.text-red-100 { color: #f96e65 !important; } - -.text-red-200 { color: #e94c4c !important; } - -.text-red-300 { color: #dd2e2e !important; } - -.bg-grey-dk-000 { background-color: #959396 !important; } - -.bg-grey-dk-100 { background-color: #5c5962 !important; } - -.bg-grey-dk-200 { background-color: #44434d !important; } - -.bg-grey-dk-250 { background-color: #302d36 !important; } - -.bg-grey-dk-300 { background-color: #27262b !important; } - -.bg-grey-lt-000 { background-color: #f5f6fa !important; } - -.bg-grey-lt-100 { background-color: #eeebee !important; } - -.bg-grey-lt-200 { background-color: #ecebed !important; } - -.bg-grey-lt-300 { background-color: #e6e1e8 !important; } - -.bg-blue-000 { background-color: #2c84fa !important; } - -.bg-blue-100 { background-color: #2869e6 !important; } - -.bg-blue-200 { background-color: #264caf !important; } - -.bg-blue-300 { background-color: #183385 !important; } - -.bg-green-000 { background-color: #41d693 !important; } - -.bg-green-100 { background-color: #11b584 !important; } - -.bg-green-200 { background-color: #009c7b !important; } - -.bg-green-300 { background-color: #026e57 !important; } - -.bg-purple-000 { background-color: #7253ed !important; } - -.bg-purple-100 { background-color: #5e41d0 !important; } - -.bg-purple-200 { background-color: #4e26af !important; } - -.bg-purple-300 { background-color: #381885 !important; } - -.bg-yellow-000 { background-color: #ffeb82 !important; } - -.bg-yellow-100 { background-color: #fadf50 !important; } - -.bg-yellow-200 { background-color: #f7d12e !important; } - -.bg-yellow-300 { background-color: #e7af06 !important; } - -.bg-red-000 { background-color: #f77e7e !important; } - -.bg-red-100 { background-color: #f96e65 !important; } - -.bg-red-200 { background-color: #e94c4c !important; } - -.bg-red-300 { background-color: #dd2e2e !important; } - -.d-block { display: block !important; } - -.d-flex { display: flex !important; } - -.d-inline { display: inline !important; } - -.d-inline-block { display: inline-block !important; } - -.d-none { display: none !important; } - -@media (min-width: 20rem) { .d-xs-block { display: block !important; } .d-xs-flex { display: flex !important; } .d-xs-inline { display: inline !important; } .d-xs-inline-block { display: inline-block !important; } .d-xs-none { display: none !important; } } - -@media (min-width: 20rem) { .d-xs-block { display: block !important; } .d-xs-flex { display: flex !important; } .d-xs-inline { display: inline !important; } .d-xs-inline-block { display: inline-block !important; } .d-xs-none { display: none !important; } } - -@media (min-width: 20rem) { .d-xs-block { display: block !important; } .d-xs-flex { display: flex !important; } .d-xs-inline { display: inline !important; } .d-xs-inline-block { display: inline-block !important; } .d-xs-none { display: none !important; } } - -@media (min-width: 20rem) { .d-xs-block { display: block !important; } .d-xs-flex { display: flex !important; } .d-xs-inline { display: inline !important; } .d-xs-inline-block { display: inline-block !important; } .d-xs-none { display: none !important; } } - -@media (min-width: 20rem) { .d-xs-block { display: block !important; } .d-xs-flex { display: flex !important; } .d-xs-inline { display: inline !important; } .d-xs-inline-block { display: inline-block !important; } .d-xs-none { display: none !important; } } - -@media (min-width: 20rem) { .d-xs-block { display: block !important; } .d-xs-flex { display: flex !important; } .d-xs-inline { display: inline !important; } .d-xs-inline-block { display: inline-block !important; } .d-xs-none { display: none !important; } } - -@media (min-width: 20rem) { .d-xs-block { display: block !important; } .d-xs-flex { display: flex !important; } .d-xs-inline { display: inline !important; } .d-xs-inline-block { display: inline-block !important; } .d-xs-none { display: none !important; } } - -@media (min-width: 20rem) { .d-xs-block { display: block !important; } .d-xs-flex { display: flex !important; } .d-xs-inline { display: inline !important; } .d-xs-inline-block { display: inline-block !important; } .d-xs-none { display: none !important; } } - -@media (min-width: 20rem) { .d-xs-block { display: block !important; } .d-xs-flex { display: flex !important; } .d-xs-inline { display: inline !important; } .d-xs-inline-block { display: inline-block !important; } .d-xs-none { display: none !important; } } - -@media (min-width: 20rem) { .d-xs-block { display: block !important; } .d-xs-flex { display: flex !important; } .d-xs-inline { display: inline !important; } .d-xs-inline-block { display: inline-block !important; } .d-xs-none { display: none !important; } } - -@media (min-width: 20rem) { .d-xs-block { display: block !important; } .d-xs-flex { display: flex !important; } .d-xs-inline { display: inline !important; } .d-xs-inline-block { display: inline-block !important; } .d-xs-none { display: none !important; } } - -@media (min-width: 31.25rem) { .d-sm-block { display: block !important; } .d-sm-flex { display: flex !important; } .d-sm-inline { display: inline !important; } .d-sm-inline-block { display: inline-block !important; } .d-sm-none { display: none !important; } } - -@media (min-width: 31.25rem) { .d-sm-block { display: block !important; } .d-sm-flex { display: flex !important; } .d-sm-inline { display: inline !important; } .d-sm-inline-block { display: inline-block !important; } .d-sm-none { display: none !important; } } - -@media (min-width: 31.25rem) { .d-sm-block { display: block !important; } .d-sm-flex { display: flex !important; } .d-sm-inline { display: inline !important; } .d-sm-inline-block { display: inline-block !important; } .d-sm-none { display: none !important; } } - -@media (min-width: 31.25rem) { .d-sm-block { display: block !important; } .d-sm-flex { display: flex !important; } .d-sm-inline { display: inline !important; } .d-sm-inline-block { display: inline-block !important; } .d-sm-none { display: none !important; } } - -@media (min-width: 31.25rem) { .d-sm-block { display: block !important; } .d-sm-flex { display: flex !important; } .d-sm-inline { display: inline !important; } .d-sm-inline-block { display: inline-block !important; } .d-sm-none { display: none !important; } } - -@media (min-width: 31.25rem) { .d-sm-block { display: block !important; } .d-sm-flex { display: flex !important; } .d-sm-inline { display: inline !important; } .d-sm-inline-block { display: inline-block !important; } .d-sm-none { display: none !important; } } - -@media (min-width: 31.25rem) { .d-sm-block { display: block !important; } .d-sm-flex { display: flex !important; } .d-sm-inline { display: inline !important; } .d-sm-inline-block { display: inline-block !important; } .d-sm-none { display: none !important; } } - -@media (min-width: 31.25rem) { .d-sm-block { display: block !important; } .d-sm-flex { display: flex !important; } .d-sm-inline { display: inline !important; } .d-sm-inline-block { display: inline-block !important; } .d-sm-none { display: none !important; } } - -@media (min-width: 31.25rem) { .d-sm-block { display: block !important; } .d-sm-flex { display: flex !important; } .d-sm-inline { display: inline !important; } .d-sm-inline-block { display: inline-block !important; } .d-sm-none { display: none !important; } } - -@media (min-width: 31.25rem) { .d-sm-block { display: block !important; } .d-sm-flex { display: flex !important; } .d-sm-inline { display: inline !important; } .d-sm-inline-block { display: inline-block !important; } .d-sm-none { display: none !important; } } - -@media (min-width: 31.25rem) { .d-sm-block { display: block !important; } .d-sm-flex { display: flex !important; } .d-sm-inline { display: inline !important; } .d-sm-inline-block { display: inline-block !important; } .d-sm-none { display: none !important; } } - -@media (min-width: 50rem) { .d-md-block { display: block !important; } .d-md-flex { display: flex !important; } .d-md-inline { display: inline !important; } .d-md-inline-block { display: inline-block !important; } .d-md-none { display: none !important; } } - -@media (min-width: 50rem) { .d-md-block { display: block !important; } .d-md-flex { display: flex !important; } .d-md-inline { display: inline !important; } .d-md-inline-block { display: inline-block !important; } .d-md-none { display: none !important; } } - -@media (min-width: 50rem) { .d-md-block { display: block !important; } .d-md-flex { display: flex !important; } .d-md-inline { display: inline !important; } .d-md-inline-block { display: inline-block !important; } .d-md-none { display: none !important; } } - -@media (min-width: 50rem) { .d-md-block { display: block !important; } .d-md-flex { display: flex !important; } .d-md-inline { display: inline !important; } .d-md-inline-block { display: inline-block !important; } .d-md-none { display: none !important; } } - -@media (min-width: 50rem) { .d-md-block { display: block !important; } .d-md-flex { display: flex !important; } .d-md-inline { display: inline !important; } .d-md-inline-block { display: inline-block !important; } .d-md-none { display: none !important; } } - -@media (min-width: 50rem) { .d-md-block { display: block !important; } .d-md-flex { display: flex !important; } .d-md-inline { display: inline !important; } .d-md-inline-block { display: inline-block !important; } .d-md-none { display: none !important; } } - -@media (min-width: 50rem) { .d-md-block { display: block !important; } .d-md-flex { display: flex !important; } .d-md-inline { display: inline !important; } .d-md-inline-block { display: inline-block !important; } .d-md-none { display: none !important; } } - -@media (min-width: 50rem) { .d-md-block { display: block !important; } .d-md-flex { display: flex !important; } .d-md-inline { display: inline !important; } .d-md-inline-block { display: inline-block !important; } .d-md-none { display: none !important; } } - -@media (min-width: 50rem) { .d-md-block { display: block !important; } .d-md-flex { display: flex !important; } .d-md-inline { display: inline !important; } .d-md-inline-block { display: inline-block !important; } .d-md-none { display: none !important; } } - -@media (min-width: 50rem) { .d-md-block { display: block !important; } .d-md-flex { display: flex !important; } .d-md-inline { display: inline !important; } .d-md-inline-block { display: inline-block !important; } .d-md-none { display: none !important; } } - -@media (min-width: 50rem) { .d-md-block { display: block !important; } .d-md-flex { display: flex !important; } .d-md-inline { display: inline !important; } .d-md-inline-block { display: inline-block !important; } .d-md-none { display: none !important; } } - -@media (min-width: 66.5rem) { .d-lg-block { display: block !important; } .d-lg-flex { display: flex !important; } .d-lg-inline { display: inline !important; } .d-lg-inline-block { display: inline-block !important; } .d-lg-none { display: none !important; } } - -@media (min-width: 66.5rem) { .d-lg-block { display: block !important; } .d-lg-flex { display: flex !important; } .d-lg-inline { display: inline !important; } .d-lg-inline-block { display: inline-block !important; } .d-lg-none { display: none !important; } } - -@media (min-width: 66.5rem) { .d-lg-block { display: block !important; } .d-lg-flex { display: flex !important; } .d-lg-inline { display: inline !important; } .d-lg-inline-block { display: inline-block !important; } .d-lg-none { display: none !important; } } - -@media (min-width: 66.5rem) { .d-lg-block { display: block !important; } .d-lg-flex { display: flex !important; } .d-lg-inline { display: inline !important; } .d-lg-inline-block { display: inline-block !important; } .d-lg-none { display: none !important; } } - -@media (min-width: 66.5rem) { .d-lg-block { display: block !important; } .d-lg-flex { display: flex !important; } .d-lg-inline { display: inline !important; } .d-lg-inline-block { display: inline-block !important; } .d-lg-none { display: none !important; } } - -@media (min-width: 66.5rem) { .d-lg-block { display: block !important; } .d-lg-flex { display: flex !important; } .d-lg-inline { display: inline !important; } .d-lg-inline-block { display: inline-block !important; } .d-lg-none { display: none !important; } } - -@media (min-width: 66.5rem) { .d-lg-block { display: block !important; } .d-lg-flex { display: flex !important; } .d-lg-inline { display: inline !important; } .d-lg-inline-block { display: inline-block !important; } .d-lg-none { display: none !important; } } - -@media (min-width: 66.5rem) { .d-lg-block { display: block !important; } .d-lg-flex { display: flex !important; } .d-lg-inline { display: inline !important; } .d-lg-inline-block { display: inline-block !important; } .d-lg-none { display: none !important; } } - -@media (min-width: 66.5rem) { .d-lg-block { display: block !important; } .d-lg-flex { display: flex !important; } .d-lg-inline { display: inline !important; } .d-lg-inline-block { display: inline-block !important; } .d-lg-none { display: none !important; } } - -@media (min-width: 66.5rem) { .d-lg-block { display: block !important; } .d-lg-flex { display: flex !important; } .d-lg-inline { display: inline !important; } .d-lg-inline-block { display: inline-block !important; } .d-lg-none { display: none !important; } } - -@media (min-width: 66.5rem) { .d-lg-block { display: block !important; } .d-lg-flex { display: flex !important; } .d-lg-inline { display: inline !important; } .d-lg-inline-block { display: inline-block !important; } .d-lg-none { display: none !important; } } - -@media (min-width: 87.5rem) { .d-xl-block { display: block !important; } .d-xl-flex { display: flex !important; } .d-xl-inline { display: inline !important; } .d-xl-inline-block { display: inline-block !important; } .d-xl-none { display: none !important; } } - -@media (min-width: 87.5rem) { .d-xl-block { display: block !important; } .d-xl-flex { display: flex !important; } .d-xl-inline { display: inline !important; } .d-xl-inline-block { display: inline-block !important; } .d-xl-none { display: none !important; } } - -@media (min-width: 87.5rem) { .d-xl-block { display: block !important; } .d-xl-flex { display: flex !important; } .d-xl-inline { display: inline !important; } .d-xl-inline-block { display: inline-block !important; } .d-xl-none { display: none !important; } } - -@media (min-width: 87.5rem) { .d-xl-block { display: block !important; } .d-xl-flex { display: flex !important; } .d-xl-inline { display: inline !important; } .d-xl-inline-block { display: inline-block !important; } .d-xl-none { display: none !important; } } - -@media (min-width: 87.5rem) { .d-xl-block { display: block !important; } .d-xl-flex { display: flex !important; } .d-xl-inline { display: inline !important; } .d-xl-inline-block { display: inline-block !important; } .d-xl-none { display: none !important; } } - -@media (min-width: 87.5rem) { .d-xl-block { display: block !important; } .d-xl-flex { display: flex !important; } .d-xl-inline { display: inline !important; } .d-xl-inline-block { display: inline-block !important; } .d-xl-none { display: none !important; } } - -@media (min-width: 87.5rem) { .d-xl-block { display: block !important; } .d-xl-flex { display: flex !important; } .d-xl-inline { display: inline !important; } .d-xl-inline-block { display: inline-block !important; } .d-xl-none { display: none !important; } } - -@media (min-width: 87.5rem) { .d-xl-block { display: block !important; } .d-xl-flex { display: flex !important; } .d-xl-inline { display: inline !important; } .d-xl-inline-block { display: inline-block !important; } .d-xl-none { display: none !important; } } - -@media (min-width: 87.5rem) { .d-xl-block { display: block !important; } .d-xl-flex { display: flex !important; } .d-xl-inline { display: inline !important; } .d-xl-inline-block { display: inline-block !important; } .d-xl-none { display: none !important; } } - -@media (min-width: 87.5rem) { .d-xl-block { display: block !important; } .d-xl-flex { display: flex !important; } .d-xl-inline { display: inline !important; } .d-xl-inline-block { display: inline-block !important; } .d-xl-none { display: none !important; } } - -@media (min-width: 87.5rem) { .d-xl-block { display: block !important; } .d-xl-flex { display: flex !important; } .d-xl-inline { display: inline !important; } .d-xl-inline-block { display: inline-block !important; } .d-xl-none { display: none !important; } } - -.float-left { float: left !important; } - -.float-right { float: right !important; } - -.flex-justify-start { justify-content: flex-start !important; } - -.flex-justify-end { justify-content: flex-end !important; } - -.flex-justify-between { justify-content: space-between !important; } - -.flex-justify-around { justify-content: space-around !important; } - -.v-align-baseline { vertical-align: baseline !important; } - -.v-align-bottom { vertical-align: bottom !important; } - -.v-align-middle { vertical-align: middle !important; } - -.v-align-text-bottom { vertical-align: text-bottom !important; } - -.v-align-text-top { vertical-align: text-top !important; } - -.v-align-top { vertical-align: top !important; } - -.fs-1 { font-size: 9px !important; } - -@media (min-width: 31.25rem) { .fs-1 { font-size: 10px !important; } } - -.fs-2 { font-size: 11px !important; } - -@media (min-width: 31.25rem) { .fs-2 { font-size: 12px !important; } } - -.fs-3 { font-size: 12px !important; } - -@media (min-width: 31.25rem) { .fs-3 { font-size: 14px !important; } } - -.fs-4 { font-size: 15px !important; } - -@media (min-width: 31.25rem) { .fs-4 { font-size: 16px !important; } } - -.fs-5 { font-size: 16px !important; } - -@media (min-width: 31.25rem) { .fs-5 { font-size: 18px !important; } } - -.fs-6 { font-size: 18px !important; } - -@media (min-width: 31.25rem) { .fs-6 { font-size: 24px !important; line-height: 1.25; } } - -.fs-7 { font-size: 24px !important; line-height: 1.25; } - -@media (min-width: 31.25rem) { .fs-7 { font-size: 32px !important; } } - -.fs-8 { font-size: 32px !important; line-height: 1.25; } - -@media (min-width: 31.25rem) { .fs-8 { font-size: 36px !important; } } - -.fs-9 { font-size: 36px !important; line-height: 1.25; } - -@media (min-width: 31.25rem) { .fs-9 { font-size: 42px !important; } } - -.fs-10 { font-size: 42px !important; line-height: 1.25; } - -@media (min-width: 31.25rem) { .fs-10 { font-size: 48px !important; } } - -.fw-300 { font-weight: 300 !important; } - -.fw-400 { font-weight: 400 !important; } - -.fw-500 { font-weight: 500 !important; } - -.fw-700 { font-weight: 700 !important; } - -.lh-0 { line-height: 0 !important; } - -.lh-default { line-height: 1.4; } - -.lh-tight { line-height: 1.25; } - -.ls-5 { letter-spacing: 0.05em !important; } - -.ls-10 { letter-spacing: 0.1em !important; } - -.ls-0 { letter-spacing: 0 !important; } - -.text-uppercase { text-transform: uppercase !important; } - -.list-style-none { padding: 0 !important; margin: 0 !important; list-style: none !important; } - -.list-style-none li::before { display: none !important; } - -.mx-auto { margin-right: auto !important; margin-left: auto !important; } - -.m-0 { margin: 0 !important; } - -.mt-0 { margin-top: 0 !important; } - -.mr-0 { margin-right: 0 !important; } - -.mb-0 { margin-bottom: 0 !important; } - -.ml-0 { margin-left: 0 !important; } - -.mx-0 { margin-right: 0 !important; margin-left: 0 !important; } - -.my-0 { margin-top: 0 !important; margin-bottom: 0 !important; } - -.mxn-0 { margin-right: -0 !important; margin-left: -0 !important; } - -.mx-0-auto { margin-right: auto !important; margin-left: auto !important; } - -.m-1 { margin: 0.25rem !important; } - -.mt-1 { margin-top: 0.25rem !important; } - -.mr-1 { margin-right: 0.25rem !important; } - -.mb-1 { margin-bottom: 0.25rem !important; } - -.ml-1 { margin-left: 0.25rem !important; } - -.mx-1 { margin-right: 0.25rem !important; margin-left: 0.25rem !important; } - -.my-1 { margin-top: 0.25rem !important; margin-bottom: 0.25rem !important; } - -.mxn-1 { margin-right: -0.25rem !important; margin-left: -0.25rem !important; } - -.mx-1-auto { margin-right: auto !important; margin-left: auto !important; } - -.m-2 { margin: 0.5rem !important; } - -.mt-2 { margin-top: 0.5rem !important; } - -.mr-2 { margin-right: 0.5rem !important; } - -.mb-2 { margin-bottom: 0.5rem !important; } - -.ml-2 { margin-left: 0.5rem !important; } - -.mx-2 { margin-right: 0.5rem !important; margin-left: 0.5rem !important; } - -.my-2 { margin-top: 0.5rem !important; margin-bottom: 0.5rem !important; } - -.mxn-2 { margin-right: -0.5rem !important; margin-left: -0.5rem !important; } - -.mx-2-auto { margin-right: auto !important; margin-left: auto !important; } - -.m-3 { margin: 0.75rem !important; } - -.mt-3 { margin-top: 0.75rem !important; } - -.mr-3 { margin-right: 0.75rem !important; } - -.mb-3 { margin-bottom: 0.75rem !important; } - -.ml-3 { margin-left: 0.75rem !important; } - -.mx-3 { margin-right: 0.75rem !important; margin-left: 0.75rem !important; } - -.my-3 { margin-top: 0.75rem !important; margin-bottom: 0.75rem !important; } - -.mxn-3 { margin-right: -0.75rem !important; margin-left: -0.75rem !important; } - -.mx-3-auto { margin-right: auto !important; margin-left: auto !important; } - -.m-4 { margin: 1rem !important; } - -.mt-4 { margin-top: 1rem !important; } - -.mr-4 { margin-right: 1rem !important; } - -.mb-4 { margin-bottom: 1rem !important; } - -.ml-4 { margin-left: 1rem !important; } - -.mx-4 { margin-right: 1rem !important; margin-left: 1rem !important; } - -.my-4 { margin-top: 1rem !important; margin-bottom: 1rem !important; } - -.mxn-4 { margin-right: -1rem !important; margin-left: -1rem !important; } - -.mx-4-auto { margin-right: auto !important; margin-left: auto !important; } - -.m-5 { margin: 1.5rem !important; } - -.mt-5 { margin-top: 1.5rem !important; } - -.mr-5 { margin-right: 1.5rem !important; } - -.mb-5 { margin-bottom: 1.5rem !important; } - -.ml-5 { margin-left: 1.5rem !important; } - -.mx-5 { margin-right: 1.5rem !important; margin-left: 1.5rem !important; } - -.my-5 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; } - -.mxn-5 { margin-right: -1.5rem !important; margin-left: -1.5rem !important; } - -.mx-5-auto { margin-right: auto !important; margin-left: auto !important; } - -.m-6 { margin: 2rem !important; } - -.mt-6 { margin-top: 2rem !important; } - -.mr-6 { margin-right: 2rem !important; } - -.mb-6 { margin-bottom: 2rem !important; } - -.ml-6 { margin-left: 2rem !important; } - -.mx-6 { margin-right: 2rem !important; margin-left: 2rem !important; } - -.my-6 { margin-top: 2rem !important; margin-bottom: 2rem !important; } - -.mxn-6 { margin-right: -2rem !important; margin-left: -2rem !important; } - -.mx-6-auto { margin-right: auto !important; margin-left: auto !important; } - -.m-7 { margin: 2.5rem !important; } - -.mt-7 { margin-top: 2.5rem !important; } - -.mr-7 { margin-right: 2.5rem !important; } - -.mb-7 { margin-bottom: 2.5rem !important; } - -.ml-7 { margin-left: 2.5rem !important; } - -.mx-7 { margin-right: 2.5rem !important; margin-left: 2.5rem !important; } - -.my-7 { margin-top: 2.5rem !important; margin-bottom: 2.5rem !important; } - -.mxn-7 { margin-right: -2.5rem !important; margin-left: -2.5rem !important; } - -.mx-7-auto { margin-right: auto !important; margin-left: auto !important; } - -.m-8 { margin: 3rem !important; } - -.mt-8 { margin-top: 3rem !important; } - -.mr-8 { margin-right: 3rem !important; } - -.mb-8 { margin-bottom: 3rem !important; } - -.ml-8 { margin-left: 3rem !important; } - -.mx-8 { margin-right: 3rem !important; margin-left: 3rem !important; } - -.my-8 { margin-top: 3rem !important; margin-bottom: 3rem !important; } - -.mxn-8 { margin-right: -3rem !important; margin-left: -3rem !important; } - -.mx-8-auto { margin-right: auto !important; margin-left: auto !important; } - -.m-9 { margin: 3.5rem !important; } - -.mt-9 { margin-top: 3.5rem !important; } - -.mr-9 { margin-right: 3.5rem !important; } - -.mb-9 { margin-bottom: 3.5rem !important; } - -.ml-9 { margin-left: 3.5rem !important; } - -.mx-9 { margin-right: 3.5rem !important; margin-left: 3.5rem !important; } - -.my-9 { margin-top: 3.5rem !important; margin-bottom: 3.5rem !important; } - -.mxn-9 { margin-right: -3.5rem !important; margin-left: -3.5rem !important; } - -.mx-9-auto { margin-right: auto !important; margin-left: auto !important; } - -.m-10 { margin: 4rem !important; } - -.mt-10 { margin-top: 4rem !important; } - -.mr-10 { margin-right: 4rem !important; } - -.mb-10 { margin-bottom: 4rem !important; } - -.ml-10 { margin-left: 4rem !important; } - -.mx-10 { margin-right: 4rem !important; margin-left: 4rem !important; } - -.my-10 { margin-top: 4rem !important; margin-bottom: 4rem !important; } - -.mxn-10 { margin-right: -4rem !important; margin-left: -4rem !important; } - -.mx-10-auto { margin-right: auto !important; margin-left: auto !important; } - -@media (min-width: 20rem) { .m-xs-0 { margin: 0 !important; } .mt-xs-0 { margin-top: 0 !important; } .mr-xs-0 { margin-right: 0 !important; } .mb-xs-0 { margin-bottom: 0 !important; } .ml-xs-0 { margin-left: 0 !important; } .mx-xs-0 { margin-right: 0 !important; margin-left: 0 !important; } .my-xs-0 { margin-top: 0 !important; margin-bottom: 0 !important; } .mxn-xs-0 { margin-right: -0 !important; margin-left: -0 !important; } } - -@media (min-width: 20rem) { .m-xs-1 { margin: 0.25rem !important; } .mt-xs-1 { margin-top: 0.25rem !important; } .mr-xs-1 { margin-right: 0.25rem !important; } .mb-xs-1 { margin-bottom: 0.25rem !important; } .ml-xs-1 { margin-left: 0.25rem !important; } .mx-xs-1 { margin-right: 0.25rem !important; margin-left: 0.25rem !important; } .my-xs-1 { margin-top: 0.25rem !important; margin-bottom: 0.25rem !important; } .mxn-xs-1 { margin-right: -0.25rem !important; margin-left: -0.25rem !important; } } - -@media (min-width: 20rem) { .m-xs-2 { margin: 0.5rem !important; } .mt-xs-2 { margin-top: 0.5rem !important; } .mr-xs-2 { margin-right: 0.5rem !important; } .mb-xs-2 { margin-bottom: 0.5rem !important; } .ml-xs-2 { margin-left: 0.5rem !important; } .mx-xs-2 { margin-right: 0.5rem !important; margin-left: 0.5rem !important; } .my-xs-2 { margin-top: 0.5rem !important; margin-bottom: 0.5rem !important; } .mxn-xs-2 { margin-right: -0.5rem !important; margin-left: -0.5rem !important; } } - -@media (min-width: 20rem) { .m-xs-3 { margin: 0.75rem !important; } .mt-xs-3 { margin-top: 0.75rem !important; } .mr-xs-3 { margin-right: 0.75rem !important; } .mb-xs-3 { margin-bottom: 0.75rem !important; } .ml-xs-3 { margin-left: 0.75rem !important; } .mx-xs-3 { margin-right: 0.75rem !important; margin-left: 0.75rem !important; } .my-xs-3 { margin-top: 0.75rem !important; margin-bottom: 0.75rem !important; } .mxn-xs-3 { margin-right: -0.75rem !important; margin-left: -0.75rem !important; } } - -@media (min-width: 20rem) { .m-xs-4 { margin: 1rem !important; } .mt-xs-4 { margin-top: 1rem !important; } .mr-xs-4 { margin-right: 1rem !important; } .mb-xs-4 { margin-bottom: 1rem !important; } .ml-xs-4 { margin-left: 1rem !important; } .mx-xs-4 { margin-right: 1rem !important; margin-left: 1rem !important; } .my-xs-4 { margin-top: 1rem !important; margin-bottom: 1rem !important; } .mxn-xs-4 { margin-right: -1rem !important; margin-left: -1rem !important; } } - -@media (min-width: 20rem) { .m-xs-5 { margin: 1.5rem !important; } .mt-xs-5 { margin-top: 1.5rem !important; } .mr-xs-5 { margin-right: 1.5rem !important; } .mb-xs-5 { margin-bottom: 1.5rem !important; } .ml-xs-5 { margin-left: 1.5rem !important; } .mx-xs-5 { margin-right: 1.5rem !important; margin-left: 1.5rem !important; } .my-xs-5 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; } .mxn-xs-5 { margin-right: -1.5rem !important; margin-left: -1.5rem !important; } } - -@media (min-width: 20rem) { .m-xs-6 { margin: 2rem !important; } .mt-xs-6 { margin-top: 2rem !important; } .mr-xs-6 { margin-right: 2rem !important; } .mb-xs-6 { margin-bottom: 2rem !important; } .ml-xs-6 { margin-left: 2rem !important; } .mx-xs-6 { margin-right: 2rem !important; margin-left: 2rem !important; } .my-xs-6 { margin-top: 2rem !important; margin-bottom: 2rem !important; } .mxn-xs-6 { margin-right: -2rem !important; margin-left: -2rem !important; } } - -@media (min-width: 20rem) { .m-xs-7 { margin: 2.5rem !important; } .mt-xs-7 { margin-top: 2.5rem !important; } .mr-xs-7 { margin-right: 2.5rem !important; } .mb-xs-7 { margin-bottom: 2.5rem !important; } .ml-xs-7 { margin-left: 2.5rem !important; } .mx-xs-7 { margin-right: 2.5rem !important; margin-left: 2.5rem !important; } .my-xs-7 { margin-top: 2.5rem !important; margin-bottom: 2.5rem !important; } .mxn-xs-7 { margin-right: -2.5rem !important; margin-left: -2.5rem !important; } } - -@media (min-width: 20rem) { .m-xs-8 { margin: 3rem !important; } .mt-xs-8 { margin-top: 3rem !important; } .mr-xs-8 { margin-right: 3rem !important; } .mb-xs-8 { margin-bottom: 3rem !important; } .ml-xs-8 { margin-left: 3rem !important; } .mx-xs-8 { margin-right: 3rem !important; margin-left: 3rem !important; } .my-xs-8 { margin-top: 3rem !important; margin-bottom: 3rem !important; } .mxn-xs-8 { margin-right: -3rem !important; margin-left: -3rem !important; } } - -@media (min-width: 20rem) { .m-xs-9 { margin: 3.5rem !important; } .mt-xs-9 { margin-top: 3.5rem !important; } .mr-xs-9 { margin-right: 3.5rem !important; } .mb-xs-9 { margin-bottom: 3.5rem !important; } .ml-xs-9 { margin-left: 3.5rem !important; } .mx-xs-9 { margin-right: 3.5rem !important; margin-left: 3.5rem !important; } .my-xs-9 { margin-top: 3.5rem !important; margin-bottom: 3.5rem !important; } .mxn-xs-9 { margin-right: -3.5rem !important; margin-left: -3.5rem !important; } } - -@media (min-width: 20rem) { .m-xs-10 { margin: 4rem !important; } .mt-xs-10 { margin-top: 4rem !important; } .mr-xs-10 { margin-right: 4rem !important; } .mb-xs-10 { margin-bottom: 4rem !important; } .ml-xs-10 { margin-left: 4rem !important; } .mx-xs-10 { margin-right: 4rem !important; margin-left: 4rem !important; } .my-xs-10 { margin-top: 4rem !important; margin-bottom: 4rem !important; } .mxn-xs-10 { margin-right: -4rem !important; margin-left: -4rem !important; } } - -@media (min-width: 31.25rem) { .m-sm-0 { margin: 0 !important; } .mt-sm-0 { margin-top: 0 !important; } .mr-sm-0 { margin-right: 0 !important; } .mb-sm-0 { margin-bottom: 0 !important; } .ml-sm-0 { margin-left: 0 !important; } .mx-sm-0 { margin-right: 0 !important; margin-left: 0 !important; } .my-sm-0 { margin-top: 0 !important; margin-bottom: 0 !important; } .mxn-sm-0 { margin-right: -0 !important; margin-left: -0 !important; } } - -@media (min-width: 31.25rem) { .m-sm-1 { margin: 0.25rem !important; } .mt-sm-1 { margin-top: 0.25rem !important; } .mr-sm-1 { margin-right: 0.25rem !important; } .mb-sm-1 { margin-bottom: 0.25rem !important; } .ml-sm-1 { margin-left: 0.25rem !important; } .mx-sm-1 { margin-right: 0.25rem !important; margin-left: 0.25rem !important; } .my-sm-1 { margin-top: 0.25rem !important; margin-bottom: 0.25rem !important; } .mxn-sm-1 { margin-right: -0.25rem !important; margin-left: -0.25rem !important; } } - -@media (min-width: 31.25rem) { .m-sm-2 { margin: 0.5rem !important; } .mt-sm-2 { margin-top: 0.5rem !important; } .mr-sm-2 { margin-right: 0.5rem !important; } .mb-sm-2 { margin-bottom: 0.5rem !important; } .ml-sm-2 { margin-left: 0.5rem !important; } .mx-sm-2 { margin-right: 0.5rem !important; margin-left: 0.5rem !important; } .my-sm-2 { margin-top: 0.5rem !important; margin-bottom: 0.5rem !important; } .mxn-sm-2 { margin-right: -0.5rem !important; margin-left: -0.5rem !important; } } - -@media (min-width: 31.25rem) { .m-sm-3 { margin: 0.75rem !important; } .mt-sm-3 { margin-top: 0.75rem !important; } .mr-sm-3 { margin-right: 0.75rem !important; } .mb-sm-3 { margin-bottom: 0.75rem !important; } .ml-sm-3 { margin-left: 0.75rem !important; } .mx-sm-3 { margin-right: 0.75rem !important; margin-left: 0.75rem !important; } .my-sm-3 { margin-top: 0.75rem !important; margin-bottom: 0.75rem !important; } .mxn-sm-3 { margin-right: -0.75rem !important; margin-left: -0.75rem !important; } } - -@media (min-width: 31.25rem) { .m-sm-4 { margin: 1rem !important; } .mt-sm-4 { margin-top: 1rem !important; } .mr-sm-4 { margin-right: 1rem !important; } .mb-sm-4 { margin-bottom: 1rem !important; } .ml-sm-4 { margin-left: 1rem !important; } .mx-sm-4 { margin-right: 1rem !important; margin-left: 1rem !important; } .my-sm-4 { margin-top: 1rem !important; margin-bottom: 1rem !important; } .mxn-sm-4 { margin-right: -1rem !important; margin-left: -1rem !important; } } - -@media (min-width: 31.25rem) { .m-sm-5 { margin: 1.5rem !important; } .mt-sm-5 { margin-top: 1.5rem !important; } .mr-sm-5 { margin-right: 1.5rem !important; } .mb-sm-5 { margin-bottom: 1.5rem !important; } .ml-sm-5 { margin-left: 1.5rem !important; } .mx-sm-5 { margin-right: 1.5rem !important; margin-left: 1.5rem !important; } .my-sm-5 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; } .mxn-sm-5 { margin-right: -1.5rem !important; margin-left: -1.5rem !important; } } - -@media (min-width: 31.25rem) { .m-sm-6 { margin: 2rem !important; } .mt-sm-6 { margin-top: 2rem !important; } .mr-sm-6 { margin-right: 2rem !important; } .mb-sm-6 { margin-bottom: 2rem !important; } .ml-sm-6 { margin-left: 2rem !important; } .mx-sm-6 { margin-right: 2rem !important; margin-left: 2rem !important; } .my-sm-6 { margin-top: 2rem !important; margin-bottom: 2rem !important; } .mxn-sm-6 { margin-right: -2rem !important; margin-left: -2rem !important; } } - -@media (min-width: 31.25rem) { .m-sm-7 { margin: 2.5rem !important; } .mt-sm-7 { margin-top: 2.5rem !important; } .mr-sm-7 { margin-right: 2.5rem !important; } .mb-sm-7 { margin-bottom: 2.5rem !important; } .ml-sm-7 { margin-left: 2.5rem !important; } .mx-sm-7 { margin-right: 2.5rem !important; margin-left: 2.5rem !important; } .my-sm-7 { margin-top: 2.5rem !important; margin-bottom: 2.5rem !important; } .mxn-sm-7 { margin-right: -2.5rem !important; margin-left: -2.5rem !important; } } - -@media (min-width: 31.25rem) { .m-sm-8 { margin: 3rem !important; } .mt-sm-8 { margin-top: 3rem !important; } .mr-sm-8 { margin-right: 3rem !important; } .mb-sm-8 { margin-bottom: 3rem !important; } .ml-sm-8 { margin-left: 3rem !important; } .mx-sm-8 { margin-right: 3rem !important; margin-left: 3rem !important; } .my-sm-8 { margin-top: 3rem !important; margin-bottom: 3rem !important; } .mxn-sm-8 { margin-right: -3rem !important; margin-left: -3rem !important; } } - -@media (min-width: 31.25rem) { .m-sm-9 { margin: 3.5rem !important; } .mt-sm-9 { margin-top: 3.5rem !important; } .mr-sm-9 { margin-right: 3.5rem !important; } .mb-sm-9 { margin-bottom: 3.5rem !important; } .ml-sm-9 { margin-left: 3.5rem !important; } .mx-sm-9 { margin-right: 3.5rem !important; margin-left: 3.5rem !important; } .my-sm-9 { margin-top: 3.5rem !important; margin-bottom: 3.5rem !important; } .mxn-sm-9 { margin-right: -3.5rem !important; margin-left: -3.5rem !important; } } - -@media (min-width: 31.25rem) { .m-sm-10 { margin: 4rem !important; } .mt-sm-10 { margin-top: 4rem !important; } .mr-sm-10 { margin-right: 4rem !important; } .mb-sm-10 { margin-bottom: 4rem !important; } .ml-sm-10 { margin-left: 4rem !important; } .mx-sm-10 { margin-right: 4rem !important; margin-left: 4rem !important; } .my-sm-10 { margin-top: 4rem !important; margin-bottom: 4rem !important; } .mxn-sm-10 { margin-right: -4rem !important; margin-left: -4rem !important; } } - -@media (min-width: 50rem) { .m-md-0 { margin: 0 !important; } .mt-md-0 { margin-top: 0 !important; } .mr-md-0 { margin-right: 0 !important; } .mb-md-0 { margin-bottom: 0 !important; } .ml-md-0 { margin-left: 0 !important; } .mx-md-0 { margin-right: 0 !important; margin-left: 0 !important; } .my-md-0 { margin-top: 0 !important; margin-bottom: 0 !important; } .mxn-md-0 { margin-right: -0 !important; margin-left: -0 !important; } } - -@media (min-width: 50rem) { .m-md-1 { margin: 0.25rem !important; } .mt-md-1 { margin-top: 0.25rem !important; } .mr-md-1 { margin-right: 0.25rem !important; } .mb-md-1 { margin-bottom: 0.25rem !important; } .ml-md-1 { margin-left: 0.25rem !important; } .mx-md-1 { margin-right: 0.25rem !important; margin-left: 0.25rem !important; } .my-md-1 { margin-top: 0.25rem !important; margin-bottom: 0.25rem !important; } .mxn-md-1 { margin-right: -0.25rem !important; margin-left: -0.25rem !important; } } - -@media (min-width: 50rem) { .m-md-2 { margin: 0.5rem !important; } .mt-md-2 { margin-top: 0.5rem !important; } .mr-md-2 { margin-right: 0.5rem !important; } .mb-md-2 { margin-bottom: 0.5rem !important; } .ml-md-2 { margin-left: 0.5rem !important; } .mx-md-2 { margin-right: 0.5rem !important; margin-left: 0.5rem !important; } .my-md-2 { margin-top: 0.5rem !important; margin-bottom: 0.5rem !important; } .mxn-md-2 { margin-right: -0.5rem !important; margin-left: -0.5rem !important; } } - -@media (min-width: 50rem) { .m-md-3 { margin: 0.75rem !important; } .mt-md-3 { margin-top: 0.75rem !important; } .mr-md-3 { margin-right: 0.75rem !important; } .mb-md-3 { margin-bottom: 0.75rem !important; } .ml-md-3 { margin-left: 0.75rem !important; } .mx-md-3 { margin-right: 0.75rem !important; margin-left: 0.75rem !important; } .my-md-3 { margin-top: 0.75rem !important; margin-bottom: 0.75rem !important; } .mxn-md-3 { margin-right: -0.75rem !important; margin-left: -0.75rem !important; } } - -@media (min-width: 50rem) { .m-md-4 { margin: 1rem !important; } .mt-md-4 { margin-top: 1rem !important; } .mr-md-4 { margin-right: 1rem !important; } .mb-md-4 { margin-bottom: 1rem !important; } .ml-md-4 { margin-left: 1rem !important; } .mx-md-4 { margin-right: 1rem !important; margin-left: 1rem !important; } .my-md-4 { margin-top: 1rem !important; margin-bottom: 1rem !important; } .mxn-md-4 { margin-right: -1rem !important; margin-left: -1rem !important; } } - -@media (min-width: 50rem) { .m-md-5 { margin: 1.5rem !important; } .mt-md-5 { margin-top: 1.5rem !important; } .mr-md-5 { margin-right: 1.5rem !important; } .mb-md-5 { margin-bottom: 1.5rem !important; } .ml-md-5 { margin-left: 1.5rem !important; } .mx-md-5 { margin-right: 1.5rem !important; margin-left: 1.5rem !important; } .my-md-5 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; } .mxn-md-5 { margin-right: -1.5rem !important; margin-left: -1.5rem !important; } } - -@media (min-width: 50rem) { .m-md-6 { margin: 2rem !important; } .mt-md-6 { margin-top: 2rem !important; } .mr-md-6 { margin-right: 2rem !important; } .mb-md-6 { margin-bottom: 2rem !important; } .ml-md-6 { margin-left: 2rem !important; } .mx-md-6 { margin-right: 2rem !important; margin-left: 2rem !important; } .my-md-6 { margin-top: 2rem !important; margin-bottom: 2rem !important; } .mxn-md-6 { margin-right: -2rem !important; margin-left: -2rem !important; } } - -@media (min-width: 50rem) { .m-md-7 { margin: 2.5rem !important; } .mt-md-7 { margin-top: 2.5rem !important; } .mr-md-7 { margin-right: 2.5rem !important; } .mb-md-7 { margin-bottom: 2.5rem !important; } .ml-md-7 { margin-left: 2.5rem !important; } .mx-md-7 { margin-right: 2.5rem !important; margin-left: 2.5rem !important; } .my-md-7 { margin-top: 2.5rem !important; margin-bottom: 2.5rem !important; } .mxn-md-7 { margin-right: -2.5rem !important; margin-left: -2.5rem !important; } } - -@media (min-width: 50rem) { .m-md-8 { margin: 3rem !important; } .mt-md-8 { margin-top: 3rem !important; } .mr-md-8 { margin-right: 3rem !important; } .mb-md-8 { margin-bottom: 3rem !important; } .ml-md-8 { margin-left: 3rem !important; } .mx-md-8 { margin-right: 3rem !important; margin-left: 3rem !important; } .my-md-8 { margin-top: 3rem !important; margin-bottom: 3rem !important; } .mxn-md-8 { margin-right: -3rem !important; margin-left: -3rem !important; } } - -@media (min-width: 50rem) { .m-md-9 { margin: 3.5rem !important; } .mt-md-9 { margin-top: 3.5rem !important; } .mr-md-9 { margin-right: 3.5rem !important; } .mb-md-9 { margin-bottom: 3.5rem !important; } .ml-md-9 { margin-left: 3.5rem !important; } .mx-md-9 { margin-right: 3.5rem !important; margin-left: 3.5rem !important; } .my-md-9 { margin-top: 3.5rem !important; margin-bottom: 3.5rem !important; } .mxn-md-9 { margin-right: -3.5rem !important; margin-left: -3.5rem !important; } } - -@media (min-width: 50rem) { .m-md-10 { margin: 4rem !important; } .mt-md-10 { margin-top: 4rem !important; } .mr-md-10 { margin-right: 4rem !important; } .mb-md-10 { margin-bottom: 4rem !important; } .ml-md-10 { margin-left: 4rem !important; } .mx-md-10 { margin-right: 4rem !important; margin-left: 4rem !important; } .my-md-10 { margin-top: 4rem !important; margin-bottom: 4rem !important; } .mxn-md-10 { margin-right: -4rem !important; margin-left: -4rem !important; } } - -@media (min-width: 66.5rem) { .m-lg-0 { margin: 0 !important; } .mt-lg-0 { margin-top: 0 !important; } .mr-lg-0 { margin-right: 0 !important; } .mb-lg-0 { margin-bottom: 0 !important; } .ml-lg-0 { margin-left: 0 !important; } .mx-lg-0 { margin-right: 0 !important; margin-left: 0 !important; } .my-lg-0 { margin-top: 0 !important; margin-bottom: 0 !important; } .mxn-lg-0 { margin-right: -0 !important; margin-left: -0 !important; } } - -@media (min-width: 66.5rem) { .m-lg-1 { margin: 0.25rem !important; } .mt-lg-1 { margin-top: 0.25rem !important; } .mr-lg-1 { margin-right: 0.25rem !important; } .mb-lg-1 { margin-bottom: 0.25rem !important; } .ml-lg-1 { margin-left: 0.25rem !important; } .mx-lg-1 { margin-right: 0.25rem !important; margin-left: 0.25rem !important; } .my-lg-1 { margin-top: 0.25rem !important; margin-bottom: 0.25rem !important; } .mxn-lg-1 { margin-right: -0.25rem !important; margin-left: -0.25rem !important; } } - -@media (min-width: 66.5rem) { .m-lg-2 { margin: 0.5rem !important; } .mt-lg-2 { margin-top: 0.5rem !important; } .mr-lg-2 { margin-right: 0.5rem !important; } .mb-lg-2 { margin-bottom: 0.5rem !important; } .ml-lg-2 { margin-left: 0.5rem !important; } .mx-lg-2 { margin-right: 0.5rem !important; margin-left: 0.5rem !important; } .my-lg-2 { margin-top: 0.5rem !important; margin-bottom: 0.5rem !important; } .mxn-lg-2 { margin-right: -0.5rem !important; margin-left: -0.5rem !important; } } - -@media (min-width: 66.5rem) { .m-lg-3 { margin: 0.75rem !important; } .mt-lg-3 { margin-top: 0.75rem !important; } .mr-lg-3 { margin-right: 0.75rem !important; } .mb-lg-3 { margin-bottom: 0.75rem !important; } .ml-lg-3 { margin-left: 0.75rem !important; } .mx-lg-3 { margin-right: 0.75rem !important; margin-left: 0.75rem !important; } .my-lg-3 { margin-top: 0.75rem !important; margin-bottom: 0.75rem !important; } .mxn-lg-3 { margin-right: -0.75rem !important; margin-left: -0.75rem !important; } } - -@media (min-width: 66.5rem) { .m-lg-4 { margin: 1rem !important; } .mt-lg-4 { margin-top: 1rem !important; } .mr-lg-4 { margin-right: 1rem !important; } .mb-lg-4 { margin-bottom: 1rem !important; } .ml-lg-4 { margin-left: 1rem !important; } .mx-lg-4 { margin-right: 1rem !important; margin-left: 1rem !important; } .my-lg-4 { margin-top: 1rem !important; margin-bottom: 1rem !important; } .mxn-lg-4 { margin-right: -1rem !important; margin-left: -1rem !important; } } - -@media (min-width: 66.5rem) { .m-lg-5 { margin: 1.5rem !important; } .mt-lg-5 { margin-top: 1.5rem !important; } .mr-lg-5 { margin-right: 1.5rem !important; } .mb-lg-5 { margin-bottom: 1.5rem !important; } .ml-lg-5 { margin-left: 1.5rem !important; } .mx-lg-5 { margin-right: 1.5rem !important; margin-left: 1.5rem !important; } .my-lg-5 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; } .mxn-lg-5 { margin-right: -1.5rem !important; margin-left: -1.5rem !important; } } - -@media (min-width: 66.5rem) { .m-lg-6 { margin: 2rem !important; } .mt-lg-6 { margin-top: 2rem !important; } .mr-lg-6 { margin-right: 2rem !important; } .mb-lg-6 { margin-bottom: 2rem !important; } .ml-lg-6 { margin-left: 2rem !important; } .mx-lg-6 { margin-right: 2rem !important; margin-left: 2rem !important; } .my-lg-6 { margin-top: 2rem !important; margin-bottom: 2rem !important; } .mxn-lg-6 { margin-right: -2rem !important; margin-left: -2rem !important; } } - -@media (min-width: 66.5rem) { .m-lg-7 { margin: 2.5rem !important; } .mt-lg-7 { margin-top: 2.5rem !important; } .mr-lg-7 { margin-right: 2.5rem !important; } .mb-lg-7 { margin-bottom: 2.5rem !important; } .ml-lg-7 { margin-left: 2.5rem !important; } .mx-lg-7 { margin-right: 2.5rem !important; margin-left: 2.5rem !important; } .my-lg-7 { margin-top: 2.5rem !important; margin-bottom: 2.5rem !important; } .mxn-lg-7 { margin-right: -2.5rem !important; margin-left: -2.5rem !important; } } - -@media (min-width: 66.5rem) { .m-lg-8 { margin: 3rem !important; } .mt-lg-8 { margin-top: 3rem !important; } .mr-lg-8 { margin-right: 3rem !important; } .mb-lg-8 { margin-bottom: 3rem !important; } .ml-lg-8 { margin-left: 3rem !important; } .mx-lg-8 { margin-right: 3rem !important; margin-left: 3rem !important; } .my-lg-8 { margin-top: 3rem !important; margin-bottom: 3rem !important; } .mxn-lg-8 { margin-right: -3rem !important; margin-left: -3rem !important; } } - -@media (min-width: 66.5rem) { .m-lg-9 { margin: 3.5rem !important; } .mt-lg-9 { margin-top: 3.5rem !important; } .mr-lg-9 { margin-right: 3.5rem !important; } .mb-lg-9 { margin-bottom: 3.5rem !important; } .ml-lg-9 { margin-left: 3.5rem !important; } .mx-lg-9 { margin-right: 3.5rem !important; margin-left: 3.5rem !important; } .my-lg-9 { margin-top: 3.5rem !important; margin-bottom: 3.5rem !important; } .mxn-lg-9 { margin-right: -3.5rem !important; margin-left: -3.5rem !important; } } - -@media (min-width: 66.5rem) { .m-lg-10 { margin: 4rem !important; } .mt-lg-10 { margin-top: 4rem !important; } .mr-lg-10 { margin-right: 4rem !important; } .mb-lg-10 { margin-bottom: 4rem !important; } .ml-lg-10 { margin-left: 4rem !important; } .mx-lg-10 { margin-right: 4rem !important; margin-left: 4rem !important; } .my-lg-10 { margin-top: 4rem !important; margin-bottom: 4rem !important; } .mxn-lg-10 { margin-right: -4rem !important; margin-left: -4rem !important; } } - -@media (min-width: 87.5rem) { .m-xl-0 { margin: 0 !important; } .mt-xl-0 { margin-top: 0 !important; } .mr-xl-0 { margin-right: 0 !important; } .mb-xl-0 { margin-bottom: 0 !important; } .ml-xl-0 { margin-left: 0 !important; } .mx-xl-0 { margin-right: 0 !important; margin-left: 0 !important; } .my-xl-0 { margin-top: 0 !important; margin-bottom: 0 !important; } .mxn-xl-0 { margin-right: -0 !important; margin-left: -0 !important; } } - -@media (min-width: 87.5rem) { .m-xl-1 { margin: 0.25rem !important; } .mt-xl-1 { margin-top: 0.25rem !important; } .mr-xl-1 { margin-right: 0.25rem !important; } .mb-xl-1 { margin-bottom: 0.25rem !important; } .ml-xl-1 { margin-left: 0.25rem !important; } .mx-xl-1 { margin-right: 0.25rem !important; margin-left: 0.25rem !important; } .my-xl-1 { margin-top: 0.25rem !important; margin-bottom: 0.25rem !important; } .mxn-xl-1 { margin-right: -0.25rem !important; margin-left: -0.25rem !important; } } - -@media (min-width: 87.5rem) { .m-xl-2 { margin: 0.5rem !important; } .mt-xl-2 { margin-top: 0.5rem !important; } .mr-xl-2 { margin-right: 0.5rem !important; } .mb-xl-2 { margin-bottom: 0.5rem !important; } .ml-xl-2 { margin-left: 0.5rem !important; } .mx-xl-2 { margin-right: 0.5rem !important; margin-left: 0.5rem !important; } .my-xl-2 { margin-top: 0.5rem !important; margin-bottom: 0.5rem !important; } .mxn-xl-2 { margin-right: -0.5rem !important; margin-left: -0.5rem !important; } } - -@media (min-width: 87.5rem) { .m-xl-3 { margin: 0.75rem !important; } .mt-xl-3 { margin-top: 0.75rem !important; } .mr-xl-3 { margin-right: 0.75rem !important; } .mb-xl-3 { margin-bottom: 0.75rem !important; } .ml-xl-3 { margin-left: 0.75rem !important; } .mx-xl-3 { margin-right: 0.75rem !important; margin-left: 0.75rem !important; } .my-xl-3 { margin-top: 0.75rem !important; margin-bottom: 0.75rem !important; } .mxn-xl-3 { margin-right: -0.75rem !important; margin-left: -0.75rem !important; } } - -@media (min-width: 87.5rem) { .m-xl-4 { margin: 1rem !important; } .mt-xl-4 { margin-top: 1rem !important; } .mr-xl-4 { margin-right: 1rem !important; } .mb-xl-4 { margin-bottom: 1rem !important; } .ml-xl-4 { margin-left: 1rem !important; } .mx-xl-4 { margin-right: 1rem !important; margin-left: 1rem !important; } .my-xl-4 { margin-top: 1rem !important; margin-bottom: 1rem !important; } .mxn-xl-4 { margin-right: -1rem !important; margin-left: -1rem !important; } } - -@media (min-width: 87.5rem) { .m-xl-5 { margin: 1.5rem !important; } .mt-xl-5 { margin-top: 1.5rem !important; } .mr-xl-5 { margin-right: 1.5rem !important; } .mb-xl-5 { margin-bottom: 1.5rem !important; } .ml-xl-5 { margin-left: 1.5rem !important; } .mx-xl-5 { margin-right: 1.5rem !important; margin-left: 1.5rem !important; } .my-xl-5 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; } .mxn-xl-5 { margin-right: -1.5rem !important; margin-left: -1.5rem !important; } } - -@media (min-width: 87.5rem) { .m-xl-6 { margin: 2rem !important; } .mt-xl-6 { margin-top: 2rem !important; } .mr-xl-6 { margin-right: 2rem !important; } .mb-xl-6 { margin-bottom: 2rem !important; } .ml-xl-6 { margin-left: 2rem !important; } .mx-xl-6 { margin-right: 2rem !important; margin-left: 2rem !important; } .my-xl-6 { margin-top: 2rem !important; margin-bottom: 2rem !important; } .mxn-xl-6 { margin-right: -2rem !important; margin-left: -2rem !important; } } - -@media (min-width: 87.5rem) { .m-xl-7 { margin: 2.5rem !important; } .mt-xl-7 { margin-top: 2.5rem !important; } .mr-xl-7 { margin-right: 2.5rem !important; } .mb-xl-7 { margin-bottom: 2.5rem !important; } .ml-xl-7 { margin-left: 2.5rem !important; } .mx-xl-7 { margin-right: 2.5rem !important; margin-left: 2.5rem !important; } .my-xl-7 { margin-top: 2.5rem !important; margin-bottom: 2.5rem !important; } .mxn-xl-7 { margin-right: -2.5rem !important; margin-left: -2.5rem !important; } } - -@media (min-width: 87.5rem) { .m-xl-8 { margin: 3rem !important; } .mt-xl-8 { margin-top: 3rem !important; } .mr-xl-8 { margin-right: 3rem !important; } .mb-xl-8 { margin-bottom: 3rem !important; } .ml-xl-8 { margin-left: 3rem !important; } .mx-xl-8 { margin-right: 3rem !important; margin-left: 3rem !important; } .my-xl-8 { margin-top: 3rem !important; margin-bottom: 3rem !important; } .mxn-xl-8 { margin-right: -3rem !important; margin-left: -3rem !important; } } - -@media (min-width: 87.5rem) { .m-xl-9 { margin: 3.5rem !important; } .mt-xl-9 { margin-top: 3.5rem !important; } .mr-xl-9 { margin-right: 3.5rem !important; } .mb-xl-9 { margin-bottom: 3.5rem !important; } .ml-xl-9 { margin-left: 3.5rem !important; } .mx-xl-9 { margin-right: 3.5rem !important; margin-left: 3.5rem !important; } .my-xl-9 { margin-top: 3.5rem !important; margin-bottom: 3.5rem !important; } .mxn-xl-9 { margin-right: -3.5rem !important; margin-left: -3.5rem !important; } } - -@media (min-width: 87.5rem) { .m-xl-10 { margin: 4rem !important; } .mt-xl-10 { margin-top: 4rem !important; } .mr-xl-10 { margin-right: 4rem !important; } .mb-xl-10 { margin-bottom: 4rem !important; } .ml-xl-10 { margin-left: 4rem !important; } .mx-xl-10 { margin-right: 4rem !important; margin-left: 4rem !important; } .my-xl-10 { margin-top: 4rem !important; margin-bottom: 4rem !important; } .mxn-xl-10 { margin-right: -4rem !important; margin-left: -4rem !important; } } - -.p-0 { padding: 0 !important; } - -.pt-0 { padding-top: 0 !important; } - -.pr-0 { padding-right: 0 !important; } - -.pb-0 { padding-bottom: 0 !important; } - -.pl-0 { padding-left: 0 !important; } - -.px-0 { padding-right: 0 !important; padding-left: 0 !important; } - -.py-0 { padding-top: 0 !important; padding-bottom: 0 !important; } - -.p-1 { padding: 0.25rem !important; } - -.pt-1 { padding-top: 0.25rem !important; } - -.pr-1 { padding-right: 0.25rem !important; } - -.pb-1 { padding-bottom: 0.25rem !important; } - -.pl-1 { padding-left: 0.25rem !important; } - -.px-1 { padding-right: 0.25rem !important; padding-left: 0.25rem !important; } - -.py-1 { padding-top: 0.25rem !important; padding-bottom: 0.25rem !important; } - -.p-2 { padding: 0.5rem !important; } - -.pt-2 { padding-top: 0.5rem !important; } - -.pr-2 { padding-right: 0.5rem !important; } - -.pb-2 { padding-bottom: 0.5rem !important; } - -.pl-2 { padding-left: 0.5rem !important; } - -.px-2 { padding-right: 0.5rem !important; padding-left: 0.5rem !important; } - -.py-2 { padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; } - -.p-3 { padding: 0.75rem !important; } - -.pt-3 { padding-top: 0.75rem !important; } - -.pr-3 { padding-right: 0.75rem !important; } - -.pb-3 { padding-bottom: 0.75rem !important; } - -.pl-3 { padding-left: 0.75rem !important; } - -.px-3 { padding-right: 0.75rem !important; padding-left: 0.75rem !important; } - -.py-3 { padding-top: 0.75rem !important; padding-bottom: 0.75rem !important; } - -.p-4 { padding: 1rem !important; } - -.pt-4 { padding-top: 1rem !important; } - -.pr-4 { padding-right: 1rem !important; } - -.pb-4 { padding-bottom: 1rem !important; } - -.pl-4 { padding-left: 1rem !important; } - -.px-4 { padding-right: 1rem !important; padding-left: 1rem !important; } - -.py-4 { padding-top: 1rem !important; padding-bottom: 1rem !important; } - -.p-5 { padding: 1.5rem !important; } - -.pt-5 { padding-top: 1.5rem !important; } - -.pr-5 { padding-right: 1.5rem !important; } - -.pb-5 { padding-bottom: 1.5rem !important; } - -.pl-5 { padding-left: 1.5rem !important; } - -.px-5 { padding-right: 1.5rem !important; padding-left: 1.5rem !important; } - -.py-5 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; } - -.p-6 { padding: 2rem !important; } - -.pt-6 { padding-top: 2rem !important; } - -.pr-6 { padding-right: 2rem !important; } - -.pb-6 { padding-bottom: 2rem !important; } - -.pl-6 { padding-left: 2rem !important; } - -.px-6 { padding-right: 2rem !important; padding-left: 2rem !important; } - -.py-6 { padding-top: 2rem !important; padding-bottom: 2rem !important; } - -.p-7 { padding: 2.5rem !important; } - -.pt-7 { padding-top: 2.5rem !important; } - -.pr-7 { padding-right: 2.5rem !important; } - -.pb-7 { padding-bottom: 2.5rem !important; } - -.pl-7 { padding-left: 2.5rem !important; } - -.px-7 { padding-right: 2.5rem !important; padding-left: 2.5rem !important; } - -.py-7 { padding-top: 2.5rem !important; padding-bottom: 2.5rem !important; } - -.p-8 { padding: 3rem !important; } - -.pt-8 { padding-top: 3rem !important; } - -.pr-8 { padding-right: 3rem !important; } - -.pb-8 { padding-bottom: 3rem !important; } - -.pl-8 { padding-left: 3rem !important; } - -.px-8 { padding-right: 3rem !important; padding-left: 3rem !important; } - -.py-8 { padding-top: 3rem !important; padding-bottom: 3rem !important; } - -.p-9 { padding: 3.5rem !important; } - -.pt-9 { padding-top: 3.5rem !important; } - -.pr-9 { padding-right: 3.5rem !important; } - -.pb-9 { padding-bottom: 3.5rem !important; } - -.pl-9 { padding-left: 3.5rem !important; } - -.px-9 { padding-right: 3.5rem !important; padding-left: 3.5rem !important; } - -.py-9 { padding-top: 3.5rem !important; padding-bottom: 3.5rem !important; } - -.p-10 { padding: 4rem !important; } - -.pt-10 { padding-top: 4rem !important; } - -.pr-10 { padding-right: 4rem !important; } - -.pb-10 { padding-bottom: 4rem !important; } - -.pl-10 { padding-left: 4rem !important; } - -.px-10 { padding-right: 4rem !important; padding-left: 4rem !important; } - -.py-10 { padding-top: 4rem !important; padding-bottom: 4rem !important; } - -@media (min-width: 20rem) { .p-xs-0 { padding: 0 !important; } .pt-xs-0 { padding-top: 0 !important; } .pr-xs-0 { padding-right: 0 !important; } .pb-xs-0 { padding-bottom: 0 !important; } .pl-xs-0 { padding-left: 0 !important; } .px-xs-0 { padding-right: 0 !important; padding-left: 0 !important; } .py-xs-0 { padding-top: 0 !important; padding-bottom: 0 !important; } .p-xs-1 { padding: 0.25rem !important; } .pt-xs-1 { padding-top: 0.25rem !important; } .pr-xs-1 { padding-right: 0.25rem !important; } .pb-xs-1 { padding-bottom: 0.25rem !important; } .pl-xs-1 { padding-left: 0.25rem !important; } .px-xs-1 { padding-right: 0.25rem !important; padding-left: 0.25rem !important; } .py-xs-1 { padding-top: 0.25rem !important; padding-bottom: 0.25rem !important; } .p-xs-2 { padding: 0.5rem !important; } .pt-xs-2 { padding-top: 0.5rem !important; } .pr-xs-2 { padding-right: 0.5rem !important; } .pb-xs-2 { padding-bottom: 0.5rem !important; } .pl-xs-2 { padding-left: 0.5rem !important; } .px-xs-2 { padding-right: 0.5rem !important; padding-left: 0.5rem !important; } .py-xs-2 { padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; } .p-xs-3 { padding: 0.75rem !important; } .pt-xs-3 { padding-top: 0.75rem !important; } .pr-xs-3 { padding-right: 0.75rem !important; } .pb-xs-3 { padding-bottom: 0.75rem !important; } .pl-xs-3 { padding-left: 0.75rem !important; } .px-xs-3 { padding-right: 0.75rem !important; padding-left: 0.75rem !important; } .py-xs-3 { padding-top: 0.75rem !important; padding-bottom: 0.75rem !important; } .p-xs-4 { padding: 1rem !important; } .pt-xs-4 { padding-top: 1rem !important; } .pr-xs-4 { padding-right: 1rem !important; } .pb-xs-4 { padding-bottom: 1rem !important; } .pl-xs-4 { padding-left: 1rem !important; } .px-xs-4 { padding-right: 1rem !important; padding-left: 1rem !important; } .py-xs-4 { padding-top: 1rem !important; padding-bottom: 1rem !important; } .p-xs-5 { padding: 1.5rem !important; } .pt-xs-5 { padding-top: 1.5rem !important; } .pr-xs-5 { padding-right: 1.5rem !important; } .pb-xs-5 { padding-bottom: 1.5rem !important; } .pl-xs-5 { padding-left: 1.5rem !important; } .px-xs-5 { padding-right: 1.5rem !important; padding-left: 1.5rem !important; } .py-xs-5 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; } .p-xs-6 { padding: 2rem !important; } .pt-xs-6 { padding-top: 2rem !important; } .pr-xs-6 { padding-right: 2rem !important; } .pb-xs-6 { padding-bottom: 2rem !important; } .pl-xs-6 { padding-left: 2rem !important; } .px-xs-6 { padding-right: 2rem !important; padding-left: 2rem !important; } .py-xs-6 { padding-top: 2rem !important; padding-bottom: 2rem !important; } .p-xs-7 { padding: 2.5rem !important; } .pt-xs-7 { padding-top: 2.5rem !important; } .pr-xs-7 { padding-right: 2.5rem !important; } .pb-xs-7 { padding-bottom: 2.5rem !important; } .pl-xs-7 { padding-left: 2.5rem !important; } .px-xs-7 { padding-right: 2.5rem !important; padding-left: 2.5rem !important; } .py-xs-7 { padding-top: 2.5rem !important; padding-bottom: 2.5rem !important; } .p-xs-8 { padding: 3rem !important; } .pt-xs-8 { padding-top: 3rem !important; } .pr-xs-8 { padding-right: 3rem !important; } .pb-xs-8 { padding-bottom: 3rem !important; } .pl-xs-8 { padding-left: 3rem !important; } .px-xs-8 { padding-right: 3rem !important; padding-left: 3rem !important; } .py-xs-8 { padding-top: 3rem !important; padding-bottom: 3rem !important; } .p-xs-9 { padding: 3.5rem !important; } .pt-xs-9 { padding-top: 3.5rem !important; } .pr-xs-9 { padding-right: 3.5rem !important; } .pb-xs-9 { padding-bottom: 3.5rem !important; } .pl-xs-9 { padding-left: 3.5rem !important; } .px-xs-9 { padding-right: 3.5rem !important; padding-left: 3.5rem !important; } .py-xs-9 { padding-top: 3.5rem !important; padding-bottom: 3.5rem !important; } .p-xs-10 { padding: 4rem !important; } .pt-xs-10 { padding-top: 4rem !important; } .pr-xs-10 { padding-right: 4rem !important; } .pb-xs-10 { padding-bottom: 4rem !important; } .pl-xs-10 { padding-left: 4rem !important; } .px-xs-10 { padding-right: 4rem !important; padding-left: 4rem !important; } .py-xs-10 { padding-top: 4rem !important; padding-bottom: 4rem !important; } } - -@media (min-width: 31.25rem) { .p-sm-0 { padding: 0 !important; } .pt-sm-0 { padding-top: 0 !important; } .pr-sm-0 { padding-right: 0 !important; } .pb-sm-0 { padding-bottom: 0 !important; } .pl-sm-0 { padding-left: 0 !important; } .px-sm-0 { padding-right: 0 !important; padding-left: 0 !important; } .py-sm-0 { padding-top: 0 !important; padding-bottom: 0 !important; } .p-sm-1 { padding: 0.25rem !important; } .pt-sm-1 { padding-top: 0.25rem !important; } .pr-sm-1 { padding-right: 0.25rem !important; } .pb-sm-1 { padding-bottom: 0.25rem !important; } .pl-sm-1 { padding-left: 0.25rem !important; } .px-sm-1 { padding-right: 0.25rem !important; padding-left: 0.25rem !important; } .py-sm-1 { padding-top: 0.25rem !important; padding-bottom: 0.25rem !important; } .p-sm-2 { padding: 0.5rem !important; } .pt-sm-2 { padding-top: 0.5rem !important; } .pr-sm-2 { padding-right: 0.5rem !important; } .pb-sm-2 { padding-bottom: 0.5rem !important; } .pl-sm-2 { padding-left: 0.5rem !important; } .px-sm-2 { padding-right: 0.5rem !important; padding-left: 0.5rem !important; } .py-sm-2 { padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; } .p-sm-3 { padding: 0.75rem !important; } .pt-sm-3 { padding-top: 0.75rem !important; } .pr-sm-3 { padding-right: 0.75rem !important; } .pb-sm-3 { padding-bottom: 0.75rem !important; } .pl-sm-3 { padding-left: 0.75rem !important; } .px-sm-3 { padding-right: 0.75rem !important; padding-left: 0.75rem !important; } .py-sm-3 { padding-top: 0.75rem !important; padding-bottom: 0.75rem !important; } .p-sm-4 { padding: 1rem !important; } .pt-sm-4 { padding-top: 1rem !important; } .pr-sm-4 { padding-right: 1rem !important; } .pb-sm-4 { padding-bottom: 1rem !important; } .pl-sm-4 { padding-left: 1rem !important; } .px-sm-4 { padding-right: 1rem !important; padding-left: 1rem !important; } .py-sm-4 { padding-top: 1rem !important; padding-bottom: 1rem !important; } .p-sm-5 { padding: 1.5rem !important; } .pt-sm-5 { padding-top: 1.5rem !important; } .pr-sm-5 { padding-right: 1.5rem !important; } .pb-sm-5 { padding-bottom: 1.5rem !important; } .pl-sm-5 { padding-left: 1.5rem !important; } .px-sm-5 { padding-right: 1.5rem !important; padding-left: 1.5rem !important; } .py-sm-5 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; } .p-sm-6 { padding: 2rem !important; } .pt-sm-6 { padding-top: 2rem !important; } .pr-sm-6 { padding-right: 2rem !important; } .pb-sm-6 { padding-bottom: 2rem !important; } .pl-sm-6 { padding-left: 2rem !important; } .px-sm-6 { padding-right: 2rem !important; padding-left: 2rem !important; } .py-sm-6 { padding-top: 2rem !important; padding-bottom: 2rem !important; } .p-sm-7 { padding: 2.5rem !important; } .pt-sm-7 { padding-top: 2.5rem !important; } .pr-sm-7 { padding-right: 2.5rem !important; } .pb-sm-7 { padding-bottom: 2.5rem !important; } .pl-sm-7 { padding-left: 2.5rem !important; } .px-sm-7 { padding-right: 2.5rem !important; padding-left: 2.5rem !important; } .py-sm-7 { padding-top: 2.5rem !important; padding-bottom: 2.5rem !important; } .p-sm-8 { padding: 3rem !important; } .pt-sm-8 { padding-top: 3rem !important; } .pr-sm-8 { padding-right: 3rem !important; } .pb-sm-8 { padding-bottom: 3rem !important; } .pl-sm-8 { padding-left: 3rem !important; } .px-sm-8 { padding-right: 3rem !important; padding-left: 3rem !important; } .py-sm-8 { padding-top: 3rem !important; padding-bottom: 3rem !important; } .p-sm-9 { padding: 3.5rem !important; } .pt-sm-9 { padding-top: 3.5rem !important; } .pr-sm-9 { padding-right: 3.5rem !important; } .pb-sm-9 { padding-bottom: 3.5rem !important; } .pl-sm-9 { padding-left: 3.5rem !important; } .px-sm-9 { padding-right: 3.5rem !important; padding-left: 3.5rem !important; } .py-sm-9 { padding-top: 3.5rem !important; padding-bottom: 3.5rem !important; } .p-sm-10 { padding: 4rem !important; } .pt-sm-10 { padding-top: 4rem !important; } .pr-sm-10 { padding-right: 4rem !important; } .pb-sm-10 { padding-bottom: 4rem !important; } .pl-sm-10 { padding-left: 4rem !important; } .px-sm-10 { padding-right: 4rem !important; padding-left: 4rem !important; } .py-sm-10 { padding-top: 4rem !important; padding-bottom: 4rem !important; } } - -@media (min-width: 50rem) { .p-md-0 { padding: 0 !important; } .pt-md-0 { padding-top: 0 !important; } .pr-md-0 { padding-right: 0 !important; } .pb-md-0 { padding-bottom: 0 !important; } .pl-md-0 { padding-left: 0 !important; } .px-md-0 { padding-right: 0 !important; padding-left: 0 !important; } .py-md-0 { padding-top: 0 !important; padding-bottom: 0 !important; } .p-md-1 { padding: 0.25rem !important; } .pt-md-1 { padding-top: 0.25rem !important; } .pr-md-1 { padding-right: 0.25rem !important; } .pb-md-1 { padding-bottom: 0.25rem !important; } .pl-md-1 { padding-left: 0.25rem !important; } .px-md-1 { padding-right: 0.25rem !important; padding-left: 0.25rem !important; } .py-md-1 { padding-top: 0.25rem !important; padding-bottom: 0.25rem !important; } .p-md-2 { padding: 0.5rem !important; } .pt-md-2 { padding-top: 0.5rem !important; } .pr-md-2 { padding-right: 0.5rem !important; } .pb-md-2 { padding-bottom: 0.5rem !important; } .pl-md-2 { padding-left: 0.5rem !important; } .px-md-2 { padding-right: 0.5rem !important; padding-left: 0.5rem !important; } .py-md-2 { padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; } .p-md-3 { padding: 0.75rem !important; } .pt-md-3 { padding-top: 0.75rem !important; } .pr-md-3 { padding-right: 0.75rem !important; } .pb-md-3 { padding-bottom: 0.75rem !important; } .pl-md-3 { padding-left: 0.75rem !important; } .px-md-3 { padding-right: 0.75rem !important; padding-left: 0.75rem !important; } .py-md-3 { padding-top: 0.75rem !important; padding-bottom: 0.75rem !important; } .p-md-4 { padding: 1rem !important; } .pt-md-4 { padding-top: 1rem !important; } .pr-md-4 { padding-right: 1rem !important; } .pb-md-4 { padding-bottom: 1rem !important; } .pl-md-4 { padding-left: 1rem !important; } .px-md-4 { padding-right: 1rem !important; padding-left: 1rem !important; } .py-md-4 { padding-top: 1rem !important; padding-bottom: 1rem !important; } .p-md-5 { padding: 1.5rem !important; } .pt-md-5 { padding-top: 1.5rem !important; } .pr-md-5 { padding-right: 1.5rem !important; } .pb-md-5 { padding-bottom: 1.5rem !important; } .pl-md-5 { padding-left: 1.5rem !important; } .px-md-5 { padding-right: 1.5rem !important; padding-left: 1.5rem !important; } .py-md-5 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; } .p-md-6 { padding: 2rem !important; } .pt-md-6 { padding-top: 2rem !important; } .pr-md-6 { padding-right: 2rem !important; } .pb-md-6 { padding-bottom: 2rem !important; } .pl-md-6 { padding-left: 2rem !important; } .px-md-6 { padding-right: 2rem !important; padding-left: 2rem !important; } .py-md-6 { padding-top: 2rem !important; padding-bottom: 2rem !important; } .p-md-7 { padding: 2.5rem !important; } .pt-md-7 { padding-top: 2.5rem !important; } .pr-md-7 { padding-right: 2.5rem !important; } .pb-md-7 { padding-bottom: 2.5rem !important; } .pl-md-7 { padding-left: 2.5rem !important; } .px-md-7 { padding-right: 2.5rem !important; padding-left: 2.5rem !important; } .py-md-7 { padding-top: 2.5rem !important; padding-bottom: 2.5rem !important; } .p-md-8 { padding: 3rem !important; } .pt-md-8 { padding-top: 3rem !important; } .pr-md-8 { padding-right: 3rem !important; } .pb-md-8 { padding-bottom: 3rem !important; } .pl-md-8 { padding-left: 3rem !important; } .px-md-8 { padding-right: 3rem !important; padding-left: 3rem !important; } .py-md-8 { padding-top: 3rem !important; padding-bottom: 3rem !important; } .p-md-9 { padding: 3.5rem !important; } .pt-md-9 { padding-top: 3.5rem !important; } .pr-md-9 { padding-right: 3.5rem !important; } .pb-md-9 { padding-bottom: 3.5rem !important; } .pl-md-9 { padding-left: 3.5rem !important; } .px-md-9 { padding-right: 3.5rem !important; padding-left: 3.5rem !important; } .py-md-9 { padding-top: 3.5rem !important; padding-bottom: 3.5rem !important; } .p-md-10 { padding: 4rem !important; } .pt-md-10 { padding-top: 4rem !important; } .pr-md-10 { padding-right: 4rem !important; } .pb-md-10 { padding-bottom: 4rem !important; } .pl-md-10 { padding-left: 4rem !important; } .px-md-10 { padding-right: 4rem !important; padding-left: 4rem !important; } .py-md-10 { padding-top: 4rem !important; padding-bottom: 4rem !important; } } - -@media (min-width: 66.5rem) { .p-lg-0 { padding: 0 !important; } .pt-lg-0 { padding-top: 0 !important; } .pr-lg-0 { padding-right: 0 !important; } .pb-lg-0 { padding-bottom: 0 !important; } .pl-lg-0 { padding-left: 0 !important; } .px-lg-0 { padding-right: 0 !important; padding-left: 0 !important; } .py-lg-0 { padding-top: 0 !important; padding-bottom: 0 !important; } .p-lg-1 { padding: 0.25rem !important; } .pt-lg-1 { padding-top: 0.25rem !important; } .pr-lg-1 { padding-right: 0.25rem !important; } .pb-lg-1 { padding-bottom: 0.25rem !important; } .pl-lg-1 { padding-left: 0.25rem !important; } .px-lg-1 { padding-right: 0.25rem !important; padding-left: 0.25rem !important; } .py-lg-1 { padding-top: 0.25rem !important; padding-bottom: 0.25rem !important; } .p-lg-2 { padding: 0.5rem !important; } .pt-lg-2 { padding-top: 0.5rem !important; } .pr-lg-2 { padding-right: 0.5rem !important; } .pb-lg-2 { padding-bottom: 0.5rem !important; } .pl-lg-2 { padding-left: 0.5rem !important; } .px-lg-2 { padding-right: 0.5rem !important; padding-left: 0.5rem !important; } .py-lg-2 { padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; } .p-lg-3 { padding: 0.75rem !important; } .pt-lg-3 { padding-top: 0.75rem !important; } .pr-lg-3 { padding-right: 0.75rem !important; } .pb-lg-3 { padding-bottom: 0.75rem !important; } .pl-lg-3 { padding-left: 0.75rem !important; } .px-lg-3 { padding-right: 0.75rem !important; padding-left: 0.75rem !important; } .py-lg-3 { padding-top: 0.75rem !important; padding-bottom: 0.75rem !important; } .p-lg-4 { padding: 1rem !important; } .pt-lg-4 { padding-top: 1rem !important; } .pr-lg-4 { padding-right: 1rem !important; } .pb-lg-4 { padding-bottom: 1rem !important; } .pl-lg-4 { padding-left: 1rem !important; } .px-lg-4 { padding-right: 1rem !important; padding-left: 1rem !important; } .py-lg-4 { padding-top: 1rem !important; padding-bottom: 1rem !important; } .p-lg-5 { padding: 1.5rem !important; } .pt-lg-5 { padding-top: 1.5rem !important; } .pr-lg-5 { padding-right: 1.5rem !important; } .pb-lg-5 { padding-bottom: 1.5rem !important; } .pl-lg-5 { padding-left: 1.5rem !important; } .px-lg-5 { padding-right: 1.5rem !important; padding-left: 1.5rem !important; } .py-lg-5 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; } .p-lg-6 { padding: 2rem !important; } .pt-lg-6 { padding-top: 2rem !important; } .pr-lg-6 { padding-right: 2rem !important; } .pb-lg-6 { padding-bottom: 2rem !important; } .pl-lg-6 { padding-left: 2rem !important; } .px-lg-6 { padding-right: 2rem !important; padding-left: 2rem !important; } .py-lg-6 { padding-top: 2rem !important; padding-bottom: 2rem !important; } .p-lg-7 { padding: 2.5rem !important; } .pt-lg-7 { padding-top: 2.5rem !important; } .pr-lg-7 { padding-right: 2.5rem !important; } .pb-lg-7 { padding-bottom: 2.5rem !important; } .pl-lg-7 { padding-left: 2.5rem !important; } .px-lg-7 { padding-right: 2.5rem !important; padding-left: 2.5rem !important; } .py-lg-7 { padding-top: 2.5rem !important; padding-bottom: 2.5rem !important; } .p-lg-8 { padding: 3rem !important; } .pt-lg-8 { padding-top: 3rem !important; } .pr-lg-8 { padding-right: 3rem !important; } .pb-lg-8 { padding-bottom: 3rem !important; } .pl-lg-8 { padding-left: 3rem !important; } .px-lg-8 { padding-right: 3rem !important; padding-left: 3rem !important; } .py-lg-8 { padding-top: 3rem !important; padding-bottom: 3rem !important; } .p-lg-9 { padding: 3.5rem !important; } .pt-lg-9 { padding-top: 3.5rem !important; } .pr-lg-9 { padding-right: 3.5rem !important; } .pb-lg-9 { padding-bottom: 3.5rem !important; } .pl-lg-9 { padding-left: 3.5rem !important; } .px-lg-9 { padding-right: 3.5rem !important; padding-left: 3.5rem !important; } .py-lg-9 { padding-top: 3.5rem !important; padding-bottom: 3.5rem !important; } .p-lg-10 { padding: 4rem !important; } .pt-lg-10 { padding-top: 4rem !important; } .pr-lg-10 { padding-right: 4rem !important; } .pb-lg-10 { padding-bottom: 4rem !important; } .pl-lg-10 { padding-left: 4rem !important; } .px-lg-10 { padding-right: 4rem !important; padding-left: 4rem !important; } .py-lg-10 { padding-top: 4rem !important; padding-bottom: 4rem !important; } } - -@media (min-width: 87.5rem) { .p-xl-0 { padding: 0 !important; } .pt-xl-0 { padding-top: 0 !important; } .pr-xl-0 { padding-right: 0 !important; } .pb-xl-0 { padding-bottom: 0 !important; } .pl-xl-0 { padding-left: 0 !important; } .px-xl-0 { padding-right: 0 !important; padding-left: 0 !important; } .py-xl-0 { padding-top: 0 !important; padding-bottom: 0 !important; } .p-xl-1 { padding: 0.25rem !important; } .pt-xl-1 { padding-top: 0.25rem !important; } .pr-xl-1 { padding-right: 0.25rem !important; } .pb-xl-1 { padding-bottom: 0.25rem !important; } .pl-xl-1 { padding-left: 0.25rem !important; } .px-xl-1 { padding-right: 0.25rem !important; padding-left: 0.25rem !important; } .py-xl-1 { padding-top: 0.25rem !important; padding-bottom: 0.25rem !important; } .p-xl-2 { padding: 0.5rem !important; } .pt-xl-2 { padding-top: 0.5rem !important; } .pr-xl-2 { padding-right: 0.5rem !important; } .pb-xl-2 { padding-bottom: 0.5rem !important; } .pl-xl-2 { padding-left: 0.5rem !important; } .px-xl-2 { padding-right: 0.5rem !important; padding-left: 0.5rem !important; } .py-xl-2 { padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; } .p-xl-3 { padding: 0.75rem !important; } .pt-xl-3 { padding-top: 0.75rem !important; } .pr-xl-3 { padding-right: 0.75rem !important; } .pb-xl-3 { padding-bottom: 0.75rem !important; } .pl-xl-3 { padding-left: 0.75rem !important; } .px-xl-3 { padding-right: 0.75rem !important; padding-left: 0.75rem !important; } .py-xl-3 { padding-top: 0.75rem !important; padding-bottom: 0.75rem !important; } .p-xl-4 { padding: 1rem !important; } .pt-xl-4 { padding-top: 1rem !important; } .pr-xl-4 { padding-right: 1rem !important; } .pb-xl-4 { padding-bottom: 1rem !important; } .pl-xl-4 { padding-left: 1rem !important; } .px-xl-4 { padding-right: 1rem !important; padding-left: 1rem !important; } .py-xl-4 { padding-top: 1rem !important; padding-bottom: 1rem !important; } .p-xl-5 { padding: 1.5rem !important; } .pt-xl-5 { padding-top: 1.5rem !important; } .pr-xl-5 { padding-right: 1.5rem !important; } .pb-xl-5 { padding-bottom: 1.5rem !important; } .pl-xl-5 { padding-left: 1.5rem !important; } .px-xl-5 { padding-right: 1.5rem !important; padding-left: 1.5rem !important; } .py-xl-5 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; } .p-xl-6 { padding: 2rem !important; } .pt-xl-6 { padding-top: 2rem !important; } .pr-xl-6 { padding-right: 2rem !important; } .pb-xl-6 { padding-bottom: 2rem !important; } .pl-xl-6 { padding-left: 2rem !important; } .px-xl-6 { padding-right: 2rem !important; padding-left: 2rem !important; } .py-xl-6 { padding-top: 2rem !important; padding-bottom: 2rem !important; } .p-xl-7 { padding: 2.5rem !important; } .pt-xl-7 { padding-top: 2.5rem !important; } .pr-xl-7 { padding-right: 2.5rem !important; } .pb-xl-7 { padding-bottom: 2.5rem !important; } .pl-xl-7 { padding-left: 2.5rem !important; } .px-xl-7 { padding-right: 2.5rem !important; padding-left: 2.5rem !important; } .py-xl-7 { padding-top: 2.5rem !important; padding-bottom: 2.5rem !important; } .p-xl-8 { padding: 3rem !important; } .pt-xl-8 { padding-top: 3rem !important; } .pr-xl-8 { padding-right: 3rem !important; } .pb-xl-8 { padding-bottom: 3rem !important; } .pl-xl-8 { padding-left: 3rem !important; } .px-xl-8 { padding-right: 3rem !important; padding-left: 3rem !important; } .py-xl-8 { padding-top: 3rem !important; padding-bottom: 3rem !important; } .p-xl-9 { padding: 3.5rem !important; } .pt-xl-9 { padding-top: 3.5rem !important; } .pr-xl-9 { padding-right: 3.5rem !important; } .pb-xl-9 { padding-bottom: 3.5rem !important; } .pl-xl-9 { padding-left: 3.5rem !important; } .px-xl-9 { padding-right: 3.5rem !important; padding-left: 3.5rem !important; } .py-xl-9 { padding-top: 3.5rem !important; padding-bottom: 3.5rem !important; } .p-xl-10 { padding: 4rem !important; } .pt-xl-10 { padding-top: 4rem !important; } .pr-xl-10 { padding-right: 4rem !important; } .pb-xl-10 { padding-bottom: 4rem !important; } .pl-xl-10 { padding-left: 4rem !important; } .px-xl-10 { padding-right: 4rem !important; padding-left: 4rem !important; } .py-xl-10 { padding-top: 4rem !important; padding-bottom: 4rem !important; } } - -@media print { .site-footer, .site-button, #edit-this-page, #back-to-top, .site-nav, .main-header { display: none !important; } .side-bar { width: 100%; height: auto; border-right: 0 !important; } .site-header { border-bottom: 1px solid #44434d; } .site-title { font-size: 16px !important; font-weight: 700 !important; } .text-small { font-size: 8pt !important; } pre.highlight { border: 1px solid #44434d; } .main { max-width: none; margin-left: 0; } } - -/* Just The Docs theme style overrides https://pmarsceill.github.io/just-the-docs/docs/customization/#override-and-completely-custom-styles */ -a { /* Unset "nowrap" to prevent horzontal scrolling on mobile */ white-space: unset !important; } - -/* Remove column min-width */ -th, td { min-width: unset; } - -a.external:after { content: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAVklEQVR4Xn3PgQkAMQhDUXfqTu7kTtkpd5RA8AInfArtQ2iRXFWT2QedAfttj2FsPIOE1eCOlEuoWWjgzYaB/IkeGOrxXhqB+uA9Bfcm0lAZuh+YIeAD+cAqSz4kCMUAAAAASUVORK5CYII=); vertical-align: baseline; position: relative; top: -0.4em; left: 0.1em; } - -/*# sourceMappingURL=just-the-docs-dark.css.map */ \ No newline at end of file diff --git a/assets/css/just-the-docs-dark.css.map b/assets/css/just-the-docs-dark.css.map deleted file mode 100644 index 5601fa755..000000000 --- a/assets/css/just-the-docs-dark.css.map +++ /dev/null @@ -1,68 +0,0 @@ -{ - "version": 3, - "file": "just-the-docs-dark.css", - "sources": [ - "just-the-docs-dark.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/support/support.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/support/_variables.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/support/_functions.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/support/mixins/mixins.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/support/mixins/_layout.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/support/mixins/_buttons.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/support/mixins/_typography.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/color_schemes/dark.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/modules.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/vendor/normalize.scss/normalize.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/base.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/layout.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/content.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/navigation.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/typography.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/labels.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/buttons.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/search.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/tables.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/code.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/utilities/utilities.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/utilities/_colors.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/utilities/_layout.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/utilities/_typography.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/utilities/_lists.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/utilities/_spacing.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/print.scss", - "src/_sass/custom/custom.scss" - ], - "sourcesContent": [ - "\n@import \"./support/support\";\n@import \"./color_schemes/dark\";\n@import \"./modules\";\n@import \"./custom/custom\";\n\n\n", - "@import \"./variables\";\n@import \"./functions\";\n@import \"./mixins/mixins\";\n", - "//\n// Typography\n//\n\n$body-font-family: -apple-system, BlinkMacSystemFont, \"helvetica neue\",\n helvetica, roboto, noto, \"segoe ui\", arial, sans-serif !default;\n$mono-font-family: \"SFMono-Regular\", Menlo, Consolas, Monospace !default;\n$root-font-size: 16px !default; // Base font-size for rems\n$body-line-height: 1.4 !default;\n$content-line-height: 1.6 !default;\n$body-heading-line-height: 1.25 !default;\n\n//\n// Colors\n//\n\n$white: #fff !default;\n\n$grey-dk-000: #959396 !default;\n$grey-dk-100: #5c5962 !default;\n$grey-dk-200: #44434d !default;\n$grey-dk-250: #302d36 !default;\n$grey-dk-300: #27262b !default;\n\n$grey-lt-000: #f5f6fa !default;\n$grey-lt-100: #eeebee !default;\n$grey-lt-200: #ecebed !default;\n$grey-lt-300: #e6e1e8 !default;\n\n$purple-000: #7253ed !default;\n$purple-100: #5e41d0 !default;\n$purple-200: #4e26af !default;\n$purple-300: #381885 !default;\n\n$blue-000: #2c84fa !default;\n$blue-100: #2869e6 !default;\n$blue-200: #264caf !default;\n$blue-300: #183385 !default;\n\n$green-000: #41d693 !default;\n$green-100: #11b584 !default;\n$green-200: #009c7b !default;\n$green-300: #026e57 !default;\n\n$yellow-000: #ffeb82 !default;\n$yellow-100: #fadf50 !default;\n$yellow-200: #f7d12e !default;\n$yellow-300: #e7af06 !default;\n\n$red-000: #f77e7e !default;\n$red-100: #f96e65 !default;\n$red-200: #e94c4c !default;\n$red-300: #dd2e2e !default;\n\n$body-background-color: $white !default;\n$sidebar-color: $grey-lt-000 !default;\n$search-background-color: $white !default;\n$table-background-color: $white !default;\n$code-background-color: $grey-lt-000 !default;\n$feedback-color: darken($sidebar-color, 3%) !default;\n\n$body-text-color: $grey-dk-100 !default;\n$body-heading-color: $grey-dk-300 !default;\n$search-result-preview-color: $grey-dk-000 !default;\n$nav-child-link-color: $grey-dk-100 !default;\n$link-color: $purple-000 !default;\n$btn-primary-color: $purple-100 !default;\n$base-button-color: #f7f7f7 !default;\n\n//\n// Spacing\n//\n\n$spacing-unit: 1rem; // 1rem == 16px\n\n$spacers: (\n sp-0: 0,\n sp-1: $spacing-unit * 0.25,\n sp-2: $spacing-unit * 0.5,\n sp-3: $spacing-unit * 0.75,\n sp-4: $spacing-unit,\n sp-5: $spacing-unit * 1.5,\n sp-6: $spacing-unit * 2,\n sp-7: $spacing-unit * 2.5,\n sp-8: $spacing-unit * 3,\n sp-9: $spacing-unit * 3.5,\n sp-10: $spacing-unit * 4,\n) !default;\n\n$sp-1: map-get($spacers, sp-1) !default; // 0.25 rem == 4px\n$sp-2: map-get($spacers, sp-2) !default; // 0.5 rem == 8px\n$sp-3: map-get($spacers, sp-3) !default; // 0.75 rem == 12px\n$sp-4: map-get($spacers, sp-4) !default; // 1 rem == 16px\n$sp-5: map-get($spacers, sp-5) !default; // 1.5 rem == 24px\n$sp-6: map-get($spacers, sp-6) !default; // 2 rem == 32px\n$sp-7: map-get($spacers, sp-7) !default; // 2.5 rem == 40px\n$sp-8: map-get($spacers, sp-8) !default; // 3 rem == 48px\n$sp-9: map-get($spacers, sp-9) !default; // 3.5 rem == 56px\n$sp-10: map-get($spacers, sp-10) !default; // 4 rem == 64px\n\n//\n// Borders\n//\n\n$border: 1px solid !default;\n$border-radius: 4px !default;\n$border-color: $grey-lt-100 !default;\n\n//\n// Grid system\n//\n\n$gutter-spacing: $sp-6 !default;\n$gutter-spacing-sm: $sp-4 !default;\n$nav-width: 264px !default;\n$nav-width-md: 248px !default;\n$nav-list-item-height: $sp-6 !default;\n$nav-list-item-height-sm: $sp-8 !default;\n$nav-list-expander-right: true;\n$content-width: 800px !default;\n$header-height: 60px !default;\n$search-results-width: $content-width - $nav-width !default;\n$transition-duration: 400ms;\n\n//\n// Media queries in pixels\n//\n\n$media-queries: (\n xs: 320px,\n sm: 500px,\n md: $content-width,\n lg: $content-width + $nav-width,\n xl: 1400px,\n) !default;\n", - "@function rem($size, $unit: \"\") {\n $remSize: $size / $root-font-size;\n\n @if ($unit == false) {\n @return #{$remSize};\n } @else {\n @return #{$remSize}rem;\n }\n}\n", - "@import \"./layout\";\n@import \"./buttons\";\n@import \"./typography\";\n", - "// Media query\n\n// Media query mixin\n// Usage:\n// @include mq(md) {\n// ..medium and up styles\n// }\n@mixin mq($name) {\n // Retrieves the value from the key\n $value: map-get($media-queries, $name);\n\n // If the key exists in the map\n @if $value != null {\n // Prints a media query based on the value\n @media (min-width: rem($value)) {\n @content;\n }\n } @else {\n @warn \"No value could be retrieved from `#{$media-query}`. \"\n + \"Please make sure it is defined in `$media-queries` map.\";\n }\n}\n\n// Responsive container\n\n@mixin container {\n padding-right: $gutter-spacing-sm;\n padding-left: $gutter-spacing-sm;\n\n @include mq(md) {\n padding-right: $gutter-spacing;\n padding-left: $gutter-spacing;\n }\n}\n", - "// Colored button\n\n@mixin btn-color($fg, $bg) {\n color: $fg;\n background-color: darken($bg, 2%);\n background-image: linear-gradient(lighten($bg, 5%), darken($bg, 2%));\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12);\n\n &:hover,\n &.zeroclipboard-is-hover {\n color: $fg;\n background-color: darken($bg, 4%);\n background-image: linear-gradient((lighten($bg, 2%), darken($bg, 4%)));\n }\n\n &:active,\n &.selected,\n &.zeroclipboard-is-active {\n background-color: darken($bg, 5%);\n background-image: none;\n box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);\n }\n\n &.selected:hover {\n background-color: darken($bg, 10%);\n }\n}\n", - "// Font size\n\n@mixin fs-1 {\n font-size: 9px !important;\n\n @include mq(sm) {\n font-size: 10px !important;\n }\n}\n\n@mixin fs-2 {\n font-size: 11px !important;\n\n @include mq(sm) {\n font-size: 12px !important;\n }\n}\n\n@mixin fs-3 {\n font-size: 12px !important;\n\n @include mq(sm) {\n font-size: 14px !important;\n }\n}\n\n@mixin fs-4 {\n font-size: 15px !important;\n\n @include mq(sm) {\n font-size: 16px !important;\n }\n}\n\n@mixin fs-5 {\n font-size: 16px !important;\n\n @include mq(sm) {\n font-size: 18px !important;\n }\n}\n\n@mixin fs-6 {\n font-size: 18px !important;\n\n @include mq(sm) {\n font-size: 24px !important;\n line-height: $body-heading-line-height;\n }\n}\n\n@mixin fs-7 {\n font-size: 24px !important;\n line-height: $body-heading-line-height;\n\n @include mq(sm) {\n font-size: 32px !important;\n }\n}\n\n@mixin fs-8 {\n font-size: 32px !important;\n line-height: $body-heading-line-height;\n\n @include mq(sm) {\n font-size: 36px !important;\n }\n}\n\n@mixin fs-9 {\n font-size: 36px !important;\n line-height: $body-heading-line-height;\n\n @include mq(sm) {\n font-size: 42px !important;\n }\n}\n\n@mixin fs-10 {\n font-size: 42px !important;\n line-height: $body-heading-line-height;\n\n @include mq(sm) {\n font-size: 48px !important;\n }\n}\n", - "$body-background-color: $grey-dk-300;\n$sidebar-color: $grey-dk-300;\n$border-color: $grey-dk-200;\n\n$body-text-color: $grey-lt-300;\n$body-heading-color: $grey-lt-000;\n$nav-child-link-color: $grey-dk-000;\n$search-result-preview-color: $grey-dk-000;\n\n$link-color: $blue-000;\n$btn-primary-color: $blue-200;\n$base-button-color: $grey-dk-250;\n\n$code-background-color: $grey-dk-250;\n$search-background-color: $grey-dk-250;\n$table-background-color: $grey-dk-250;\n$feedback-color: darken($sidebar-color, 3%);\n", - "//\n// Import external dependencies\n//\n@import \"./vendor/normalize.scss/normalize.scss\";\n\n//\n// Modules\n//\n@import \"./base\";\n@import \"./layout\";\n@import \"./content\";\n@import \"./navigation\";\n@import \"./typography\";\n@import \"./labels\";\n@import \"./buttons\";\n@import \"./search\";\n@import \"./tables\";\n@import \"./code\";\n@import \"./utilities/utilities\";\n@import \"./print\";\n", - "/*! normalize.scss v0.1.0 | MIT License | based on git.io/normalize */\n\n/**\n * 1. Set default font family to sans-serif.\n * 2. Prevent iOS text size adjust after orientation change, without disabling\n * user zoom.\n */\n\nhtml {\n font-family: sans-serif; /* 1 */\n -ms-text-size-adjust: 100%; /* 2 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/**\n * Remove default margin.\n */\n\nbody {\n margin: 0;\n}\n\n/* HTML5 display definitions\n ========================================================================== */\n\n/**\n * Correct `block` display not defined for any HTML5 element in IE 8/9.\n * Correct `block` display not defined for `details` or `summary` in IE 10/11\n * and Firefox.\n * Correct `block` display not defined for `main` in IE 11.\n */\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\n\n/**\n * 1. Correct `inline-block` display not defined in IE 8/9.\n * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n */\n\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block; /* 1 */\n vertical-align: baseline; /* 2 */\n}\n\n/**\n * Prevent modern browsers from displaying `audio` without controls.\n * Remove excess height in iOS 5 devices.\n */\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\n/**\n * Address `[hidden]` styling not present in IE 8/9/10.\n * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.\n */\n\n[hidden],\ntemplate {\n display: none;\n}\n\n/* Links\n ========================================================================== */\n\n/**\n * Remove the gray background color from active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * Improve readability when focused and also mouse hovered in all browsers.\n */\n\na:active,\na:hover {\n outline: 0;\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Address styling not present in IE 8/9/10/11, Safari, and Chrome.\n */\n\nabbr[title] {\n border-bottom: 1px dotted;\n}\n\n/**\n * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n */\n\nb,\nstrong {\n font-weight: bold;\n}\n\n/**\n * Address styling not present in Safari and Chrome.\n */\n\ndfn {\n font-style: italic;\n}\n\n/**\n * Address variable `h1` font-size and margin within `section` and `article`\n * contexts in Firefox 4+, Safari, and Chrome.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/**\n * Address styling not present in IE 8/9.\n */\n\nmark {\n background: #ff0;\n color: #000;\n}\n\n/**\n * Address inconsistent and variable font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` affecting `line-height` in all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsup {\n top: -0.5em;\n}\n\nsub {\n bottom: -0.25em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove border when inside `a` element in IE 8/9/10.\n */\n\nimg {\n border: 0;\n}\n\n/**\n * Correct overflow not hidden in IE 9/10/11.\n */\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * Address margin not present in IE 8/9 and Safari.\n */\n\nfigure {\n margin: 1em 40px;\n}\n\n/**\n * Address differences between Firefox and other browsers.\n */\n\nhr {\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n height: 0;\n}\n\n/**\n * Contain overflow in all browsers.\n */\n\npre {\n overflow: auto;\n}\n\n/**\n * Address odd `em`-unit font size rendering in all browsers.\n */\n\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * Known limitation: by default, Chrome and Safari on OS X allow very limited\n * styling of `select`, unless a `border` property is set.\n */\n\n/**\n * 1. Correct color not being inherited.\n * Known issue: affects color of disabled elements.\n * 2. Correct font properties not being inherited.\n * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit; /* 1 */\n font: inherit; /* 2 */\n margin: 0; /* 3 */\n}\n\n/**\n * Address `overflow` set to `hidden` in IE 8/9/10/11.\n */\n\nbutton {\n overflow: visible;\n}\n\n/**\n * Address inconsistent `text-transform` inheritance for `button` and `select`.\n * All other form control elements do not inherit `text-transform` values.\n * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n * Correct `select` style inheritance in Firefox.\n */\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/**\n * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n * and `video` controls.\n * 2. Correct inability to style clickable `input` types in iOS.\n * 3. Improve usability and consistency of cursor style between image-type\n * `input` and others.\n */\n\nbutton,\nhtml input[type=\"button\"], /* 1 */\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button; /* 2 */\n cursor: pointer; /* 3 */\n}\n\n/**\n * Re-set default cursor for disabled elements.\n */\n\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n\n/**\n * Remove inner padding and border in Firefox 4+.\n */\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n/**\n * Address Firefox 4+ setting `line-height` on `input` using `!important` in\n * the UA stylesheet.\n */\n\ninput {\n line-height: normal;\n}\n\n/**\n * It's recommended that you don't attempt to style these elements.\n * Firefox's implementation doesn't respect box-sizing, padding, or width.\n *\n * 1. Address box sizing set to `content-box` in IE 8/9/10.\n * 2. Remove excess padding in IE 8/9/10.\n */\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Fix the cursor style for Chrome's increment/decrement buttons. For certain\n * `font-size` values of the `input`, it causes the cursor style of the\n * decrement button to change from `default` to `text`.\n */\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n * 2. Address `box-sizing` set to `border-box` in Safari and Chrome\n * (include `-moz` to future-proof).\n */\n\ninput[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n -moz-box-sizing: content-box;\n -webkit-box-sizing: content-box; /* 2 */\n box-sizing: content-box;\n}\n\n/**\n * Remove inner padding and search cancel button in Safari and Chrome on OS X.\n * Safari (but not Chrome) clips the cancel button when the search input has\n * padding (and `textfield` appearance).\n */\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * Define consistent border, margin, and padding.\n */\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\n/**\n * 1. Correct `color` not being inherited in IE 8/9/10/11.\n * 2. Remove padding so people aren't caught out if they zero out fieldsets.\n */\n\nlegend {\n border: 0; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Remove default vertical scrollbar in IE 8/9/10/11.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * Don't inherit the `font-weight` (applied by a rule above).\n * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n */\n\noptgroup {\n font-weight: bold;\n}\n\n/* Tables\n ========================================================================== */\n\n/**\n * Remove most spacing between table cells.\n */\n\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\ntd,\nth {\n padding: 0;\n}\n", - "//\n// Base element style overrides\n//\n// stylelint-disable selector-no-type, selector-max-type\n\n* {\n box-sizing: border-box;\n}\n\n::selection {\n color: $white;\n background: $link-color;\n}\n\nhtml {\n @include fs-4;\n scroll-behavior: smooth;\n}\n\nbody {\n font-family: $body-font-family;\n font-size: inherit;\n line-height: $body-line-height;\n color: $body-text-color;\n background-color: $body-background-color;\n}\n\nol,\nul,\ndl,\npre,\naddress,\nblockquote,\ntable,\ndiv,\nhr,\nform,\nfieldset,\nnoscript .table-wrapper {\n margin-top: 0;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n margin-top: 0;\n margin-bottom: 1em;\n font-weight: 500;\n line-height: $body-heading-line-height;\n color: $body-heading-color;\n}\n\np {\n margin-top: 1em;\n margin-bottom: 1em;\n}\n\na {\n color: $link-color;\n text-decoration: none;\n}\n\na:not([class]) {\n text-decoration: none;\n background-image: linear-gradient($border-color 0%, $border-color 100%);\n background-repeat: repeat-x;\n background-position: 0 100%;\n background-size: 1px 1px;\n\n &:hover {\n background-image: linear-gradient(\n rgba($link-color, 0.45) 0%,\n rgba($link-color, 0.45) 100%\n );\n background-size: 1px 1px;\n }\n}\n\ncode {\n font-family: $mono-font-family;\n font-size: 0.75em;\n line-height: $body-line-height;\n}\n\nfigure,\npre {\n margin: 0;\n}\n\nli {\n margin: 0.25em 0;\n}\n\nimg {\n max-width: 100%;\n height: auto;\n}\n\nhr {\n height: 1px;\n padding: 0;\n margin: $sp-6 0;\n background-color: $border-color;\n border: 0;\n}\n", - "//\n// The basic two column layout\n//\n\n.side-bar {\n z-index: 0;\n display: flex;\n flex-wrap: wrap;\n background-color: $sidebar-color;\n\n @include mq(md) {\n flex-wrap: nowrap;\n position: fixed;\n width: $nav-width-md;\n height: 100%;\n flex-direction: column;\n border-right: $border $border-color;\n align-items: flex-end;\n }\n\n @include mq(lg) {\n width: calc((100% - #{$nav-width + $content-width}) / 2 + #{$nav-width});\n min-width: $nav-width;\n }\n}\n\n.main {\n @include mq(md) {\n position: relative;\n max-width: $content-width;\n margin-left: $nav-width-md;\n }\n\n @include mq(lg) {\n margin-left: calc(\n (100% - #{$nav-width + $content-width}) / 2 + #{$nav-width}\n );\n }\n}\n\n.main-content-wrap {\n @include container;\n padding-top: $gutter-spacing-sm;\n padding-bottom: $gutter-spacing-sm;\n\n @include mq(md) {\n padding-top: $gutter-spacing;\n padding-bottom: $gutter-spacing;\n }\n}\n\n.main-header {\n z-index: 0;\n display: none;\n background-color: $sidebar-color;\n\n @include mq(md) {\n display: flex;\n justify-content: space-between;\n height: $header-height;\n background-color: $body-background-color;\n border-bottom: $border $border-color;\n }\n\n &.nav-open {\n display: block;\n\n @include mq(md) {\n display: flex;\n }\n }\n}\n\n.site-nav,\n.site-header,\n.site-footer {\n width: 100%;\n\n @include mq(lg) {\n width: $nav-width;\n }\n}\n\n.site-nav {\n display: none;\n\n &.nav-open {\n display: block;\n }\n\n @include mq(md) {\n display: block;\n padding-top: $sp-8;\n padding-bottom: $gutter-spacing-sm;\n overflow-y: auto;\n flex: 1 1 auto;\n }\n}\n\n.site-header {\n display: flex;\n min-height: $header-height;\n align-items: center;\n\n @include mq(md) {\n height: $header-height;\n max-height: $header-height;\n border-bottom: $border $border-color;\n }\n}\n\n.site-title {\n @include container;\n flex-grow: 1;\n display: flex;\n height: 100%;\n align-items: center;\n padding-top: $sp-3;\n padding-bottom: $sp-3;\n color: $body-heading-color;\n @include fs-6;\n\n @include mq(md) {\n padding-top: $sp-2;\n padding-bottom: $sp-2;\n }\n}\n\n@if variable-exists(logo) {\n .site-logo {\n width: 100%;\n height: 100%;\n background-image: url($logo);\n background-repeat: no-repeat;\n background-position: left center;\n background-size: contain;\n }\n}\n\n.site-button {\n display: flex;\n height: 100%;\n padding: $gutter-spacing-sm;\n align-items: center;\n}\n\n@include mq(md) {\n .site-header .site-button {\n display: none;\n }\n}\n\n.site-title:hover {\n background-image: linear-gradient(\n -90deg,\n rgba($feedback-color, 1) 0%,\n rgba($feedback-color, 0.8) 80%,\n rgba($feedback-color, 0) 100%\n );\n}\n\n.site-button:hover {\n background-image: linear-gradient(\n -90deg,\n rgba($feedback-color, 1) 0%,\n rgba($feedback-color, 0.8) 100%\n );\n}\n\n// stylelint-disable selector-max-type\n\nbody {\n position: relative;\n padding-bottom: $sp-10;\n overflow-y: scroll;\n\n @include mq(md) {\n position: static;\n padding-bottom: 0;\n }\n}\n\n// stylelint-enable selector-max-type\n\n.site-footer {\n @include container;\n position: absolute;\n bottom: 0;\n left: 0;\n padding-top: $sp-4;\n padding-bottom: $sp-4;\n color: $grey-dk-000;\n @include fs-2;\n\n @include mq(md) {\n position: static;\n justify-self: end;\n }\n}\n\n.icon {\n width: $sp-5;\n height: $sp-5;\n color: $link-color;\n}\n", - "@charset \"UTF-8\";\n\n//\n// Styles for rendered markdown in the .main-content container\n//\n// stylelint-disable selector-no-type, max-nesting-depth, selector-max-compound-selectors, selector-max-type\n\n.main-content {\n line-height: $content-line-height;\n\n ol,\n ul,\n dl,\n pre,\n address,\n blockquote,\n .table-wrapper {\n margin-top: 0.5em;\n }\n\n a {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n ul,\n ol {\n padding-left: 1.5em;\n }\n\n li {\n .highlight {\n margin-top: $sp-1;\n }\n }\n\n ol {\n list-style-type: none;\n counter-reset: step-counter;\n\n > li {\n position: relative;\n\n &::before {\n position: absolute;\n top: 0.2em;\n left: -1.6em;\n color: $grey-dk-000;\n content: counter(step-counter);\n counter-increment: step-counter;\n @include fs-3;\n\n @include mq(sm) {\n top: 0.11em;\n }\n }\n\n ol {\n counter-reset: sub-counter;\n\n li {\n &::before {\n content: counter(sub-counter, lower-alpha);\n counter-increment: sub-counter;\n }\n }\n }\n }\n }\n\n ul {\n list-style: none;\n\n > li {\n &::before {\n position: absolute;\n margin-left: -1.4em;\n color: $grey-dk-000;\n content: \"•\";\n }\n }\n }\n\n .task-list {\n padding-left: 0;\n }\n\n .task-list-item {\n display: flex;\n align-items: center;\n\n &::before {\n content: \"\";\n }\n }\n\n .task-list-item-checkbox {\n margin-right: 0.6em;\n }\n\n hr + * {\n margin-top: 0;\n }\n\n h1:first-of-type {\n margin-top: 0.5em;\n }\n\n dl {\n display: grid;\n grid-template-columns: max-content 1fr;\n }\n\n dt,\n dd {\n margin: 0.25em 0;\n }\n\n dt {\n text-align: right;\n\n &::after {\n content: \":\";\n }\n }\n\n dd {\n margin-left: 1em;\n font-weight: 500;\n }\n\n .anchor-heading {\n position: absolute;\n right: -$sp-4;\n width: $sp-5;\n height: 100%;\n padding-right: $sp-1;\n padding-left: $sp-1;\n overflow: visible;\n\n @include mq(md) {\n right: auto;\n left: -$sp-5;\n }\n\n svg {\n display: inline-block;\n width: 100%;\n height: 100%;\n color: $link-color;\n visibility: hidden;\n }\n }\n\n .anchor-heading:hover,\n h1:hover > .anchor-heading,\n h2:hover > .anchor-heading,\n h3:hover > .anchor-heading,\n h4:hover > .anchor-heading,\n h5:hover > .anchor-heading,\n h6:hover > .anchor-heading {\n svg {\n visibility: visible;\n }\n }\n\n summary {\n cursor: pointer;\n }\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n position: relative;\n margin-top: 1.5em;\n margin-bottom: 0.25em;\n\n &:first-child {\n margin-top: $sp-2;\n }\n\n + table,\n + .table-wrapper,\n + .code-example,\n + .highlighter-rouge {\n margin-top: 1em;\n }\n\n + p {\n margin-top: 0;\n }\n }\n}\n", - "//\n// Main nav, breadcrumb, etc...\n//\n// stylelint-disable selector-no-type, max-nesting-depth, selector-max-compound-selectors, selector-max-type, selector-max-specificity\n\n.nav-list {\n padding: 0;\n margin-top: 0;\n margin-bottom: 0;\n list-style: none;\n\n .nav-list-item {\n @include fs-4;\n position: relative;\n margin: 0;\n\n @include mq(md) {\n @include fs-3;\n }\n\n .nav-list-link {\n display: block;\n min-height: $nav-list-item-height-sm;\n padding-top: $sp-1;\n padding-bottom: $sp-1;\n line-height: #{$nav-list-item-height-sm - 2 * $sp-1};\n @if $nav-list-expander-right {\n padding-right: $nav-list-item-height-sm;\n padding-left: $gutter-spacing-sm;\n } @else {\n padding-right: $gutter-spacing-sm;\n padding-left: $nav-list-item-height-sm;\n }\n\n @include mq(md) {\n min-height: $nav-list-item-height;\n line-height: #{$nav-list-item-height - 2 * $sp-1};\n @if $nav-list-expander-right {\n padding-right: $nav-list-item-height;\n padding-left: $gutter-spacing;\n } @else {\n padding-right: $gutter-spacing;\n padding-left: $nav-list-item-height;\n }\n }\n\n &.active {\n font-weight: 600;\n text-decoration: none;\n }\n\n &:hover,\n &.active {\n background-image: linear-gradient(\n -90deg,\n rgba($feedback-color, 1) 0%,\n rgba($feedback-color, 0.8) 80%,\n rgba($feedback-color, 0) 100%\n );\n }\n }\n\n .nav-list-expander {\n position: absolute;\n @if $nav-list-expander-right {\n right: 0;\n }\n width: $nav-list-item-height-sm;\n height: $nav-list-item-height-sm;\n padding-top: #{$nav-list-item-height-sm / 4};\n padding-right: #{$nav-list-item-height-sm / 4};\n padding-bottom: #{$nav-list-item-height-sm / 4};\n padding-left: #{$nav-list-item-height-sm / 4};\n color: $link-color;\n\n @include mq(md) {\n width: $nav-list-item-height;\n height: $nav-list-item-height;\n padding-top: #{$nav-list-item-height / 4};\n padding-right: #{$nav-list-item-height / 4};\n padding-bottom: #{$nav-list-item-height / 4};\n padding-left: #{$nav-list-item-height / 4};\n }\n\n &:hover {\n background-image: linear-gradient(\n -90deg,\n rgba($feedback-color, 1) 0%,\n rgba($feedback-color, 0.8) 100%\n );\n }\n\n @if $nav-list-expander-right {\n svg {\n transform: rotate(90deg);\n }\n }\n }\n\n > .nav-list {\n display: none;\n padding-left: $sp-3;\n list-style: none;\n\n .nav-list-item {\n position: relative;\n\n .nav-list-link {\n color: $nav-child-link-color;\n }\n\n .nav-list-expander {\n color: $nav-child-link-color;\n }\n }\n }\n\n &.active {\n > .nav-list-expander svg {\n @if $nav-list-expander-right {\n transform: rotate(-90deg);\n } @else {\n transform: rotate(90deg);\n }\n }\n\n > .nav-list {\n display: block;\n }\n }\n }\n}\n\n// Aux nav\n\n.aux-nav {\n height: 100%;\n overflow-x: auto;\n @include fs-2;\n\n .aux-nav-list {\n display: flex;\n height: 100%;\n padding: 0;\n margin: 0;\n list-style: none;\n }\n\n .aux-nav-list-item {\n display: inline-block;\n height: 100%;\n padding: 0;\n margin: 0;\n }\n\n @include mq(md) {\n padding-right: $gutter-spacing-sm;\n }\n}\n\n// Breadcrumb nav\n\n.breadcrumb-nav {\n @include mq(md) {\n margin-top: -$sp-4;\n }\n}\n\n.breadcrumb-nav-list {\n padding-left: 0;\n margin-bottom: $sp-3;\n list-style: none;\n}\n\n.breadcrumb-nav-list-item {\n display: table-cell;\n @include fs-2;\n\n &::before {\n display: none;\n }\n\n &::after {\n display: inline-block;\n margin-right: $sp-2;\n margin-left: $sp-2;\n color: $grey-dk-000;\n content: \"/\";\n }\n\n &:last-child {\n &::after {\n content: \"\";\n }\n }\n}\n", - "//\n// Typography\n//\n// stylelint-disable primer/selector-no-utility, primer/no-override, selector-no-type, selector-max-type\n\nh1,\n.text-alpha {\n @include fs-8;\n font-weight: 300;\n}\n\nh2,\n.text-beta {\n @include fs-6;\n}\n\nh3,\n.text-gamma {\n @include fs-5;\n}\n\nh4,\n.text-delta {\n @include fs-2;\n font-weight: 400;\n text-transform: uppercase;\n letter-spacing: 0.1em;\n}\n\nh5,\n.text-epsilon {\n @include fs-3;\n color: $grey-dk-200;\n}\n\nh6,\n.text-zeta {\n @include fs-2;\n color: $grey-dk-200;\n}\n\n.text-small {\n @include fs-2;\n}\n\n.text-mono {\n font-family: $mono-font-family !important;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n", - "//\n// Labels (not the form kind)\n//\n\n.label,\n.label-blue {\n display: inline-block;\n padding-top: 0.16em;\n padding-right: 0.56em;\n padding-bottom: 0.16em;\n padding-left: 0.56em;\n margin-right: $sp-2;\n margin-left: $sp-2;\n color: $white;\n text-transform: uppercase;\n vertical-align: middle;\n background-color: $blue-100;\n @include fs-2;\n border-radius: 12px;\n}\n\n.label-green {\n background-color: $green-200;\n}\n\n.label-purple {\n background-color: $purple-100;\n}\n\n.label-red {\n background-color: $red-200;\n}\n\n.label-yellow {\n color: $grey-dk-200;\n background-color: $yellow-200;\n}\n", - "//\n// Buttons and things that look like buttons\n//\n// stylelint-disable color-named\n\n.btn {\n display: inline-block;\n box-sizing: border-box;\n padding-top: 0.3em;\n padding-right: 1em;\n padding-bottom: 0.3em;\n padding-left: 1em;\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n font-weight: 500;\n line-height: 1.5;\n color: $link-color;\n text-decoration: none;\n vertical-align: baseline;\n cursor: pointer;\n background-color: $base-button-color;\n border-width: 0;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n appearance: none;\n\n &:focus {\n text-decoration: none;\n outline: none;\n box-shadow: 0 0 0 3px rgba(blue, 0.25);\n }\n\n &:focus:hover,\n &.selected:focus {\n box-shadow: 0 0 0 3px rgba(blue, 0.25);\n }\n\n &:hover,\n &.zeroclipboard-is-hover {\n color: darken($link-color, 2%);\n }\n\n &:hover,\n &:active,\n &.zeroclipboard-is-hover,\n &.zeroclipboard-is-active {\n text-decoration: none;\n background-color: darken($base-button-color, 1%);\n }\n\n &:active,\n &.selected,\n &.zeroclipboard-is-active {\n background-color: darken($base-button-color, 3%);\n background-image: none;\n box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);\n }\n\n &.selected:hover {\n background-color: darken(#dcdcdc, 5%);\n }\n\n &:disabled,\n &.disabled {\n &,\n &:hover {\n color: rgba(102, 102, 102, 0.5);\n cursor: default;\n background-color: rgba(229, 229, 229, 0.5);\n background-image: none;\n box-shadow: none;\n }\n }\n}\n\n.btn-outline {\n color: $link-color;\n background: transparent;\n box-shadow: inset 0 0 0 2px $grey-lt-300;\n\n &:hover,\n &:active,\n &.zeroclipboard-is-hover,\n &.zeroclipboard-is-active {\n color: darken($link-color, 4%);\n text-decoration: none;\n background-color: transparent;\n box-shadow: inset 0 0 0 3px $grey-lt-300;\n }\n\n &:focus {\n text-decoration: none;\n outline: none;\n box-shadow: inset 0 0 0 2px $grey-dk-100, 0 0 0 3px rgba(blue, 0.25);\n }\n\n &:focus:hover,\n &.selected:focus {\n box-shadow: inset 0 0 0 2px $grey-dk-100;\n }\n}\n\n.btn-primary {\n @include btn-color($white, $btn-primary-color);\n}\n\n.btn-purple {\n @include btn-color($white, $purple-100);\n}\n\n.btn-blue {\n @include btn-color($white, $blue-000);\n}\n\n.btn-green {\n @include btn-color($white, $green-100);\n}\n", - "//\n// Search input and autocomplete\n//\n\n.search {\n position: relative;\n z-index: 2;\n flex-grow: 1;\n height: $sp-10;\n padding: $sp-2;\n transition: padding linear #{$transition-duration / 2};\n\n @include mq(md) {\n position: relative !important;\n width: auto !important;\n height: 100% !important;\n padding: 0;\n transition: none;\n }\n}\n\n.search-input-wrap {\n position: relative;\n z-index: 1;\n height: $sp-8;\n overflow: hidden;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n transition: height linear #{$transition-duration / 2};\n\n @include mq(md) {\n position: absolute;\n width: 100%;\n max-width: $search-results-width;\n height: 100% !important;\n border-radius: 0;\n box-shadow: none;\n transition: width ease $transition-duration;\n }\n}\n\n.search-input {\n position: absolute;\n width: 100%;\n height: 100%;\n padding-top: $sp-2;\n padding-right: $gutter-spacing-sm;\n padding-bottom: $sp-2;\n padding-left: #{$gutter-spacing-sm + $sp-5};\n font-size: 16px;\n background-color: $search-background-color;\n border-top: 0;\n border-right: 0;\n border-bottom: 0;\n border-left: 0;\n border-radius: 0;\n\n @include mq(md) {\n padding-top: $gutter-spacing-sm;\n padding-bottom: $gutter-spacing-sm;\n padding-left: #{$gutter-spacing + $sp-5};\n font-size: 14px;\n background-color: $body-background-color;\n transition: padding-left linear #{$transition-duration / 2};\n }\n\n &:focus {\n outline: 0;\n\n + .search-label .search-icon {\n color: $link-color;\n }\n }\n}\n\n.search-label {\n position: absolute;\n display: flex;\n height: 100%;\n padding-left: $gutter-spacing-sm;\n\n @include mq(md) {\n padding-left: $gutter-spacing;\n transition: padding-left linear #{$transition-duration / 2};\n }\n\n .search-icon {\n width: #{$sp-4 * 1.2};\n height: #{$sp-4 * 1.2};\n align-self: center;\n color: $grey-dk-000;\n }\n}\n\n.search-results {\n position: absolute;\n left: 0;\n display: none;\n width: 100%;\n max-height: calc(100% - #{$sp-10});\n overflow-y: auto;\n background-color: $search-background-color;\n border-bottom-right-radius: $border-radius;\n border-bottom-left-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n\n @include mq(md) {\n top: 100%;\n width: $search-results-width;\n max-height: calc(100vh - 200%) !important;\n }\n}\n\n.search-results-list {\n padding-left: 0;\n margin-bottom: $sp-1;\n list-style: none;\n @include fs-4;\n\n @include mq(md) {\n @include fs-3;\n }\n}\n\n.search-results-list-item {\n padding: 0;\n margin: 0;\n}\n\n.search-result {\n display: block;\n padding-top: $sp-1;\n padding-right: $sp-3;\n padding-bottom: $sp-1;\n padding-left: $sp-3;\n\n &:hover,\n &.active {\n background-color: $feedback-color;\n }\n}\n\n.search-result-title {\n display: block;\n padding-top: $sp-2;\n padding-bottom: $sp-2;\n\n @include mq(sm) {\n display: inline-block;\n width: 40%;\n padding-right: $sp-2;\n vertical-align: top;\n }\n}\n\n.search-result-doc {\n display: flex;\n align-items: center;\n word-wrap: break-word;\n\n &.search-result-doc-parent {\n opacity: 0.5;\n @include fs-3;\n\n @include mq(md) {\n @include fs-2;\n }\n }\n\n .search-result-icon {\n width: $sp-4;\n height: $sp-4;\n margin-right: $sp-2;\n color: $link-color;\n flex-shrink: 0;\n }\n\n .search-result-doc-title {\n overflow: auto;\n }\n}\n\n.search-result-section {\n margin-left: #{$sp-4 + $sp-2};\n word-wrap: break-word;\n}\n\n.search-result-rel-url {\n display: block;\n margin-left: #{$sp-4 + $sp-2};\n overflow: hidden;\n color: $search-result-preview-color;\n text-overflow: ellipsis;\n white-space: nowrap;\n @include fs-1;\n}\n\n.search-result-previews {\n display: block;\n padding-top: $sp-2;\n padding-bottom: $sp-2;\n padding-left: $sp-4;\n margin-left: $sp-2;\n color: $search-result-preview-color;\n word-wrap: break-word;\n border-left: $border;\n border-left-color: $border-color;\n @include fs-2;\n\n @include mq(sm) {\n display: inline-block;\n width: 60%;\n padding-left: $sp-2;\n margin-left: 0;\n vertical-align: top;\n }\n}\n\n.search-result-preview + .search-result-preview {\n margin-top: $sp-1;\n}\n\n.search-result-highlight {\n font-weight: bold;\n}\n\n.search-no-result {\n padding-top: $sp-2;\n padding-right: $sp-3;\n padding-bottom: $sp-2;\n padding-left: $sp-3;\n @include fs-3;\n}\n\n.search-button {\n position: fixed;\n right: $sp-4;\n bottom: $sp-4;\n display: flex;\n width: $sp-9;\n height: $sp-9;\n background-color: $search-background-color;\n border: 1px solid rgba($link-color, 0.3);\n border-radius: #{$sp-9 / 2};\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n align-items: center;\n justify-content: center;\n}\n\n.search-overlay {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1;\n width: 0;\n height: 0;\n background-color: rgba(0, 0, 0, 0.3);\n opacity: 0;\n transition: opacity ease $transition-duration, width 0s $transition-duration,\n height 0s $transition-duration;\n}\n\n.search-active {\n .search {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n padding: 0;\n }\n\n .search-input-wrap {\n height: $sp-10;\n border-radius: 0;\n\n @include mq(md) {\n width: $search-results-width;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n }\n }\n\n .search-input {\n background-color: $search-background-color;\n\n @include mq(md) {\n padding-left: #{$sp-4 * 1.25 + $sp-5};\n }\n }\n\n .search-label {\n @include mq(md) {\n padding-left: #{$sp-4 * 1.25};\n }\n }\n\n .search-results {\n display: block;\n }\n\n .search-overlay {\n width: 100%;\n height: 100%;\n opacity: 1;\n transition: opacity ease $transition-duration, width 0s, height 0s;\n }\n\n @include mq(md) {\n .main {\n position: fixed;\n right: 0;\n left: 0;\n }\n }\n\n .main-header {\n padding-top: $sp-10;\n\n @include mq(md) {\n padding-top: 0;\n }\n }\n}\n", - "//\n// Tables\n//\n// stylelint-disable max-nesting-depth, selector-no-type, selector-max-type\n\n.table-wrapper {\n display: block;\n width: 100%;\n max-width: 100%;\n margin-bottom: $sp-5;\n overflow-x: auto;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n}\n\ntable {\n display: table;\n min-width: 100%;\n border-collapse: separate;\n}\n\nth,\ntd {\n @include fs-3;\n min-width: 120px;\n padding-top: $sp-2;\n padding-right: $sp-3;\n padding-bottom: $sp-2;\n padding-left: $sp-3;\n background-color: $table-background-color;\n border-bottom: $border rgba($border-color, 0.5);\n border-left: $border $border-color;\n\n &:first-of-type {\n border-left: 0;\n }\n}\n\ntbody {\n tr {\n &:last-of-type {\n th,\n td {\n border-bottom: 0;\n }\n\n td {\n padding-bottom: $sp-3;\n }\n }\n }\n}\n\nthead {\n th {\n border-bottom: $border $border-color;\n }\n}\n", - "//\n// Code and syntax highlighting\n//\n// stylelint-disable selector-no-qualifying-type, declaration-block-semicolon-newline-after,declaration-block-single-line-max-declarations, selector-no-type, selector-max-type\n\ncode {\n padding: 0.2em 0.15em;\n font-weight: 400;\n background-color: $code-background-color;\n border: $border $border-color;\n border-radius: $border-radius;\n}\n\npre.highlight,\nfigure.highlight {\n padding: $sp-3;\n margin-top: 0;\n margin-bottom: 0;\n background-color: $code-background-color;\n border-radius: $border-radius;\n -webkit-overflow-scrolling: touch;\n\n code {\n padding: 0;\n border: 0;\n }\n}\n\n.highlighter-rouge {\n margin-bottom: $sp-3;\n}\n\n.highlight .c {\n color: #586e75;\n} // comment //\n.highlight .err {\n color: #93a1a1;\n} // error //\n.highlight .g {\n color: #93a1a1;\n} // generic //\n.highlight .k {\n color: #859900;\n} // keyword //\n.highlight .l {\n color: #93a1a1;\n} // literal //\n.highlight .n {\n color: #93a1a1;\n} // name //\n.highlight .o {\n color: #859900;\n} // operator //\n.highlight .x {\n color: #cb4b16;\n} // other //\n.highlight .p {\n color: #93a1a1;\n} // punctuation //\n.highlight .cm {\n color: #586e75;\n} // comment.multiline //\n.highlight .cp {\n color: #859900;\n} // comment.preproc //\n.highlight .c1 {\n color: #586e75;\n} // comment.single //\n.highlight .cs {\n color: #859900;\n} // comment.special //\n.highlight .gd {\n color: #2aa198;\n} // generic.deleted //\n.highlight .ge {\n font-style: italic;\n color: #93a1a1;\n} // generic.emph //\n.highlight .gr {\n color: #dc322f;\n} // generic.error //\n.highlight .gh {\n color: #cb4b16;\n} // generic.heading //\n.highlight .gi {\n color: #859900;\n} // generic.inserted //\n.highlight .go {\n color: #93a1a1;\n} // generic.output //\n.highlight .gp {\n color: #93a1a1;\n} // generic.prompt //\n.highlight .gs {\n font-weight: bold;\n color: #93a1a1;\n} // generic.strong //\n.highlight .gu {\n color: #cb4b16;\n} // generic.subheading //\n.highlight .gt {\n color: #93a1a1;\n} // generic.traceback //\n.highlight .kc {\n color: #cb4b16;\n} // keyword.constant //\n.highlight .kd {\n color: #268bd2;\n} // keyword.declaration //\n.highlight .kn {\n color: #859900;\n} // keyword.namespace //\n.highlight .kp {\n color: #859900;\n} // keyword.pseudo //\n.highlight .kr {\n color: #268bd2;\n} // keyword.reserved //\n.highlight .kt {\n color: #dc322f;\n} // keyword.type //\n.highlight .ld {\n color: #93a1a1;\n} // literal.date //\n.highlight .m {\n color: #2aa198;\n} // literal.number //\n.highlight .s {\n color: #2aa198;\n} // literal.string //\n.highlight .na {\n color: #555;\n} // name.attribute //\n.highlight .nb {\n color: #b58900;\n} // name.builtin //\n.highlight .nc {\n color: #268bd2;\n} // name.class //\n.highlight .no {\n color: #cb4b16;\n} // name.constant //\n.highlight .nd {\n color: #268bd2;\n} // name.decorator //\n.highlight .ni {\n color: #cb4b16;\n} // name.entity //\n.highlight .ne {\n color: #cb4b16;\n} // name.exception //\n.highlight .nf {\n color: #268bd2;\n} // name.function //\n.highlight .nl {\n color: #555;\n} // name.label //\n.highlight .nn {\n color: #93a1a1;\n} // name.namespace //\n.highlight .nx {\n color: #555;\n} // name.other //\n.highlight .py {\n color: #93a1a1;\n} // name.property //\n.highlight .nt {\n color: #268bd2;\n} // name.tag //\n.highlight .nv {\n color: #268bd2;\n} // name.variable //\n.highlight .ow {\n color: #859900;\n} // operator.word //\n.highlight .w {\n color: #93a1a1;\n} // text.whitespace //\n.highlight .mf {\n color: #2aa198;\n} // literal.number.float //\n.highlight .mh {\n color: #2aa198;\n} // literal.number.hex //\n.highlight .mi {\n color: #2aa198;\n} // literal.number.integer //\n.highlight .mo {\n color: #2aa198;\n} // literal.number.oct //\n.highlight .sb {\n color: #586e75;\n} // literal.string.backtick //\n.highlight .sc {\n color: #2aa198;\n} // literal.string.char //\n.highlight .sd {\n color: #93a1a1;\n} // literal.string.doc //\n.highlight .s2 {\n color: #2aa198;\n} // literal.string.double //\n.highlight .se {\n color: #cb4b16;\n} // literal.string.escape //\n.highlight .sh {\n color: #93a1a1;\n} // literal.string.heredoc //\n.highlight .si {\n color: #2aa198;\n} // literal.string.interpol //\n.highlight .sx {\n color: #2aa198;\n} // literal.string.other //\n.highlight .sr {\n color: #dc322f;\n} // literal.string.regex //\n.highlight .s1 {\n color: #2aa198;\n} // literal.string.single //\n.highlight .ss {\n color: #2aa198;\n} // literal.string.symbol //\n.highlight .bp {\n color: #268bd2;\n} // name.builtin.pseudo //\n.highlight .vc {\n color: #268bd2;\n} // name.variable.class //\n.highlight .vg {\n color: #268bd2;\n} // name.variable.global //\n.highlight .vi {\n color: #268bd2;\n} // name.variable.instance //\n.highlight .il {\n color: #2aa198;\n} // literal.number.integer.long //\n\n//\n// Code examples (rendered)\n//\n\n.code-example {\n padding: $sp-3;\n margin-bottom: $sp-3;\n overflow: auto;\n border: 1px solid $border-color;\n border-radius: $border-radius;\n\n + .highlighter-rouge,\n + figure.highlight {\n position: relative;\n margin-top: -$sp-4;\n border-right: 1px solid $border-color;\n border-bottom: 1px solid $border-color;\n border-left: 1px solid $border-color;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n}\n", - "@import \"./colors\";\n@import \"./layout\";\n@import \"./typography\";\n@import \"./lists\";\n@import \"./spacing\";\n", - "//\n// Utility classes for colors\n//\n\n// Text colors\n\n.text-grey-dk-000 {\n color: $grey-dk-000 !important;\n}\n\n.text-grey-dk-100 {\n color: $grey-dk-100 !important;\n}\n\n.text-grey-dk-200 {\n color: $grey-dk-200 !important;\n}\n\n.text-grey-dk-250 {\n color: $grey-dk-250 !important;\n}\n\n.text-grey-dk-300 {\n color: $grey-dk-300 !important;\n}\n\n.text-grey-lt-000 {\n color: $grey-lt-000 !important;\n}\n\n.text-grey-lt-100 {\n color: $grey-lt-100 !important;\n}\n\n.text-grey-lt-200 {\n color: $grey-lt-200 !important;\n}\n\n.text-grey-lt-300 {\n color: $grey-lt-300 !important;\n}\n\n.text-blue-000 {\n color: $blue-000 !important;\n}\n\n.text-blue-100 {\n color: $blue-100 !important;\n}\n\n.text-blue-200 {\n color: $blue-200 !important;\n}\n\n.text-blue-300 {\n color: $blue-300 !important;\n}\n\n.text-green-000 {\n color: $green-000 !important;\n}\n\n.text-green-100 {\n color: $green-100 !important;\n}\n\n.text-green-200 {\n color: $green-200 !important;\n}\n\n.text-green-300 {\n color: $green-300 !important;\n}\n\n.text-purple-000 {\n color: $purple-000 !important;\n}\n\n.text-purple-100 {\n color: $purple-100 !important;\n}\n\n.text-purple-200 {\n color: $purple-200 !important;\n}\n\n.text-purple-300 {\n color: $purple-300 !important;\n}\n\n.text-yellow-000 {\n color: $yellow-000 !important;\n}\n\n.text-yellow-100 {\n color: $yellow-100 !important;\n}\n\n.text-yellow-200 {\n color: $yellow-200 !important;\n}\n\n.text-yellow-300 {\n color: $yellow-300 !important;\n}\n\n.text-red-000 {\n color: $red-000 !important;\n}\n\n.text-red-100 {\n color: $red-100 !important;\n}\n\n.text-red-200 {\n color: $red-200 !important;\n}\n\n.text-red-300 {\n color: $red-300 !important;\n}\n\n// Background colors\n\n.bg-grey-dk-000 {\n background-color: $grey-dk-000 !important;\n}\n\n.bg-grey-dk-100 {\n background-color: $grey-dk-100 !important;\n}\n\n.bg-grey-dk-200 {\n background-color: $grey-dk-200 !important;\n}\n\n.bg-grey-dk-250 {\n background-color: $grey-dk-250 !important;\n}\n\n.bg-grey-dk-300 {\n background-color: $grey-dk-300 !important;\n}\n\n.bg-grey-lt-000 {\n background-color: $grey-lt-000 !important;\n}\n\n.bg-grey-lt-100 {\n background-color: $grey-lt-100 !important;\n}\n\n.bg-grey-lt-200 {\n background-color: $grey-lt-200 !important;\n}\n\n.bg-grey-lt-300 {\n background-color: $grey-lt-300 !important;\n}\n\n.bg-blue-000 {\n background-color: $blue-000 !important;\n}\n\n.bg-blue-100 {\n background-color: $blue-100 !important;\n}\n\n.bg-blue-200 {\n background-color: $blue-200 !important;\n}\n\n.bg-blue-300 {\n background-color: $blue-300 !important;\n}\n\n.bg-green-000 {\n background-color: $green-000 !important;\n}\n\n.bg-green-100 {\n background-color: $green-100 !important;\n}\n\n.bg-green-200 {\n background-color: $green-200 !important;\n}\n\n.bg-green-300 {\n background-color: $green-300 !important;\n}\n\n.bg-purple-000 {\n background-color: $purple-000 !important;\n}\n\n.bg-purple-100 {\n background-color: $purple-100 !important;\n}\n\n.bg-purple-200 {\n background-color: $purple-200 !important;\n}\n\n.bg-purple-300 {\n background-color: $purple-300 !important;\n}\n\n.bg-yellow-000 {\n background-color: $yellow-000 !important;\n}\n\n.bg-yellow-100 {\n background-color: $yellow-100 !important;\n}\n\n.bg-yellow-200 {\n background-color: $yellow-200 !important;\n}\n\n.bg-yellow-300 {\n background-color: $yellow-300 !important;\n}\n\n.bg-red-000 {\n background-color: $red-000 !important;\n}\n\n.bg-red-100 {\n background-color: $red-100 !important;\n}\n\n.bg-red-200 {\n background-color: $red-200 !important;\n}\n\n.bg-red-300 {\n background-color: $red-300 !important;\n}\n", - "// stylelint-disable primer/selector-no-utility, primer/no-override\n//\n// Utility classes for layout\n//\n\n// Display\n\n.d-block {\n display: block !important;\n}\n.d-flex {\n display: flex !important;\n}\n.d-inline {\n display: inline !important;\n}\n.d-inline-block {\n display: inline-block !important;\n}\n.d-none {\n display: none !important;\n}\n\n@each $media-query in map-keys($media-queries) {\n @for $i from 1 through length($spacers) {\n @include mq($media-query) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .d-sm-block, .d-md-none, .d-lg-inline\n .d-#{$media-query}-block {\n display: block !important;\n }\n .d-#{$media-query}-flex {\n display: flex !important;\n }\n .d-#{$media-query}-inline {\n display: inline !important;\n }\n .d-#{$media-query}-inline-block {\n display: inline-block !important;\n }\n .d-#{$media-query}-none {\n display: none !important;\n }\n }\n }\n}\n\n// Horizontal alignment\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.flex-justify-start {\n justify-content: flex-start !important;\n}\n\n.flex-justify-end {\n justify-content: flex-end !important;\n}\n\n.flex-justify-between {\n justify-content: space-between !important;\n}\n\n.flex-justify-around {\n justify-content: space-around !important;\n}\n\n// Vertical alignment\n\n.v-align-baseline {\n vertical-align: baseline !important;\n}\n.v-align-bottom {\n vertical-align: bottom !important;\n}\n.v-align-middle {\n vertical-align: middle !important;\n}\n.v-align-text-bottom {\n vertical-align: text-bottom !important;\n}\n.v-align-text-top {\n vertical-align: text-top !important;\n}\n.v-align-top {\n vertical-align: top !important;\n}\n", - "//\n// Utility classes for typography\n//\n\n// stylelint-disable primer/selector-no-utility, primer/no-override\n\n.fs-1 {\n @include fs-1;\n}\n\n.fs-2 {\n @include fs-2;\n}\n\n.fs-3 {\n @include fs-3;\n}\n\n.fs-4 {\n @include fs-4;\n}\n\n.fs-5 {\n @include fs-5;\n}\n\n.fs-6 {\n @include fs-6;\n}\n\n.fs-7 {\n @include fs-7;\n}\n\n.fs-8 {\n @include fs-8;\n}\n\n.fs-9 {\n @include fs-9;\n}\n\n.fs-10 {\n @include fs-10;\n}\n\n.fw-300 {\n font-weight: 300 !important;\n}\n\n.fw-400 {\n font-weight: 400 !important;\n}\n\n.fw-500 {\n font-weight: 500 !important;\n}\n\n.fw-700 {\n font-weight: 700 !important;\n}\n\n.lh-0 {\n line-height: 0 !important;\n}\n\n.lh-default {\n line-height: $body-line-height;\n}\n\n.lh-tight {\n line-height: $body-heading-line-height;\n}\n\n.ls-5 {\n letter-spacing: 0.05em !important;\n}\n\n.ls-10 {\n letter-spacing: 0.1em !important;\n}\n\n.ls-0 {\n letter-spacing: 0 !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n// stylelint-enable primer/selector-no-utility\n", - "//\n// Utility classes for lists\n//\n\n// stylelint-disable primer/selector-no-utility, primer/no-override, selector-max-type\n\n.list-style-none {\n padding: 0 !important;\n margin: 0 !important;\n list-style: none !important;\n\n li {\n &::before {\n display: none !important;\n }\n }\n}\n", - "//\n// Utility classes for margins and padding\n//\n\n// scss-lint:disable SpaceAfterPropertyName\n// stylelint-disable block-opening-brace-space-after, block-opening-brace-space-before, primer/selector-no-utility, primer/no-override\n\n// Margin spacer utilities\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n@for $i from 1 through length($spacers) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .m-0, .m-1, .m-2...\n .m-#{$scale} {\n margin: #{$size} !important;\n }\n .mt-#{$scale} {\n margin-top: #{$size} !important;\n }\n .mr-#{$scale} {\n margin-right: #{$size} !important;\n }\n .mb-#{$scale} {\n margin-bottom: #{$size} !important;\n }\n .ml-#{$scale} {\n margin-left: #{$size} !important;\n }\n\n .mx-#{$scale} {\n margin-right: #{$size} !important;\n margin-left: #{$size} !important;\n }\n\n .my-#{$scale} {\n margin-top: #{$size} !important;\n margin-bottom: #{$size} !important;\n }\n\n .mxn-#{$scale} {\n margin-right: -#{$size} !important;\n margin-left: -#{$size} !important;\n }\n .mx-#{$scale}-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n}\n\n@each $media-query in map-keys($media-queries) {\n @for $i from 1 through length($spacers) {\n @include mq($media-query) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .m-sm-0, .m-md-1, .m-lg-2...\n .m-#{$media-query}-#{$scale} {\n margin: #{$size} !important;\n }\n .mt-#{$media-query}-#{$scale} {\n margin-top: #{$size} !important;\n }\n .mr-#{$media-query}-#{$scale} {\n margin-right: #{$size} !important;\n }\n .mb-#{$media-query}-#{$scale} {\n margin-bottom: #{$size} !important;\n }\n .ml-#{$media-query}-#{$scale} {\n margin-left: #{$size} !important;\n }\n\n .mx-#{$media-query}-#{$scale} {\n margin-right: #{$size} !important;\n margin-left: #{$size} !important;\n }\n\n .my-#{$media-query}-#{$scale} {\n margin-top: #{$size} !important;\n margin-bottom: #{$size} !important;\n }\n\n .mxn-#{$media-query}-#{$scale} {\n margin-right: -#{$size} !important;\n margin-left: -#{$size} !important;\n }\n }\n }\n}\n\n// Padding spacer utilities\n\n@for $i from 1 through length($spacers) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .p-0, .p-1, .p-2...\n .p-#{$scale} {\n padding: #{$size} !important;\n }\n .pt-#{$scale} {\n padding-top: #{$size} !important;\n }\n .pr-#{$scale} {\n padding-right: #{$size} !important;\n }\n .pb-#{$scale} {\n padding-bottom: #{$size} !important;\n }\n .pl-#{$scale} {\n padding-left: #{$size} !important;\n }\n\n .px-#{$scale} {\n padding-right: #{$size} !important;\n padding-left: #{$size} !important;\n }\n\n .py-#{$scale} {\n padding-top: #{$size} !important;\n padding-bottom: #{$size} !important;\n }\n}\n\n@each $media-query in map-keys($media-queries) {\n @include mq($media-query) {\n @for $i from 1 through length($spacers) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .p-sm-0, .p-md-1, .p-lg-2...\n .p-#{$media-query}-#{$scale} {\n padding: #{$size} !important;\n }\n .pt-#{$media-query}-#{$scale} {\n padding-top: #{$size} !important;\n }\n .pr-#{$media-query}-#{$scale} {\n padding-right: #{$size} !important;\n }\n .pb-#{$media-query}-#{$scale} {\n padding-bottom: #{$size} !important;\n }\n .pl-#{$media-query}-#{$scale} {\n padding-left: #{$size} !important;\n }\n\n .px-#{$media-query}-#{$scale} {\n padding-right: #{$size} !important;\n padding-left: #{$size} !important;\n }\n\n .py-#{$media-query}-#{$scale} {\n padding-top: #{$size} !important;\n padding-bottom: #{$size} !important;\n }\n }\n }\n}\n", - "// stylelint-disable selector-max-specificity, selector-max-id, selector-max-type, selector-no-qualifying-type, primer/no-override,\n\n@media print {\n .site-footer,\n .site-button,\n #edit-this-page,\n #back-to-top,\n .site-nav,\n .main-header {\n display: none !important;\n }\n\n .side-bar {\n width: 100%;\n height: auto;\n border-right: 0 !important;\n }\n\n .site-header {\n border-bottom: 1px solid $border-color;\n }\n\n .site-title {\n font-size: $root-font-size !important;\n font-weight: 700 !important;\n }\n\n .text-small {\n font-size: 8pt !important;\n }\n\n pre.highlight {\n border: 1px solid $border-color;\n }\n\n .main {\n max-width: none;\n margin-left: 0;\n }\n}\n", - "/*\n * Just The Docs theme style overrides\n *\n * https://pmarsceill.github.io/just-the-docs/docs/customization/#override-and-completely-custom-styles\n */\n\na {\n /* Unset \"nowrap\" to prevent horzontal scrolling on mobile */\n white-space: unset !important;\n}\n\n/*\n * Remove column min-width\n */\nth, td {\n min-width: unset;\n}\n\na.external:after {\n content: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAVklEQVR4Xn3PgQkAMQhDUXfqTu7kTtkpd5RA8AInfArtQ2iRXFWT2QedAfttj2FsPIOE1eCOlEuoWWjgzYaB/IkeGOrxXhqB+uA9Bfcm0lAZuh+YIeAD+cAqSz4kCMUAAAAASUVORK5CYII=);\n vertical-align: baseline;\n position: relative;\n top: -0.4em;\n left: 0.1em;\n}\n" - ], - "names": [], - "mappings": "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" -} \ No newline at end of file diff --git a/assets/css/just-the-docs-default.css b/assets/css/just-the-docs-default.css deleted file mode 100644 index 68d4cdd21..000000000 --- a/assets/css/just-the-docs-default.css +++ /dev/null @@ -1,1570 +0,0 @@ -@charset "UTF-8"; -code { border: none !important; } - -.highlight { border-radius: 8px !important; } - -.cp-warning { border: 2px solid #F5C752; background-color: #FAF4E7; border-radius: 16px; padding: 8px 16px; margin-bottom: 25px; } - -.cp-badge { border-radius: 9999px; background-color: #F5FAFD; padding: 0.2rem; font-weight: 500; font-size: x-small; } - -.search-icon { color: #FF5C00 !important; } - -.search-overlay { background-color: rgba(166, 140, 115, 0.15) !important; } - -@media (min-width: 50rem) { .search-input-wrap { box-shadow: none !important; } } - -.table-wrapper, .search-input-wrap, .search-button { box-shadow: 0 1px 2px rgba(248, 223, 149, 0.5), 0 3px 10px rgba(248, 223, 149, 0.25) !important; } - -.site-title, .site-button { color: #232323; } - -.site-title:hover, .site-button:hover { background: #FBECC9 !important; } - -.site-title:active, .site-button:active { background: #F8DF95 !important; } - -.nav-list-link:hover, .nav-list-link.active { background-image: linear-gradient(-90deg, #FBECC9 0%, #FBECC9 80%, #FAF4E7 100%) !important; } - -.nav-list .nav-list-item .nav-list-expander:hover { background: #FBECC9 !important; } - -a:not([class]) { background-image: linear-gradient(#FF5C00 0%, #FF5C00 100%) !important; } - -a:not([class]):hover { background-image: linear-gradient(#232323 0%, #232323 100%) !important; } - -/*! normalize.scss v0.1.0 | MIT License | based on git.io/normalize */ -/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ -html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } - -/** Remove default margin. */ -body { margin: 0; } - -/* HTML5 display definitions ========================================================================== */ -/** Correct `block` display not defined for any HTML5 element in IE 8/9. Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox. Correct `block` display not defined for `main` in IE 11. */ -article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; } - -/** 1. Correct `inline-block` display not defined in IE 8/9. 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. */ -audio, canvas, progress, video { display: inline-block; /* 1 */ vertical-align: baseline; /* 2 */ } - -/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ -audio:not([controls]) { display: none; height: 0; } - -/** Address `[hidden]` styling not present in IE 8/9/10. Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. */ -[hidden], template { display: none; } - -/* Links ========================================================================== */ -/** Remove the gray background color from active links in IE 10. */ -a { background-color: transparent; } - -/** Improve readability when focused and also mouse hovered in all browsers. */ -a:active, a:hover { outline: 0; } - -/* Text-level semantics ========================================================================== */ -/** Address styling not present in IE 8/9/10/11, Safari, and Chrome. */ -abbr[title] { border-bottom: 1px dotted; } - -/** Address style set to `bolder` in Firefox 4+, Safari, and Chrome. */ -b, strong { font-weight: bold; } - -/** Address styling not present in Safari and Chrome. */ -dfn { font-style: italic; } - -/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari, and Chrome. */ -h1 { font-size: 2em; margin: 0.67em 0; } - -/** Address styling not present in IE 8/9. */ -mark { background: #ff0; color: #000; } - -/** Address inconsistent and variable font size in all browsers. */ -small { font-size: 80%; } - -/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ -sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } - -sup { top: -0.5em; } - -sub { bottom: -0.25em; } - -/* Embedded content ========================================================================== */ -/** Remove border when inside `a` element in IE 8/9/10. */ -img { border: 0; } - -/** Correct overflow not hidden in IE 9/10/11. */ -svg:not(:root) { overflow: hidden; } - -/* Grouping content ========================================================================== */ -/** Address margin not present in IE 8/9 and Safari. */ -figure { margin: 1em 40px; } - -/** Address differences between Firefox and other browsers. */ -hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } - -/** Contain overflow in all browsers. */ -pre { overflow: auto; } - -/** Address odd `em`-unit font size rendering in all browsers. */ -code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; } - -/* Forms ========================================================================== */ -/** Known limitation: by default, Chrome and Safari on OS X allow very limited styling of `select`, unless a `border` property is set. */ -/** 1. Correct color not being inherited. Known issue: affects color of disabled elements. 2. Correct font properties not being inherited. 3. Address margins set differently in Firefox 4+, Safari, and Chrome. */ -button, input, optgroup, select, textarea { color: inherit; /* 1 */ font: inherit; /* 2 */ margin: 0; /* 3 */ } - -/** Address `overflow` set to `hidden` in IE 8/9/10/11. */ -button { overflow: visible; } - -/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. Correct `select` style inheritance in Firefox. */ -button, select { text-transform: none; } - -/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ -button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } - -/** Re-set default cursor for disabled elements. */ -button[disabled], html input[disabled] { cursor: default; } - -/** Remove inner padding and border in Firefox 4+. */ -button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } - -/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ -input { line-height: normal; } - -/** It's recommended that you don't attempt to style these elements. Firefox's implementation doesn't respect box-sizing, padding, or width. 1. Address box sizing set to `content-box` in IE 8/9/10. 2. Remove excess padding in IE 8/9/10. */ -input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } - -/** Fix the cursor style for Chrome's increment/decrement buttons. For certain `font-size` values of the `input`, it causes the cursor style of the decrement button to change from `default` to `text`. */ -input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; } - -/** 1. Address `appearance` set to `searchfield` in Safari and Chrome. 2. Address `box-sizing` set to `border-box` in Safari and Chrome (include `-moz` to future-proof). */ -input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } - -/** Remove inner padding and search cancel button in Safari and Chrome on OS X. Safari (but not Chrome) clips the cancel button when the search input has padding (and `textfield` appearance). */ -input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } - -/** Define consistent border, margin, and padding. */ -fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } - -/** 1. Correct `color` not being inherited in IE 8/9/10/11. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ -legend { border: 0; /* 1 */ padding: 0; /* 2 */ } - -/** Remove default vertical scrollbar in IE 8/9/10/11. */ -textarea { overflow: auto; } - -/** Don't inherit the `font-weight` (applied by a rule above). NOTE: the default cannot safely be changed in Chrome and Safari on OS X. */ -optgroup { font-weight: bold; } - -/* Tables ========================================================================== */ -/** Remove most spacing between table cells. */ -table { border-collapse: collapse; border-spacing: 0; } - -td, th { padding: 0; } - -* { box-sizing: border-box; } - -::selection { color: #fff; background: #FF5C00; } - -html { font-size: 15px !important; scroll-behavior: smooth; } - -@media (min-width: 31.25rem) { html { font-size: 16px !important; } } - -body { font-family: -apple-system, BlinkMacSystemFont, "helvetica neue", helvetica, roboto, noto, "segoe ui", arial, sans-serif; font-size: inherit; line-height: 1.4; color: #5c5962; background-color: #fff; } - -ol, ul, dl, pre, address, blockquote, table, div, hr, form, fieldset, noscript .table-wrapper { margin-top: 0; } - -h1, h2, h3, h4, h5, h6 { margin-top: 0; margin-bottom: 1em; font-weight: 500; line-height: 1.25; color: #27262b; } - -p { margin-top: 1em; margin-bottom: 1em; } - -a { color: #FF5C00; text-decoration: none; } - -a:not([class]) { text-decoration: none; background-image: linear-gradient(#FBECC9 0%, #FBECC9 100%); background-repeat: repeat-x; background-position: 0 100%; background-size: 1px 1px; } - -a:not([class]):hover { background-image: linear-gradient(rgba(255, 92, 0, 0.45) 0%, rgba(255, 92, 0, 0.45) 100%); background-size: 1px 1px; } - -code { font-family: "SFMono-Regular", Menlo, Consolas, Monospace; font-size: 0.75em; line-height: 1.4; } - -figure, pre { margin: 0; } - -li { margin: 0.25em 0; } - -img { max-width: 100%; height: auto; } - -hr { height: 1px; padding: 0; margin: 2rem 0; background-color: #FBECC9; border: 0; } - -.side-bar { z-index: 0; display: flex; flex-wrap: wrap; background-color: #FAF4E7; } - -@media (min-width: 50rem) { .side-bar { flex-wrap: nowrap; position: fixed; width: 248px; height: 100%; flex-direction: column; border-right: 1px solid #FBECC9; align-items: flex-end; } } - -@media (min-width: 66.5rem) { .side-bar { width: calc((100% - 1064px) / 2 + 264px); min-width: 264px; } } - -@media (min-width: 50rem) { .main { position: relative; max-width: 800px; margin-left: 248px; } } - -@media (min-width: 66.5rem) { .main { margin-left: calc( (100% - 1064px) / 2 + 264px); } } - -.main-content-wrap { padding-right: 1rem; padding-left: 1rem; padding-top: 1rem; padding-bottom: 1rem; } - -@media (min-width: 50rem) { .main-content-wrap { padding-right: 2rem; padding-left: 2rem; } } - -@media (min-width: 50rem) { .main-content-wrap { padding-top: 2rem; padding-bottom: 2rem; } } - -.main-header { z-index: 0; display: none; background-color: #FAF4E7; } - -@media (min-width: 50rem) { .main-header { display: flex; justify-content: space-between; height: 60px; background-color: #fff; border-bottom: 1px solid #FBECC9; } } - -.main-header.nav-open { display: block; } - -@media (min-width: 50rem) { .main-header.nav-open { display: flex; } } - -.site-nav, .site-header, .site-footer { width: 100%; } - -@media (min-width: 66.5rem) { .site-nav, .site-header, .site-footer { width: 264px; } } - -.site-nav { display: none; } - -.site-nav.nav-open { display: block; } - -@media (min-width: 50rem) { .site-nav { display: block; padding-top: 3rem; padding-bottom: 1rem; overflow-y: auto; flex: 1 1 auto; } } - -.site-header { display: flex; min-height: 60px; align-items: center; } - -@media (min-width: 50rem) { .site-header { height: 60px; max-height: 60px; border-bottom: 1px solid #FBECC9; } } - -.site-title { padding-right: 1rem; padding-left: 1rem; flex-grow: 1; display: flex; height: 100%; align-items: center; padding-top: 0.75rem; padding-bottom: 0.75rem; color: #27262b; font-size: 18px !important; } - -@media (min-width: 50rem) { .site-title { padding-right: 2rem; padding-left: 2rem; } } - -@media (min-width: 31.25rem) { .site-title { font-size: 24px !important; line-height: 1.25; } } - -@media (min-width: 50rem) { .site-title { padding-top: 0.5rem; padding-bottom: 0.5rem; } } - -.site-button { display: flex; height: 100%; padding: 1rem; align-items: center; } - -@media (min-width: 50rem) { .site-header .site-button { display: none; } } - -.site-title:hover { background-image: linear-gradient(-90deg, #ebedf5 0%, rgba(235, 237, 245, 0.8) 80%, rgba(235, 237, 245, 0) 100%); } - -.site-button:hover { background-image: linear-gradient(-90deg, #ebedf5 0%, rgba(235, 237, 245, 0.8) 100%); } - -body { position: relative; padding-bottom: 4rem; overflow-y: scroll; } - -@media (min-width: 50rem) { body { position: static; padding-bottom: 0; } } - -.site-footer { padding-right: 1rem; padding-left: 1rem; position: absolute; bottom: 0; left: 0; padding-top: 1rem; padding-bottom: 1rem; color: #959396; font-size: 11px !important; } - -@media (min-width: 50rem) { .site-footer { padding-right: 2rem; padding-left: 2rem; } } - -@media (min-width: 31.25rem) { .site-footer { font-size: 12px !important; } } - -@media (min-width: 50rem) { .site-footer { position: static; justify-self: end; } } - -.icon { width: 1.5rem; height: 1.5rem; color: #FF5C00; } - -.main-content { line-height: 1.6; } - -.main-content ol, .main-content ul, .main-content dl, .main-content pre, .main-content address, .main-content blockquote, .main-content .table-wrapper { margin-top: 0.5em; } - -.main-content a { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } - -.main-content ul, .main-content ol { padding-left: 1.5em; } - -.main-content li .highlight { margin-top: 0.25rem; } - -.main-content ol { list-style-type: none; counter-reset: step-counter; } - -.main-content ol > li { position: relative; } - -.main-content ol > li::before { position: absolute; top: 0.2em; left: -1.6em; color: #959396; content: counter(step-counter); counter-increment: step-counter; font-size: 12px !important; } - -@media (min-width: 31.25rem) { .main-content ol > li::before { font-size: 14px !important; } } - -@media (min-width: 31.25rem) { .main-content ol > li::before { top: 0.11em; } } - -.main-content ol > li ol { counter-reset: sub-counter; } - -.main-content ol > li ol li::before { content: counter(sub-counter, lower-alpha); counter-increment: sub-counter; } - -.main-content ul { list-style: none; } - -.main-content ul > li::before { position: absolute; margin-left: -1.4em; color: #959396; content: "•"; } - -.main-content .task-list { padding-left: 0; } - -.main-content .task-list-item { display: flex; align-items: center; } - -.main-content .task-list-item::before { content: ""; } - -.main-content .task-list-item-checkbox { margin-right: 0.6em; } - -.main-content hr + * { margin-top: 0; } - -.main-content h1:first-of-type { margin-top: 0.5em; } - -.main-content dl { display: grid; grid-template-columns: max-content 1fr; } - -.main-content dt, .main-content dd { margin: 0.25em 0; } - -.main-content dt { text-align: right; } - -.main-content dt::after { content: ":"; } - -.main-content dd { margin-left: 1em; font-weight: 500; } - -.main-content .anchor-heading { position: absolute; right: -1rem; width: 1.5rem; height: 100%; padding-right: 0.25rem; padding-left: 0.25rem; overflow: visible; } - -@media (min-width: 50rem) { .main-content .anchor-heading { right: auto; left: -1.5rem; } } - -.main-content .anchor-heading svg { display: inline-block; width: 100%; height: 100%; color: #FF5C00; visibility: hidden; } - -.main-content .anchor-heading:hover svg, .main-content h1:hover > .anchor-heading svg, .main-content h2:hover > .anchor-heading svg, .main-content h3:hover > .anchor-heading svg, .main-content h4:hover > .anchor-heading svg, .main-content h5:hover > .anchor-heading svg, .main-content h6:hover > .anchor-heading svg { visibility: visible; } - -.main-content summary { cursor: pointer; } - -.main-content h1, .main-content h2, .main-content h3, .main-content h4, .main-content h5, .main-content h6 { position: relative; margin-top: 1.5em; margin-bottom: 0.25em; } - -.main-content h1:first-child, .main-content h2:first-child, .main-content h3:first-child, .main-content h4:first-child, .main-content h5:first-child, .main-content h6:first-child { margin-top: 0.5rem; } - -.main-content h1 + table, .main-content h1 + .table-wrapper, .main-content h1 + .code-example, .main-content h1 + .highlighter-rouge, .main-content h2 + table, .main-content h2 + .table-wrapper, .main-content h2 + .code-example, .main-content h2 + .highlighter-rouge, .main-content h3 + table, .main-content h3 + .table-wrapper, .main-content h3 + .code-example, .main-content h3 + .highlighter-rouge, .main-content h4 + table, .main-content h4 + .table-wrapper, .main-content h4 + .code-example, .main-content h4 + .highlighter-rouge, .main-content h5 + table, .main-content h5 + .table-wrapper, .main-content h5 + .code-example, .main-content h5 + .highlighter-rouge, .main-content h6 + table, .main-content h6 + .table-wrapper, .main-content h6 + .code-example, .main-content h6 + .highlighter-rouge { margin-top: 1em; } - -.main-content h1 + p, .main-content h2 + p, .main-content h3 + p, .main-content h4 + p, .main-content h5 + p, .main-content h6 + p { margin-top: 0; } - -.nav-list { padding: 0; margin-top: 0; margin-bottom: 0; list-style: none; } - -.nav-list .nav-list-item { font-size: 15px !important; position: relative; margin: 0; } - -@media (min-width: 31.25rem) { .nav-list .nav-list-item { font-size: 16px !important; } } - -@media (min-width: 50rem) { .nav-list .nav-list-item { font-size: 12px !important; } } - -@media (min-width: 50rem) and (min-width: 31.25rem) { .nav-list .nav-list-item { font-size: 14px !important; } } - -.nav-list .nav-list-item .nav-list-link { display: block; min-height: 3rem; padding-top: 0.25rem; padding-bottom: 0.25rem; line-height: 2.5rem; padding-right: 3rem; padding-left: 1rem; } - -@media (min-width: 50rem) { .nav-list .nav-list-item .nav-list-link { min-height: 2rem; line-height: 1.5rem; padding-right: 2rem; padding-left: 2rem; } } - -.nav-list .nav-list-item .nav-list-link.active { font-weight: 600; text-decoration: none; } - -.nav-list .nav-list-item .nav-list-link:hover, .nav-list .nav-list-item .nav-list-link.active { background-image: linear-gradient(-90deg, #ebedf5 0%, rgba(235, 237, 245, 0.8) 80%, rgba(235, 237, 245, 0) 100%); } - -.nav-list .nav-list-item .nav-list-expander { position: absolute; right: 0; width: 3rem; height: 3rem; padding-top: 0.75rem; padding-right: 0.75rem; padding-bottom: 0.75rem; padding-left: 0.75rem; color: #FF5C00; } - -@media (min-width: 50rem) { .nav-list .nav-list-item .nav-list-expander { width: 2rem; height: 2rem; padding-top: 0.5rem; padding-right: 0.5rem; padding-bottom: 0.5rem; padding-left: 0.5rem; } } - -.nav-list .nav-list-item .nav-list-expander:hover { background-image: linear-gradient(-90deg, #ebedf5 0%, rgba(235, 237, 245, 0.8) 100%); } - -.nav-list .nav-list-item .nav-list-expander svg { transform: rotate(90deg); } - -.nav-list .nav-list-item > .nav-list { display: none; padding-left: 0.75rem; list-style: none; } - -.nav-list .nav-list-item > .nav-list .nav-list-item { position: relative; } - -.nav-list .nav-list-item > .nav-list .nav-list-item .nav-list-link { color: #363636; } - -.nav-list .nav-list-item > .nav-list .nav-list-item .nav-list-expander { color: #363636; } - -.nav-list .nav-list-item.active > .nav-list-expander svg { transform: rotate(-90deg); } - -.nav-list .nav-list-item.active > .nav-list { display: block; } - -.aux-nav { height: 100%; overflow-x: auto; font-size: 11px !important; } - -@media (min-width: 31.25rem) { .aux-nav { font-size: 12px !important; } } - -.aux-nav .aux-nav-list { display: flex; height: 100%; padding: 0; margin: 0; list-style: none; } - -.aux-nav .aux-nav-list-item { display: inline-block; height: 100%; padding: 0; margin: 0; } - -@media (min-width: 50rem) { .aux-nav { padding-right: 1rem; } } - -@media (min-width: 50rem) { .breadcrumb-nav { margin-top: -1rem; } } - -.breadcrumb-nav-list { padding-left: 0; margin-bottom: 0.75rem; list-style: none; } - -.breadcrumb-nav-list-item { display: table-cell; font-size: 11px !important; } - -@media (min-width: 31.25rem) { .breadcrumb-nav-list-item { font-size: 12px !important; } } - -.breadcrumb-nav-list-item::before { display: none; } - -.breadcrumb-nav-list-item::after { display: inline-block; margin-right: 0.5rem; margin-left: 0.5rem; color: #959396; content: "/"; } - -.breadcrumb-nav-list-item:last-child::after { content: ""; } - -h1, .text-alpha { font-size: 32px !important; line-height: 1.25; font-weight: 300; } - -@media (min-width: 31.25rem) { h1, .text-alpha { font-size: 36px !important; } } - -h2, .text-beta { font-size: 18px !important; } - -@media (min-width: 31.25rem) { h2, .text-beta { font-size: 24px !important; line-height: 1.25; } } - -h3, .text-gamma { font-size: 16px !important; } - -@media (min-width: 31.25rem) { h3, .text-gamma { font-size: 18px !important; } } - -h4, .text-delta { font-size: 11px !important; font-weight: 400; text-transform: uppercase; letter-spacing: 0.1em; } - -@media (min-width: 31.25rem) { h4, .text-delta { font-size: 12px !important; } } - -h5, .text-epsilon { font-size: 12px !important; color: #44434d; } - -@media (min-width: 31.25rem) { h5, .text-epsilon { font-size: 14px !important; } } - -h6, .text-zeta { font-size: 11px !important; color: #44434d; } - -@media (min-width: 31.25rem) { h6, .text-zeta { font-size: 12px !important; } } - -.text-small { font-size: 11px !important; } - -@media (min-width: 31.25rem) { .text-small { font-size: 12px !important; } } - -.text-mono { font-family: "SFMono-Regular", Menlo, Consolas, Monospace !important; } - -.text-left { text-align: left !important; } - -.text-center { text-align: center !important; } - -.text-right { text-align: right !important; } - -.label, .label-blue { display: inline-block; padding-top: 0.16em; padding-right: 0.56em; padding-bottom: 0.16em; padding-left: 0.56em; margin-right: 0.5rem; margin-left: 0.5rem; color: #fff; text-transform: uppercase; vertical-align: middle; background-color: #2869e6; font-size: 11px !important; border-radius: 12px; } - -@media (min-width: 31.25rem) { .label, .label-blue { font-size: 12px !important; } } - -.label-green { background-color: #009c7b; } - -.label-purple { background-color: #5e41d0; } - -.label-red { background-color: #e94c4c; } - -.label-yellow { color: #44434d; background-color: #f7d12e; } - -.btn { display: inline-block; box-sizing: border-box; padding-top: 0.3em; padding-right: 1em; padding-bottom: 0.3em; padding-left: 1em; margin: 0; font-family: inherit; font-size: inherit; font-weight: 500; line-height: 1.5; color: #FF5C00; text-decoration: none; vertical-align: baseline; cursor: pointer; background-color: #000; border-width: 0; border-radius: 4px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); appearance: none; } - -.btn:focus { text-decoration: none; outline: none; box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.25); } - -.btn:focus:hover, .btn.selected:focus { box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.25); } - -.btn:hover, .btn.zeroclipboard-is-hover { color: #f55800; } - -.btn:hover, .btn:active, .btn.zeroclipboard-is-hover, .btn.zeroclipboard-is-active { text-decoration: none; background-color: black; } - -.btn:active, .btn.selected, .btn.zeroclipboard-is-active { background-color: black; background-image: none; box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); } - -.btn.selected:hover { background-color: #cfcfcf; } - -.btn:disabled, .btn:disabled:hover, .btn.disabled, .btn.disabled:hover { color: rgba(102, 102, 102, 0.5); cursor: default; background-color: rgba(229, 229, 229, 0.5); background-image: none; box-shadow: none; } - -.btn-outline { color: #FF5C00; background: transparent; box-shadow: inset 0 0 0 2px #e6e1e8; } - -.btn-outline:hover, .btn-outline:active, .btn-outline.zeroclipboard-is-hover, .btn-outline.zeroclipboard-is-active { color: #eb5500; text-decoration: none; background-color: transparent; box-shadow: inset 0 0 0 3px #e6e1e8; } - -.btn-outline:focus { text-decoration: none; outline: none; box-shadow: inset 0 0 0 2px #5c5962, 0 0 0 3px rgba(0, 0, 255, 0.25); } - -.btn-outline:focus:hover, .btn-outline.selected:focus { box-shadow: inset 0 0 0 2px #5c5962; } - -.btn-primary { color: #fff; background-color: #f55800; background-image: linear-gradient(#ff6c1a, #f55800); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12); } - -.btn-primary:hover, .btn-primary.zeroclipboard-is-hover { color: #fff; background-color: #eb5500; background-image: linear-gradient(#ff630a, #eb5500); } - -.btn-primary:active, .btn-primary.selected, .btn-primary.zeroclipboard-is-active { background-color: #e65300; background-image: none; box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); } - -.btn-primary.selected:hover { background-color: #cc4a00; } - -.btn-purple { color: #fff; background-color: #5739ce; background-image: linear-gradient(#6f55d5, #5739ce); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12); } - -.btn-purple:hover, .btn-purple.zeroclipboard-is-hover { color: #fff; background-color: #5132cb; background-image: linear-gradient(#6549d2, #5132cb); } - -.btn-purple:active, .btn-purple.selected, .btn-purple.zeroclipboard-is-active { background-color: #4f31c6; background-image: none; box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); } - -.btn-purple.selected:hover { background-color: #472cb2; } - -.btn-blue { color: #fff; background-color: #227efa; background-image: linear-gradient(#4593fb, #227efa); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12); } - -.btn-blue:hover, .btn-blue.zeroclipboard-is-hover { color: #fff; background-color: #1878fa; background-image: linear-gradient(#368afa, #1878fa); } - -.btn-blue:active, .btn-blue.selected, .btn-blue.zeroclipboard-is-active { background-color: #1375f9; background-image: none; box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); } - -.btn-blue.selected:hover { background-color: #0669ed; } - -.btn-green { color: #fff; background-color: #10ac7d; background-image: linear-gradient(#13cc95, #10ac7d); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12); } - -.btn-green:hover, .btn-green.zeroclipboard-is-hover { color: #fff; background-color: #0fa276; background-image: linear-gradient(#12be8b, #0fa276); } - -.btn-green:active, .btn-green.selected, .btn-green.zeroclipboard-is-active { background-color: #0f9e73; background-image: none; box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); } - -.btn-green.selected:hover { background-color: #0d8662; } - -.search { position: relative; z-index: 2; flex-grow: 1; height: 4rem; padding: 0.5rem; transition: padding linear 200ms; } - -@media (min-width: 50rem) { .search { position: relative !important; width: auto !important; height: 100% !important; padding: 0; transition: none; } } - -.search-input-wrap { position: relative; z-index: 1; height: 3rem; overflow: hidden; border-radius: 4px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); transition: height linear 200ms; } - -@media (min-width: 50rem) { .search-input-wrap { position: absolute; width: 100%; max-width: 536px; height: 100% !important; border-radius: 0; box-shadow: none; transition: width ease 400ms; } } - -.search-input { position: absolute; width: 100%; height: 100%; padding-top: 0.5rem; padding-right: 1rem; padding-bottom: 0.5rem; padding-left: 2.5rem; font-size: 16px; background-color: #fff; border-top: 0; border-right: 0; border-bottom: 0; border-left: 0; border-radius: 0; } - -@media (min-width: 50rem) { .search-input { padding-top: 1rem; padding-bottom: 1rem; padding-left: 3.5rem; font-size: 14px; background-color: #fff; transition: padding-left linear 200ms; } } - -.search-input:focus { outline: 0; } - -.search-input:focus + .search-label .search-icon { color: #FF5C00; } - -.search-label { position: absolute; display: flex; height: 100%; padding-left: 1rem; } - -@media (min-width: 50rem) { .search-label { padding-left: 2rem; transition: padding-left linear 200ms; } } - -.search-label .search-icon { width: 1.2rem; height: 1.2rem; align-self: center; color: #959396; } - -.search-results { position: absolute; left: 0; display: none; width: 100%; max-height: calc(100% - 4rem); overflow-y: auto; background-color: #fff; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); } - -@media (min-width: 50rem) { .search-results { top: 100%; width: 536px; max-height: calc(100vh - 200%) !important; } } - -.search-results-list { padding-left: 0; margin-bottom: 0.25rem; list-style: none; font-size: 15px !important; } - -@media (min-width: 31.25rem) { .search-results-list { font-size: 16px !important; } } - -@media (min-width: 50rem) { .search-results-list { font-size: 12px !important; } } - -@media (min-width: 50rem) and (min-width: 31.25rem) { .search-results-list { font-size: 14px !important; } } - -.search-results-list-item { padding: 0; margin: 0; } - -.search-result { display: block; padding-top: 0.25rem; padding-right: 0.75rem; padding-bottom: 0.25rem; padding-left: 0.75rem; } - -.search-result:hover, .search-result.active { background-color: #ebedf5; } - -.search-result-title { display: block; padding-top: 0.5rem; padding-bottom: 0.5rem; } - -@media (min-width: 31.25rem) { .search-result-title { display: inline-block; width: 40%; padding-right: 0.5rem; vertical-align: top; } } - -.search-result-doc { display: flex; align-items: center; word-wrap: break-word; } - -.search-result-doc.search-result-doc-parent { opacity: 0.5; font-size: 12px !important; } - -@media (min-width: 31.25rem) { .search-result-doc.search-result-doc-parent { font-size: 14px !important; } } - -@media (min-width: 50rem) { .search-result-doc.search-result-doc-parent { font-size: 11px !important; } } - -@media (min-width: 50rem) and (min-width: 31.25rem) { .search-result-doc.search-result-doc-parent { font-size: 12px !important; } } - -.search-result-doc .search-result-icon { width: 1rem; height: 1rem; margin-right: 0.5rem; color: #FF5C00; flex-shrink: 0; } - -.search-result-doc .search-result-doc-title { overflow: auto; } - -.search-result-section { margin-left: 1.5rem; word-wrap: break-word; } - -.search-result-rel-url { display: block; margin-left: 1.5rem; overflow: hidden; color: #959396; text-overflow: ellipsis; white-space: nowrap; font-size: 9px !important; } - -@media (min-width: 31.25rem) { .search-result-rel-url { font-size: 10px !important; } } - -.search-result-previews { display: block; padding-top: 0.5rem; padding-bottom: 0.5rem; padding-left: 1rem; margin-left: 0.5rem; color: #959396; word-wrap: break-word; border-left: 1px solid; border-left-color: #FBECC9; font-size: 11px !important; } - -@media (min-width: 31.25rem) { .search-result-previews { font-size: 12px !important; } } - -@media (min-width: 31.25rem) { .search-result-previews { display: inline-block; width: 60%; padding-left: 0.5rem; margin-left: 0; vertical-align: top; } } - -.search-result-preview + .search-result-preview { margin-top: 0.25rem; } - -.search-result-highlight { font-weight: bold; } - -.search-no-result { padding-top: 0.5rem; padding-right: 0.75rem; padding-bottom: 0.5rem; padding-left: 0.75rem; font-size: 12px !important; } - -@media (min-width: 31.25rem) { .search-no-result { font-size: 14px !important; } } - -.search-button { position: fixed; right: 1rem; bottom: 1rem; display: flex; width: 3.5rem; height: 3.5rem; background-color: #fff; border: 1px solid rgba(255, 92, 0, 0.3); border-radius: 1.75rem; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); align-items: center; justify-content: center; } - -.search-overlay { position: fixed; top: 0; left: 0; z-index: 1; width: 0; height: 0; background-color: rgba(0, 0, 0, 0.3); opacity: 0; transition: opacity ease 400ms, width 0s 400ms, height 0s 400ms; } - -.search-active .search { position: fixed; top: 0; left: 0; width: 100%; height: 100%; padding: 0; } - -.search-active .search-input-wrap { height: 4rem; border-radius: 0; } - -@media (min-width: 50rem) { .search-active .search-input-wrap { width: 536px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); } } - -.search-active .search-input { background-color: #fff; } - -@media (min-width: 50rem) { .search-active .search-input { padding-left: 2.75rem; } } - -@media (min-width: 50rem) { .search-active .search-label { padding-left: 1.25rem; } } - -.search-active .search-results { display: block; } - -.search-active .search-overlay { width: 100%; height: 100%; opacity: 1; transition: opacity ease 400ms, width 0s, height 0s; } - -@media (min-width: 50rem) { .search-active .main { position: fixed; right: 0; left: 0; } } - -.search-active .main-header { padding-top: 4rem; } - -@media (min-width: 50rem) { .search-active .main-header { padding-top: 0; } } - -.table-wrapper { display: block; width: 100%; max-width: 100%; margin-bottom: 1.5rem; overflow-x: auto; border-radius: 4px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); } - -table { display: table; min-width: 100%; border-collapse: separate; } - -th, td { font-size: 12px !important; min-width: 120px; padding-top: 0.5rem; padding-right: 0.75rem; padding-bottom: 0.5rem; padding-left: 0.75rem; background-color: #fff; border-bottom: 1px solid rgba(251, 236, 201, 0.5); border-left: 1px solid #FBECC9; } - -@media (min-width: 31.25rem) { th, td { font-size: 14px !important; } } - -th:first-of-type, td:first-of-type { border-left: 0; } - -tbody tr:last-of-type th, tbody tr:last-of-type td { border-bottom: 0; } - -tbody tr:last-of-type td { padding-bottom: 0.75rem; } - -thead th { border-bottom: 1px solid #FBECC9; } - -code { padding: 0.2em 0.15em; font-weight: 400; background-color: #F4F7FB; border: 1px solid #FBECC9; border-radius: 4px; } - -pre.highlight, figure.highlight { padding: 0.75rem; margin-top: 0; margin-bottom: 0; background-color: #F4F7FB; border-radius: 4px; -webkit-overflow-scrolling: touch; } - -pre.highlight code, figure.highlight code { padding: 0; border: 0; } - -.highlighter-rouge { margin-bottom: 0.75rem; } - -.highlight .c { color: #586e75; } - -.highlight .err { color: #93a1a1; } - -.highlight .g { color: #93a1a1; } - -.highlight .k { color: #859900; } - -.highlight .l { color: #93a1a1; } - -.highlight .n { color: #93a1a1; } - -.highlight .o { color: #859900; } - -.highlight .x { color: #cb4b16; } - -.highlight .p { color: #93a1a1; } - -.highlight .cm { color: #586e75; } - -.highlight .cp { color: #859900; } - -.highlight .c1 { color: #586e75; } - -.highlight .cs { color: #859900; } - -.highlight .gd { color: #2aa198; } - -.highlight .ge { font-style: italic; color: #93a1a1; } - -.highlight .gr { color: #dc322f; } - -.highlight .gh { color: #cb4b16; } - -.highlight .gi { color: #859900; } - -.highlight .go { color: #93a1a1; } - -.highlight .gp { color: #93a1a1; } - -.highlight .gs { font-weight: bold; color: #93a1a1; } - -.highlight .gu { color: #cb4b16; } - -.highlight .gt { color: #93a1a1; } - -.highlight .kc { color: #cb4b16; } - -.highlight .kd { color: #268bd2; } - -.highlight .kn { color: #859900; } - -.highlight .kp { color: #859900; } - -.highlight .kr { color: #268bd2; } - -.highlight .kt { color: #dc322f; } - -.highlight .ld { color: #93a1a1; } - -.highlight .m { color: #2aa198; } - -.highlight .s { color: #2aa198; } - -.highlight .na { color: #555; } - -.highlight .nb { color: #b58900; } - -.highlight .nc { color: #268bd2; } - -.highlight .no { color: #cb4b16; } - -.highlight .nd { color: #268bd2; } - -.highlight .ni { color: #cb4b16; } - -.highlight .ne { color: #cb4b16; } - -.highlight .nf { color: #268bd2; } - -.highlight .nl { color: #555; } - -.highlight .nn { color: #93a1a1; } - -.highlight .nx { color: #555; } - -.highlight .py { color: #93a1a1; } - -.highlight .nt { color: #268bd2; } - -.highlight .nv { color: #268bd2; } - -.highlight .ow { color: #859900; } - -.highlight .w { color: #93a1a1; } - -.highlight .mf { color: #2aa198; } - -.highlight .mh { color: #2aa198; } - -.highlight .mi { color: #2aa198; } - -.highlight .mo { color: #2aa198; } - -.highlight .sb { color: #586e75; } - -.highlight .sc { color: #2aa198; } - -.highlight .sd { color: #93a1a1; } - -.highlight .s2 { color: #2aa198; } - -.highlight .se { color: #cb4b16; } - -.highlight .sh { color: #93a1a1; } - -.highlight .si { color: #2aa198; } - -.highlight .sx { color: #2aa198; } - -.highlight .sr { color: #dc322f; } - -.highlight .s1 { color: #2aa198; } - -.highlight .ss { color: #2aa198; } - -.highlight .bp { color: #268bd2; } - -.highlight .vc { color: #268bd2; } - -.highlight .vg { color: #268bd2; } - -.highlight .vi { color: #268bd2; } - -.highlight .il { color: #2aa198; } - -.code-example { padding: 0.75rem; margin-bottom: 0.75rem; overflow: auto; border: 1px solid #FBECC9; border-radius: 4px; } - -.code-example + .highlighter-rouge, .code-example + figure.highlight { position: relative; margin-top: -1rem; border-right: 1px solid #FBECC9; border-bottom: 1px solid #FBECC9; border-left: 1px solid #FBECC9; border-top-left-radius: 0; border-top-right-radius: 0; } - -.text-grey-dk-000 { color: #959396 !important; } - -.text-grey-dk-100 { color: #5c5962 !important; } - -.text-grey-dk-200 { color: #44434d !important; } - -.text-grey-dk-250 { color: #302d36 !important; } - -.text-grey-dk-300 { color: #27262b !important; } - -.text-grey-lt-000 { color: #f5f6fa !important; } - -.text-grey-lt-100 { color: #eeebee !important; } - -.text-grey-lt-200 { color: #ecebed !important; } - -.text-grey-lt-300 { color: #e6e1e8 !important; } - -.text-blue-000 { color: #2c84fa !important; } - -.text-blue-100 { color: #2869e6 !important; } - -.text-blue-200 { color: #264caf !important; } - -.text-blue-300 { color: #183385 !important; } - -.text-green-000 { color: #41d693 !important; } - -.text-green-100 { color: #11b584 !important; } - -.text-green-200 { color: #009c7b !important; } - -.text-green-300 { color: #026e57 !important; } - -.text-purple-000 { color: #7253ed !important; } - -.text-purple-100 { color: #5e41d0 !important; } - -.text-purple-200 { color: #4e26af !important; } - -.text-purple-300 { color: #381885 !important; } - -.text-yellow-000 { color: #ffeb82 !important; } - -.text-yellow-100 { color: #fadf50 !important; } - -.text-yellow-200 { color: #f7d12e !important; } - -.text-yellow-300 { color: #e7af06 !important; } - -.text-red-000 { color: #f77e7e !important; } - -.text-red-100 { color: #f96e65 !important; } - -.text-red-200 { color: #e94c4c !important; } - -.text-red-300 { color: #dd2e2e !important; } - -.bg-grey-dk-000 { background-color: #959396 !important; } - -.bg-grey-dk-100 { background-color: #5c5962 !important; } - -.bg-grey-dk-200 { background-color: #44434d !important; } - -.bg-grey-dk-250 { background-color: #302d36 !important; } - -.bg-grey-dk-300 { background-color: #27262b !important; } - -.bg-grey-lt-000 { background-color: #f5f6fa !important; } - -.bg-grey-lt-100 { background-color: #eeebee !important; } - -.bg-grey-lt-200 { background-color: #ecebed !important; } - -.bg-grey-lt-300 { background-color: #e6e1e8 !important; } - -.bg-blue-000 { background-color: #2c84fa !important; } - -.bg-blue-100 { background-color: #2869e6 !important; } - -.bg-blue-200 { background-color: #264caf !important; } - -.bg-blue-300 { background-color: #183385 !important; } - -.bg-green-000 { background-color: #41d693 !important; } - -.bg-green-100 { background-color: #11b584 !important; } - -.bg-green-200 { background-color: #009c7b !important; } - -.bg-green-300 { background-color: #026e57 !important; } - -.bg-purple-000 { background-color: #7253ed !important; } - -.bg-purple-100 { background-color: #5e41d0 !important; } - -.bg-purple-200 { background-color: #4e26af !important; } - -.bg-purple-300 { background-color: #381885 !important; } - -.bg-yellow-000 { background-color: #ffeb82 !important; } - -.bg-yellow-100 { background-color: #fadf50 !important; } - -.bg-yellow-200 { background-color: #f7d12e !important; } - -.bg-yellow-300 { background-color: #e7af06 !important; } - -.bg-red-000 { background-color: #f77e7e !important; } - -.bg-red-100 { background-color: #f96e65 !important; } - -.bg-red-200 { background-color: #e94c4c !important; } - -.bg-red-300 { background-color: #dd2e2e !important; } - -.d-block { display: block !important; } - -.d-flex { display: flex !important; } - -.d-inline { display: inline !important; } - -.d-inline-block { display: inline-block !important; } - -.d-none { display: none !important; } - -@media (min-width: 20rem) { .d-xs-block { display: block !important; } .d-xs-flex { display: flex !important; } .d-xs-inline { display: inline !important; } .d-xs-inline-block { display: inline-block !important; } .d-xs-none { display: none !important; } } - -@media (min-width: 20rem) { .d-xs-block { display: block !important; } .d-xs-flex { display: flex !important; } .d-xs-inline { display: inline !important; } .d-xs-inline-block { display: inline-block !important; } .d-xs-none { display: none !important; } } - -@media (min-width: 20rem) { .d-xs-block { display: block !important; } .d-xs-flex { display: flex !important; } .d-xs-inline { display: inline !important; } .d-xs-inline-block { display: inline-block !important; } .d-xs-none { display: none !important; } } - -@media (min-width: 20rem) { .d-xs-block { display: block !important; } .d-xs-flex { display: flex !important; } .d-xs-inline { display: inline !important; } .d-xs-inline-block { display: inline-block !important; } .d-xs-none { display: none !important; } } - -@media (min-width: 20rem) { .d-xs-block { display: block !important; } .d-xs-flex { display: flex !important; } .d-xs-inline { display: inline !important; } .d-xs-inline-block { display: inline-block !important; } .d-xs-none { display: none !important; } } - -@media (min-width: 20rem) { .d-xs-block { display: block !important; } .d-xs-flex { display: flex !important; } .d-xs-inline { display: inline !important; } .d-xs-inline-block { display: inline-block !important; } .d-xs-none { display: none !important; } } - -@media (min-width: 20rem) { .d-xs-block { display: block !important; } .d-xs-flex { display: flex !important; } .d-xs-inline { display: inline !important; } .d-xs-inline-block { display: inline-block !important; } .d-xs-none { display: none !important; } } - -@media (min-width: 20rem) { .d-xs-block { display: block !important; } .d-xs-flex { display: flex !important; } .d-xs-inline { display: inline !important; } .d-xs-inline-block { display: inline-block !important; } .d-xs-none { display: none !important; } } - -@media (min-width: 20rem) { .d-xs-block { display: block !important; } .d-xs-flex { display: flex !important; } .d-xs-inline { display: inline !important; } .d-xs-inline-block { display: inline-block !important; } .d-xs-none { display: none !important; } } - -@media (min-width: 20rem) { .d-xs-block { display: block !important; } .d-xs-flex { display: flex !important; } .d-xs-inline { display: inline !important; } .d-xs-inline-block { display: inline-block !important; } .d-xs-none { display: none !important; } } - -@media (min-width: 20rem) { .d-xs-block { display: block !important; } .d-xs-flex { display: flex !important; } .d-xs-inline { display: inline !important; } .d-xs-inline-block { display: inline-block !important; } .d-xs-none { display: none !important; } } - -@media (min-width: 31.25rem) { .d-sm-block { display: block !important; } .d-sm-flex { display: flex !important; } .d-sm-inline { display: inline !important; } .d-sm-inline-block { display: inline-block !important; } .d-sm-none { display: none !important; } } - -@media (min-width: 31.25rem) { .d-sm-block { display: block !important; } .d-sm-flex { display: flex !important; } .d-sm-inline { display: inline !important; } .d-sm-inline-block { display: inline-block !important; } .d-sm-none { display: none !important; } } - -@media (min-width: 31.25rem) { .d-sm-block { display: block !important; } .d-sm-flex { display: flex !important; } .d-sm-inline { display: inline !important; } .d-sm-inline-block { display: inline-block !important; } .d-sm-none { display: none !important; } } - -@media (min-width: 31.25rem) { .d-sm-block { display: block !important; } .d-sm-flex { display: flex !important; } .d-sm-inline { display: inline !important; } .d-sm-inline-block { display: inline-block !important; } .d-sm-none { display: none !important; } } - -@media (min-width: 31.25rem) { .d-sm-block { display: block !important; } .d-sm-flex { display: flex !important; } .d-sm-inline { display: inline !important; } .d-sm-inline-block { display: inline-block !important; } .d-sm-none { display: none !important; } } - -@media (min-width: 31.25rem) { .d-sm-block { display: block !important; } .d-sm-flex { display: flex !important; } .d-sm-inline { display: inline !important; } .d-sm-inline-block { display: inline-block !important; } .d-sm-none { display: none !important; } } - -@media (min-width: 31.25rem) { .d-sm-block { display: block !important; } .d-sm-flex { display: flex !important; } .d-sm-inline { display: inline !important; } .d-sm-inline-block { display: inline-block !important; } .d-sm-none { display: none !important; } } - -@media (min-width: 31.25rem) { .d-sm-block { display: block !important; } .d-sm-flex { display: flex !important; } .d-sm-inline { display: inline !important; } .d-sm-inline-block { display: inline-block !important; } .d-sm-none { display: none !important; } } - -@media (min-width: 31.25rem) { .d-sm-block { display: block !important; } .d-sm-flex { display: flex !important; } .d-sm-inline { display: inline !important; } .d-sm-inline-block { display: inline-block !important; } .d-sm-none { display: none !important; } } - -@media (min-width: 31.25rem) { .d-sm-block { display: block !important; } .d-sm-flex { display: flex !important; } .d-sm-inline { display: inline !important; } .d-sm-inline-block { display: inline-block !important; } .d-sm-none { display: none !important; } } - -@media (min-width: 31.25rem) { .d-sm-block { display: block !important; } .d-sm-flex { display: flex !important; } .d-sm-inline { display: inline !important; } .d-sm-inline-block { display: inline-block !important; } .d-sm-none { display: none !important; } } - -@media (min-width: 50rem) { .d-md-block { display: block !important; } .d-md-flex { display: flex !important; } .d-md-inline { display: inline !important; } .d-md-inline-block { display: inline-block !important; } .d-md-none { display: none !important; } } - -@media (min-width: 50rem) { .d-md-block { display: block !important; } .d-md-flex { display: flex !important; } .d-md-inline { display: inline !important; } .d-md-inline-block { display: inline-block !important; } .d-md-none { display: none !important; } } - -@media (min-width: 50rem) { .d-md-block { display: block !important; } .d-md-flex { display: flex !important; } .d-md-inline { display: inline !important; } .d-md-inline-block { display: inline-block !important; } .d-md-none { display: none !important; } } - -@media (min-width: 50rem) { .d-md-block { display: block !important; } .d-md-flex { display: flex !important; } .d-md-inline { display: inline !important; } .d-md-inline-block { display: inline-block !important; } .d-md-none { display: none !important; } } - -@media (min-width: 50rem) { .d-md-block { display: block !important; } .d-md-flex { display: flex !important; } .d-md-inline { display: inline !important; } .d-md-inline-block { display: inline-block !important; } .d-md-none { display: none !important; } } - -@media (min-width: 50rem) { .d-md-block { display: block !important; } .d-md-flex { display: flex !important; } .d-md-inline { display: inline !important; } .d-md-inline-block { display: inline-block !important; } .d-md-none { display: none !important; } } - -@media (min-width: 50rem) { .d-md-block { display: block !important; } .d-md-flex { display: flex !important; } .d-md-inline { display: inline !important; } .d-md-inline-block { display: inline-block !important; } .d-md-none { display: none !important; } } - -@media (min-width: 50rem) { .d-md-block { display: block !important; } .d-md-flex { display: flex !important; } .d-md-inline { display: inline !important; } .d-md-inline-block { display: inline-block !important; } .d-md-none { display: none !important; } } - -@media (min-width: 50rem) { .d-md-block { display: block !important; } .d-md-flex { display: flex !important; } .d-md-inline { display: inline !important; } .d-md-inline-block { display: inline-block !important; } .d-md-none { display: none !important; } } - -@media (min-width: 50rem) { .d-md-block { display: block !important; } .d-md-flex { display: flex !important; } .d-md-inline { display: inline !important; } .d-md-inline-block { display: inline-block !important; } .d-md-none { display: none !important; } } - -@media (min-width: 50rem) { .d-md-block { display: block !important; } .d-md-flex { display: flex !important; } .d-md-inline { display: inline !important; } .d-md-inline-block { display: inline-block !important; } .d-md-none { display: none !important; } } - -@media (min-width: 66.5rem) { .d-lg-block { display: block !important; } .d-lg-flex { display: flex !important; } .d-lg-inline { display: inline !important; } .d-lg-inline-block { display: inline-block !important; } .d-lg-none { display: none !important; } } - -@media (min-width: 66.5rem) { .d-lg-block { display: block !important; } .d-lg-flex { display: flex !important; } .d-lg-inline { display: inline !important; } .d-lg-inline-block { display: inline-block !important; } .d-lg-none { display: none !important; } } - -@media (min-width: 66.5rem) { .d-lg-block { display: block !important; } .d-lg-flex { display: flex !important; } .d-lg-inline { display: inline !important; } .d-lg-inline-block { display: inline-block !important; } .d-lg-none { display: none !important; } } - -@media (min-width: 66.5rem) { .d-lg-block { display: block !important; } .d-lg-flex { display: flex !important; } .d-lg-inline { display: inline !important; } .d-lg-inline-block { display: inline-block !important; } .d-lg-none { display: none !important; } } - -@media (min-width: 66.5rem) { .d-lg-block { display: block !important; } .d-lg-flex { display: flex !important; } .d-lg-inline { display: inline !important; } .d-lg-inline-block { display: inline-block !important; } .d-lg-none { display: none !important; } } - -@media (min-width: 66.5rem) { .d-lg-block { display: block !important; } .d-lg-flex { display: flex !important; } .d-lg-inline { display: inline !important; } .d-lg-inline-block { display: inline-block !important; } .d-lg-none { display: none !important; } } - -@media (min-width: 66.5rem) { .d-lg-block { display: block !important; } .d-lg-flex { display: flex !important; } .d-lg-inline { display: inline !important; } .d-lg-inline-block { display: inline-block !important; } .d-lg-none { display: none !important; } } - -@media (min-width: 66.5rem) { .d-lg-block { display: block !important; } .d-lg-flex { display: flex !important; } .d-lg-inline { display: inline !important; } .d-lg-inline-block { display: inline-block !important; } .d-lg-none { display: none !important; } } - -@media (min-width: 66.5rem) { .d-lg-block { display: block !important; } .d-lg-flex { display: flex !important; } .d-lg-inline { display: inline !important; } .d-lg-inline-block { display: inline-block !important; } .d-lg-none { display: none !important; } } - -@media (min-width: 66.5rem) { .d-lg-block { display: block !important; } .d-lg-flex { display: flex !important; } .d-lg-inline { display: inline !important; } .d-lg-inline-block { display: inline-block !important; } .d-lg-none { display: none !important; } } - -@media (min-width: 66.5rem) { .d-lg-block { display: block !important; } .d-lg-flex { display: flex !important; } .d-lg-inline { display: inline !important; } .d-lg-inline-block { display: inline-block !important; } .d-lg-none { display: none !important; } } - -@media (min-width: 87.5rem) { .d-xl-block { display: block !important; } .d-xl-flex { display: flex !important; } .d-xl-inline { display: inline !important; } .d-xl-inline-block { display: inline-block !important; } .d-xl-none { display: none !important; } } - -@media (min-width: 87.5rem) { .d-xl-block { display: block !important; } .d-xl-flex { display: flex !important; } .d-xl-inline { display: inline !important; } .d-xl-inline-block { display: inline-block !important; } .d-xl-none { display: none !important; } } - -@media (min-width: 87.5rem) { .d-xl-block { display: block !important; } .d-xl-flex { display: flex !important; } .d-xl-inline { display: inline !important; } .d-xl-inline-block { display: inline-block !important; } .d-xl-none { display: none !important; } } - -@media (min-width: 87.5rem) { .d-xl-block { display: block !important; } .d-xl-flex { display: flex !important; } .d-xl-inline { display: inline !important; } .d-xl-inline-block { display: inline-block !important; } .d-xl-none { display: none !important; } } - -@media (min-width: 87.5rem) { .d-xl-block { display: block !important; } .d-xl-flex { display: flex !important; } .d-xl-inline { display: inline !important; } .d-xl-inline-block { display: inline-block !important; } .d-xl-none { display: none !important; } } - -@media (min-width: 87.5rem) { .d-xl-block { display: block !important; } .d-xl-flex { display: flex !important; } .d-xl-inline { display: inline !important; } .d-xl-inline-block { display: inline-block !important; } .d-xl-none { display: none !important; } } - -@media (min-width: 87.5rem) { .d-xl-block { display: block !important; } .d-xl-flex { display: flex !important; } .d-xl-inline { display: inline !important; } .d-xl-inline-block { display: inline-block !important; } .d-xl-none { display: none !important; } } - -@media (min-width: 87.5rem) { .d-xl-block { display: block !important; } .d-xl-flex { display: flex !important; } .d-xl-inline { display: inline !important; } .d-xl-inline-block { display: inline-block !important; } .d-xl-none { display: none !important; } } - -@media (min-width: 87.5rem) { .d-xl-block { display: block !important; } .d-xl-flex { display: flex !important; } .d-xl-inline { display: inline !important; } .d-xl-inline-block { display: inline-block !important; } .d-xl-none { display: none !important; } } - -@media (min-width: 87.5rem) { .d-xl-block { display: block !important; } .d-xl-flex { display: flex !important; } .d-xl-inline { display: inline !important; } .d-xl-inline-block { display: inline-block !important; } .d-xl-none { display: none !important; } } - -@media (min-width: 87.5rem) { .d-xl-block { display: block !important; } .d-xl-flex { display: flex !important; } .d-xl-inline { display: inline !important; } .d-xl-inline-block { display: inline-block !important; } .d-xl-none { display: none !important; } } - -.float-left { float: left !important; } - -.float-right { float: right !important; } - -.flex-justify-start { justify-content: flex-start !important; } - -.flex-justify-end { justify-content: flex-end !important; } - -.flex-justify-between { justify-content: space-between !important; } - -.flex-justify-around { justify-content: space-around !important; } - -.v-align-baseline { vertical-align: baseline !important; } - -.v-align-bottom { vertical-align: bottom !important; } - -.v-align-middle { vertical-align: middle !important; } - -.v-align-text-bottom { vertical-align: text-bottom !important; } - -.v-align-text-top { vertical-align: text-top !important; } - -.v-align-top { vertical-align: top !important; } - -.fs-1 { font-size: 9px !important; } - -@media (min-width: 31.25rem) { .fs-1 { font-size: 10px !important; } } - -.fs-2 { font-size: 11px !important; } - -@media (min-width: 31.25rem) { .fs-2 { font-size: 12px !important; } } - -.fs-3 { font-size: 12px !important; } - -@media (min-width: 31.25rem) { .fs-3 { font-size: 14px !important; } } - -.fs-4 { font-size: 15px !important; } - -@media (min-width: 31.25rem) { .fs-4 { font-size: 16px !important; } } - -.fs-5 { font-size: 16px !important; } - -@media (min-width: 31.25rem) { .fs-5 { font-size: 18px !important; } } - -.fs-6 { font-size: 18px !important; } - -@media (min-width: 31.25rem) { .fs-6 { font-size: 24px !important; line-height: 1.25; } } - -.fs-7 { font-size: 24px !important; line-height: 1.25; } - -@media (min-width: 31.25rem) { .fs-7 { font-size: 32px !important; } } - -.fs-8 { font-size: 32px !important; line-height: 1.25; } - -@media (min-width: 31.25rem) { .fs-8 { font-size: 36px !important; } } - -.fs-9 { font-size: 36px !important; line-height: 1.25; } - -@media (min-width: 31.25rem) { .fs-9 { font-size: 42px !important; } } - -.fs-10 { font-size: 42px !important; line-height: 1.25; } - -@media (min-width: 31.25rem) { .fs-10 { font-size: 48px !important; } } - -.fw-300 { font-weight: 300 !important; } - -.fw-400 { font-weight: 400 !important; } - -.fw-500 { font-weight: 500 !important; } - -.fw-700 { font-weight: 700 !important; } - -.lh-0 { line-height: 0 !important; } - -.lh-default { line-height: 1.4; } - -.lh-tight { line-height: 1.25; } - -.ls-5 { letter-spacing: 0.05em !important; } - -.ls-10 { letter-spacing: 0.1em !important; } - -.ls-0 { letter-spacing: 0 !important; } - -.text-uppercase { text-transform: uppercase !important; } - -.list-style-none { padding: 0 !important; margin: 0 !important; list-style: none !important; } - -.list-style-none li::before { display: none !important; } - -.mx-auto { margin-right: auto !important; margin-left: auto !important; } - -.m-0 { margin: 0 !important; } - -.mt-0 { margin-top: 0 !important; } - -.mr-0 { margin-right: 0 !important; } - -.mb-0 { margin-bottom: 0 !important; } - -.ml-0 { margin-left: 0 !important; } - -.mx-0 { margin-right: 0 !important; margin-left: 0 !important; } - -.my-0 { margin-top: 0 !important; margin-bottom: 0 !important; } - -.mxn-0 { margin-right: -0 !important; margin-left: -0 !important; } - -.mx-0-auto { margin-right: auto !important; margin-left: auto !important; } - -.m-1 { margin: 0.25rem !important; } - -.mt-1 { margin-top: 0.25rem !important; } - -.mr-1 { margin-right: 0.25rem !important; } - -.mb-1 { margin-bottom: 0.25rem !important; } - -.ml-1 { margin-left: 0.25rem !important; } - -.mx-1 { margin-right: 0.25rem !important; margin-left: 0.25rem !important; } - -.my-1 { margin-top: 0.25rem !important; margin-bottom: 0.25rem !important; } - -.mxn-1 { margin-right: -0.25rem !important; margin-left: -0.25rem !important; } - -.mx-1-auto { margin-right: auto !important; margin-left: auto !important; } - -.m-2 { margin: 0.5rem !important; } - -.mt-2 { margin-top: 0.5rem !important; } - -.mr-2 { margin-right: 0.5rem !important; } - -.mb-2 { margin-bottom: 0.5rem !important; } - -.ml-2 { margin-left: 0.5rem !important; } - -.mx-2 { margin-right: 0.5rem !important; margin-left: 0.5rem !important; } - -.my-2 { margin-top: 0.5rem !important; margin-bottom: 0.5rem !important; } - -.mxn-2 { margin-right: -0.5rem !important; margin-left: -0.5rem !important; } - -.mx-2-auto { margin-right: auto !important; margin-left: auto !important; } - -.m-3 { margin: 0.75rem !important; } - -.mt-3 { margin-top: 0.75rem !important; } - -.mr-3 { margin-right: 0.75rem !important; } - -.mb-3 { margin-bottom: 0.75rem !important; } - -.ml-3 { margin-left: 0.75rem !important; } - -.mx-3 { margin-right: 0.75rem !important; margin-left: 0.75rem !important; } - -.my-3 { margin-top: 0.75rem !important; margin-bottom: 0.75rem !important; } - -.mxn-3 { margin-right: -0.75rem !important; margin-left: -0.75rem !important; } - -.mx-3-auto { margin-right: auto !important; margin-left: auto !important; } - -.m-4 { margin: 1rem !important; } - -.mt-4 { margin-top: 1rem !important; } - -.mr-4 { margin-right: 1rem !important; } - -.mb-4 { margin-bottom: 1rem !important; } - -.ml-4 { margin-left: 1rem !important; } - -.mx-4 { margin-right: 1rem !important; margin-left: 1rem !important; } - -.my-4 { margin-top: 1rem !important; margin-bottom: 1rem !important; } - -.mxn-4 { margin-right: -1rem !important; margin-left: -1rem !important; } - -.mx-4-auto { margin-right: auto !important; margin-left: auto !important; } - -.m-5 { margin: 1.5rem !important; } - -.mt-5 { margin-top: 1.5rem !important; } - -.mr-5 { margin-right: 1.5rem !important; } - -.mb-5 { margin-bottom: 1.5rem !important; } - -.ml-5 { margin-left: 1.5rem !important; } - -.mx-5 { margin-right: 1.5rem !important; margin-left: 1.5rem !important; } - -.my-5 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; } - -.mxn-5 { margin-right: -1.5rem !important; margin-left: -1.5rem !important; } - -.mx-5-auto { margin-right: auto !important; margin-left: auto !important; } - -.m-6 { margin: 2rem !important; } - -.mt-6 { margin-top: 2rem !important; } - -.mr-6 { margin-right: 2rem !important; } - -.mb-6 { margin-bottom: 2rem !important; } - -.ml-6 { margin-left: 2rem !important; } - -.mx-6 { margin-right: 2rem !important; margin-left: 2rem !important; } - -.my-6 { margin-top: 2rem !important; margin-bottom: 2rem !important; } - -.mxn-6 { margin-right: -2rem !important; margin-left: -2rem !important; } - -.mx-6-auto { margin-right: auto !important; margin-left: auto !important; } - -.m-7 { margin: 2.5rem !important; } - -.mt-7 { margin-top: 2.5rem !important; } - -.mr-7 { margin-right: 2.5rem !important; } - -.mb-7 { margin-bottom: 2.5rem !important; } - -.ml-7 { margin-left: 2.5rem !important; } - -.mx-7 { margin-right: 2.5rem !important; margin-left: 2.5rem !important; } - -.my-7 { margin-top: 2.5rem !important; margin-bottom: 2.5rem !important; } - -.mxn-7 { margin-right: -2.5rem !important; margin-left: -2.5rem !important; } - -.mx-7-auto { margin-right: auto !important; margin-left: auto !important; } - -.m-8 { margin: 3rem !important; } - -.mt-8 { margin-top: 3rem !important; } - -.mr-8 { margin-right: 3rem !important; } - -.mb-8 { margin-bottom: 3rem !important; } - -.ml-8 { margin-left: 3rem !important; } - -.mx-8 { margin-right: 3rem !important; margin-left: 3rem !important; } - -.my-8 { margin-top: 3rem !important; margin-bottom: 3rem !important; } - -.mxn-8 { margin-right: -3rem !important; margin-left: -3rem !important; } - -.mx-8-auto { margin-right: auto !important; margin-left: auto !important; } - -.m-9 { margin: 3.5rem !important; } - -.mt-9 { margin-top: 3.5rem !important; } - -.mr-9 { margin-right: 3.5rem !important; } - -.mb-9 { margin-bottom: 3.5rem !important; } - -.ml-9 { margin-left: 3.5rem !important; } - -.mx-9 { margin-right: 3.5rem !important; margin-left: 3.5rem !important; } - -.my-9 { margin-top: 3.5rem !important; margin-bottom: 3.5rem !important; } - -.mxn-9 { margin-right: -3.5rem !important; margin-left: -3.5rem !important; } - -.mx-9-auto { margin-right: auto !important; margin-left: auto !important; } - -.m-10 { margin: 4rem !important; } - -.mt-10 { margin-top: 4rem !important; } - -.mr-10 { margin-right: 4rem !important; } - -.mb-10 { margin-bottom: 4rem !important; } - -.ml-10 { margin-left: 4rem !important; } - -.mx-10 { margin-right: 4rem !important; margin-left: 4rem !important; } - -.my-10 { margin-top: 4rem !important; margin-bottom: 4rem !important; } - -.mxn-10 { margin-right: -4rem !important; margin-left: -4rem !important; } - -.mx-10-auto { margin-right: auto !important; margin-left: auto !important; } - -@media (min-width: 20rem) { .m-xs-0 { margin: 0 !important; } .mt-xs-0 { margin-top: 0 !important; } .mr-xs-0 { margin-right: 0 !important; } .mb-xs-0 { margin-bottom: 0 !important; } .ml-xs-0 { margin-left: 0 !important; } .mx-xs-0 { margin-right: 0 !important; margin-left: 0 !important; } .my-xs-0 { margin-top: 0 !important; margin-bottom: 0 !important; } .mxn-xs-0 { margin-right: -0 !important; margin-left: -0 !important; } } - -@media (min-width: 20rem) { .m-xs-1 { margin: 0.25rem !important; } .mt-xs-1 { margin-top: 0.25rem !important; } .mr-xs-1 { margin-right: 0.25rem !important; } .mb-xs-1 { margin-bottom: 0.25rem !important; } .ml-xs-1 { margin-left: 0.25rem !important; } .mx-xs-1 { margin-right: 0.25rem !important; margin-left: 0.25rem !important; } .my-xs-1 { margin-top: 0.25rem !important; margin-bottom: 0.25rem !important; } .mxn-xs-1 { margin-right: -0.25rem !important; margin-left: -0.25rem !important; } } - -@media (min-width: 20rem) { .m-xs-2 { margin: 0.5rem !important; } .mt-xs-2 { margin-top: 0.5rem !important; } .mr-xs-2 { margin-right: 0.5rem !important; } .mb-xs-2 { margin-bottom: 0.5rem !important; } .ml-xs-2 { margin-left: 0.5rem !important; } .mx-xs-2 { margin-right: 0.5rem !important; margin-left: 0.5rem !important; } .my-xs-2 { margin-top: 0.5rem !important; margin-bottom: 0.5rem !important; } .mxn-xs-2 { margin-right: -0.5rem !important; margin-left: -0.5rem !important; } } - -@media (min-width: 20rem) { .m-xs-3 { margin: 0.75rem !important; } .mt-xs-3 { margin-top: 0.75rem !important; } .mr-xs-3 { margin-right: 0.75rem !important; } .mb-xs-3 { margin-bottom: 0.75rem !important; } .ml-xs-3 { margin-left: 0.75rem !important; } .mx-xs-3 { margin-right: 0.75rem !important; margin-left: 0.75rem !important; } .my-xs-3 { margin-top: 0.75rem !important; margin-bottom: 0.75rem !important; } .mxn-xs-3 { margin-right: -0.75rem !important; margin-left: -0.75rem !important; } } - -@media (min-width: 20rem) { .m-xs-4 { margin: 1rem !important; } .mt-xs-4 { margin-top: 1rem !important; } .mr-xs-4 { margin-right: 1rem !important; } .mb-xs-4 { margin-bottom: 1rem !important; } .ml-xs-4 { margin-left: 1rem !important; } .mx-xs-4 { margin-right: 1rem !important; margin-left: 1rem !important; } .my-xs-4 { margin-top: 1rem !important; margin-bottom: 1rem !important; } .mxn-xs-4 { margin-right: -1rem !important; margin-left: -1rem !important; } } - -@media (min-width: 20rem) { .m-xs-5 { margin: 1.5rem !important; } .mt-xs-5 { margin-top: 1.5rem !important; } .mr-xs-5 { margin-right: 1.5rem !important; } .mb-xs-5 { margin-bottom: 1.5rem !important; } .ml-xs-5 { margin-left: 1.5rem !important; } .mx-xs-5 { margin-right: 1.5rem !important; margin-left: 1.5rem !important; } .my-xs-5 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; } .mxn-xs-5 { margin-right: -1.5rem !important; margin-left: -1.5rem !important; } } - -@media (min-width: 20rem) { .m-xs-6 { margin: 2rem !important; } .mt-xs-6 { margin-top: 2rem !important; } .mr-xs-6 { margin-right: 2rem !important; } .mb-xs-6 { margin-bottom: 2rem !important; } .ml-xs-6 { margin-left: 2rem !important; } .mx-xs-6 { margin-right: 2rem !important; margin-left: 2rem !important; } .my-xs-6 { margin-top: 2rem !important; margin-bottom: 2rem !important; } .mxn-xs-6 { margin-right: -2rem !important; margin-left: -2rem !important; } } - -@media (min-width: 20rem) { .m-xs-7 { margin: 2.5rem !important; } .mt-xs-7 { margin-top: 2.5rem !important; } .mr-xs-7 { margin-right: 2.5rem !important; } .mb-xs-7 { margin-bottom: 2.5rem !important; } .ml-xs-7 { margin-left: 2.5rem !important; } .mx-xs-7 { margin-right: 2.5rem !important; margin-left: 2.5rem !important; } .my-xs-7 { margin-top: 2.5rem !important; margin-bottom: 2.5rem !important; } .mxn-xs-7 { margin-right: -2.5rem !important; margin-left: -2.5rem !important; } } - -@media (min-width: 20rem) { .m-xs-8 { margin: 3rem !important; } .mt-xs-8 { margin-top: 3rem !important; } .mr-xs-8 { margin-right: 3rem !important; } .mb-xs-8 { margin-bottom: 3rem !important; } .ml-xs-8 { margin-left: 3rem !important; } .mx-xs-8 { margin-right: 3rem !important; margin-left: 3rem !important; } .my-xs-8 { margin-top: 3rem !important; margin-bottom: 3rem !important; } .mxn-xs-8 { margin-right: -3rem !important; margin-left: -3rem !important; } } - -@media (min-width: 20rem) { .m-xs-9 { margin: 3.5rem !important; } .mt-xs-9 { margin-top: 3.5rem !important; } .mr-xs-9 { margin-right: 3.5rem !important; } .mb-xs-9 { margin-bottom: 3.5rem !important; } .ml-xs-9 { margin-left: 3.5rem !important; } .mx-xs-9 { margin-right: 3.5rem !important; margin-left: 3.5rem !important; } .my-xs-9 { margin-top: 3.5rem !important; margin-bottom: 3.5rem !important; } .mxn-xs-9 { margin-right: -3.5rem !important; margin-left: -3.5rem !important; } } - -@media (min-width: 20rem) { .m-xs-10 { margin: 4rem !important; } .mt-xs-10 { margin-top: 4rem !important; } .mr-xs-10 { margin-right: 4rem !important; } .mb-xs-10 { margin-bottom: 4rem !important; } .ml-xs-10 { margin-left: 4rem !important; } .mx-xs-10 { margin-right: 4rem !important; margin-left: 4rem !important; } .my-xs-10 { margin-top: 4rem !important; margin-bottom: 4rem !important; } .mxn-xs-10 { margin-right: -4rem !important; margin-left: -4rem !important; } } - -@media (min-width: 31.25rem) { .m-sm-0 { margin: 0 !important; } .mt-sm-0 { margin-top: 0 !important; } .mr-sm-0 { margin-right: 0 !important; } .mb-sm-0 { margin-bottom: 0 !important; } .ml-sm-0 { margin-left: 0 !important; } .mx-sm-0 { margin-right: 0 !important; margin-left: 0 !important; } .my-sm-0 { margin-top: 0 !important; margin-bottom: 0 !important; } .mxn-sm-0 { margin-right: -0 !important; margin-left: -0 !important; } } - -@media (min-width: 31.25rem) { .m-sm-1 { margin: 0.25rem !important; } .mt-sm-1 { margin-top: 0.25rem !important; } .mr-sm-1 { margin-right: 0.25rem !important; } .mb-sm-1 { margin-bottom: 0.25rem !important; } .ml-sm-1 { margin-left: 0.25rem !important; } .mx-sm-1 { margin-right: 0.25rem !important; margin-left: 0.25rem !important; } .my-sm-1 { margin-top: 0.25rem !important; margin-bottom: 0.25rem !important; } .mxn-sm-1 { margin-right: -0.25rem !important; margin-left: -0.25rem !important; } } - -@media (min-width: 31.25rem) { .m-sm-2 { margin: 0.5rem !important; } .mt-sm-2 { margin-top: 0.5rem !important; } .mr-sm-2 { margin-right: 0.5rem !important; } .mb-sm-2 { margin-bottom: 0.5rem !important; } .ml-sm-2 { margin-left: 0.5rem !important; } .mx-sm-2 { margin-right: 0.5rem !important; margin-left: 0.5rem !important; } .my-sm-2 { margin-top: 0.5rem !important; margin-bottom: 0.5rem !important; } .mxn-sm-2 { margin-right: -0.5rem !important; margin-left: -0.5rem !important; } } - -@media (min-width: 31.25rem) { .m-sm-3 { margin: 0.75rem !important; } .mt-sm-3 { margin-top: 0.75rem !important; } .mr-sm-3 { margin-right: 0.75rem !important; } .mb-sm-3 { margin-bottom: 0.75rem !important; } .ml-sm-3 { margin-left: 0.75rem !important; } .mx-sm-3 { margin-right: 0.75rem !important; margin-left: 0.75rem !important; } .my-sm-3 { margin-top: 0.75rem !important; margin-bottom: 0.75rem !important; } .mxn-sm-3 { margin-right: -0.75rem !important; margin-left: -0.75rem !important; } } - -@media (min-width: 31.25rem) { .m-sm-4 { margin: 1rem !important; } .mt-sm-4 { margin-top: 1rem !important; } .mr-sm-4 { margin-right: 1rem !important; } .mb-sm-4 { margin-bottom: 1rem !important; } .ml-sm-4 { margin-left: 1rem !important; } .mx-sm-4 { margin-right: 1rem !important; margin-left: 1rem !important; } .my-sm-4 { margin-top: 1rem !important; margin-bottom: 1rem !important; } .mxn-sm-4 { margin-right: -1rem !important; margin-left: -1rem !important; } } - -@media (min-width: 31.25rem) { .m-sm-5 { margin: 1.5rem !important; } .mt-sm-5 { margin-top: 1.5rem !important; } .mr-sm-5 { margin-right: 1.5rem !important; } .mb-sm-5 { margin-bottom: 1.5rem !important; } .ml-sm-5 { margin-left: 1.5rem !important; } .mx-sm-5 { margin-right: 1.5rem !important; margin-left: 1.5rem !important; } .my-sm-5 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; } .mxn-sm-5 { margin-right: -1.5rem !important; margin-left: -1.5rem !important; } } - -@media (min-width: 31.25rem) { .m-sm-6 { margin: 2rem !important; } .mt-sm-6 { margin-top: 2rem !important; } .mr-sm-6 { margin-right: 2rem !important; } .mb-sm-6 { margin-bottom: 2rem !important; } .ml-sm-6 { margin-left: 2rem !important; } .mx-sm-6 { margin-right: 2rem !important; margin-left: 2rem !important; } .my-sm-6 { margin-top: 2rem !important; margin-bottom: 2rem !important; } .mxn-sm-6 { margin-right: -2rem !important; margin-left: -2rem !important; } } - -@media (min-width: 31.25rem) { .m-sm-7 { margin: 2.5rem !important; } .mt-sm-7 { margin-top: 2.5rem !important; } .mr-sm-7 { margin-right: 2.5rem !important; } .mb-sm-7 { margin-bottom: 2.5rem !important; } .ml-sm-7 { margin-left: 2.5rem !important; } .mx-sm-7 { margin-right: 2.5rem !important; margin-left: 2.5rem !important; } .my-sm-7 { margin-top: 2.5rem !important; margin-bottom: 2.5rem !important; } .mxn-sm-7 { margin-right: -2.5rem !important; margin-left: -2.5rem !important; } } - -@media (min-width: 31.25rem) { .m-sm-8 { margin: 3rem !important; } .mt-sm-8 { margin-top: 3rem !important; } .mr-sm-8 { margin-right: 3rem !important; } .mb-sm-8 { margin-bottom: 3rem !important; } .ml-sm-8 { margin-left: 3rem !important; } .mx-sm-8 { margin-right: 3rem !important; margin-left: 3rem !important; } .my-sm-8 { margin-top: 3rem !important; margin-bottom: 3rem !important; } .mxn-sm-8 { margin-right: -3rem !important; margin-left: -3rem !important; } } - -@media (min-width: 31.25rem) { .m-sm-9 { margin: 3.5rem !important; } .mt-sm-9 { margin-top: 3.5rem !important; } .mr-sm-9 { margin-right: 3.5rem !important; } .mb-sm-9 { margin-bottom: 3.5rem !important; } .ml-sm-9 { margin-left: 3.5rem !important; } .mx-sm-9 { margin-right: 3.5rem !important; margin-left: 3.5rem !important; } .my-sm-9 { margin-top: 3.5rem !important; margin-bottom: 3.5rem !important; } .mxn-sm-9 { margin-right: -3.5rem !important; margin-left: -3.5rem !important; } } - -@media (min-width: 31.25rem) { .m-sm-10 { margin: 4rem !important; } .mt-sm-10 { margin-top: 4rem !important; } .mr-sm-10 { margin-right: 4rem !important; } .mb-sm-10 { margin-bottom: 4rem !important; } .ml-sm-10 { margin-left: 4rem !important; } .mx-sm-10 { margin-right: 4rem !important; margin-left: 4rem !important; } .my-sm-10 { margin-top: 4rem !important; margin-bottom: 4rem !important; } .mxn-sm-10 { margin-right: -4rem !important; margin-left: -4rem !important; } } - -@media (min-width: 50rem) { .m-md-0 { margin: 0 !important; } .mt-md-0 { margin-top: 0 !important; } .mr-md-0 { margin-right: 0 !important; } .mb-md-0 { margin-bottom: 0 !important; } .ml-md-0 { margin-left: 0 !important; } .mx-md-0 { margin-right: 0 !important; margin-left: 0 !important; } .my-md-0 { margin-top: 0 !important; margin-bottom: 0 !important; } .mxn-md-0 { margin-right: -0 !important; margin-left: -0 !important; } } - -@media (min-width: 50rem) { .m-md-1 { margin: 0.25rem !important; } .mt-md-1 { margin-top: 0.25rem !important; } .mr-md-1 { margin-right: 0.25rem !important; } .mb-md-1 { margin-bottom: 0.25rem !important; } .ml-md-1 { margin-left: 0.25rem !important; } .mx-md-1 { margin-right: 0.25rem !important; margin-left: 0.25rem !important; } .my-md-1 { margin-top: 0.25rem !important; margin-bottom: 0.25rem !important; } .mxn-md-1 { margin-right: -0.25rem !important; margin-left: -0.25rem !important; } } - -@media (min-width: 50rem) { .m-md-2 { margin: 0.5rem !important; } .mt-md-2 { margin-top: 0.5rem !important; } .mr-md-2 { margin-right: 0.5rem !important; } .mb-md-2 { margin-bottom: 0.5rem !important; } .ml-md-2 { margin-left: 0.5rem !important; } .mx-md-2 { margin-right: 0.5rem !important; margin-left: 0.5rem !important; } .my-md-2 { margin-top: 0.5rem !important; margin-bottom: 0.5rem !important; } .mxn-md-2 { margin-right: -0.5rem !important; margin-left: -0.5rem !important; } } - -@media (min-width: 50rem) { .m-md-3 { margin: 0.75rem !important; } .mt-md-3 { margin-top: 0.75rem !important; } .mr-md-3 { margin-right: 0.75rem !important; } .mb-md-3 { margin-bottom: 0.75rem !important; } .ml-md-3 { margin-left: 0.75rem !important; } .mx-md-3 { margin-right: 0.75rem !important; margin-left: 0.75rem !important; } .my-md-3 { margin-top: 0.75rem !important; margin-bottom: 0.75rem !important; } .mxn-md-3 { margin-right: -0.75rem !important; margin-left: -0.75rem !important; } } - -@media (min-width: 50rem) { .m-md-4 { margin: 1rem !important; } .mt-md-4 { margin-top: 1rem !important; } .mr-md-4 { margin-right: 1rem !important; } .mb-md-4 { margin-bottom: 1rem !important; } .ml-md-4 { margin-left: 1rem !important; } .mx-md-4 { margin-right: 1rem !important; margin-left: 1rem !important; } .my-md-4 { margin-top: 1rem !important; margin-bottom: 1rem !important; } .mxn-md-4 { margin-right: -1rem !important; margin-left: -1rem !important; } } - -@media (min-width: 50rem) { .m-md-5 { margin: 1.5rem !important; } .mt-md-5 { margin-top: 1.5rem !important; } .mr-md-5 { margin-right: 1.5rem !important; } .mb-md-5 { margin-bottom: 1.5rem !important; } .ml-md-5 { margin-left: 1.5rem !important; } .mx-md-5 { margin-right: 1.5rem !important; margin-left: 1.5rem !important; } .my-md-5 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; } .mxn-md-5 { margin-right: -1.5rem !important; margin-left: -1.5rem !important; } } - -@media (min-width: 50rem) { .m-md-6 { margin: 2rem !important; } .mt-md-6 { margin-top: 2rem !important; } .mr-md-6 { margin-right: 2rem !important; } .mb-md-6 { margin-bottom: 2rem !important; } .ml-md-6 { margin-left: 2rem !important; } .mx-md-6 { margin-right: 2rem !important; margin-left: 2rem !important; } .my-md-6 { margin-top: 2rem !important; margin-bottom: 2rem !important; } .mxn-md-6 { margin-right: -2rem !important; margin-left: -2rem !important; } } - -@media (min-width: 50rem) { .m-md-7 { margin: 2.5rem !important; } .mt-md-7 { margin-top: 2.5rem !important; } .mr-md-7 { margin-right: 2.5rem !important; } .mb-md-7 { margin-bottom: 2.5rem !important; } .ml-md-7 { margin-left: 2.5rem !important; } .mx-md-7 { margin-right: 2.5rem !important; margin-left: 2.5rem !important; } .my-md-7 { margin-top: 2.5rem !important; margin-bottom: 2.5rem !important; } .mxn-md-7 { margin-right: -2.5rem !important; margin-left: -2.5rem !important; } } - -@media (min-width: 50rem) { .m-md-8 { margin: 3rem !important; } .mt-md-8 { margin-top: 3rem !important; } .mr-md-8 { margin-right: 3rem !important; } .mb-md-8 { margin-bottom: 3rem !important; } .ml-md-8 { margin-left: 3rem !important; } .mx-md-8 { margin-right: 3rem !important; margin-left: 3rem !important; } .my-md-8 { margin-top: 3rem !important; margin-bottom: 3rem !important; } .mxn-md-8 { margin-right: -3rem !important; margin-left: -3rem !important; } } - -@media (min-width: 50rem) { .m-md-9 { margin: 3.5rem !important; } .mt-md-9 { margin-top: 3.5rem !important; } .mr-md-9 { margin-right: 3.5rem !important; } .mb-md-9 { margin-bottom: 3.5rem !important; } .ml-md-9 { margin-left: 3.5rem !important; } .mx-md-9 { margin-right: 3.5rem !important; margin-left: 3.5rem !important; } .my-md-9 { margin-top: 3.5rem !important; margin-bottom: 3.5rem !important; } .mxn-md-9 { margin-right: -3.5rem !important; margin-left: -3.5rem !important; } } - -@media (min-width: 50rem) { .m-md-10 { margin: 4rem !important; } .mt-md-10 { margin-top: 4rem !important; } .mr-md-10 { margin-right: 4rem !important; } .mb-md-10 { margin-bottom: 4rem !important; } .ml-md-10 { margin-left: 4rem !important; } .mx-md-10 { margin-right: 4rem !important; margin-left: 4rem !important; } .my-md-10 { margin-top: 4rem !important; margin-bottom: 4rem !important; } .mxn-md-10 { margin-right: -4rem !important; margin-left: -4rem !important; } } - -@media (min-width: 66.5rem) { .m-lg-0 { margin: 0 !important; } .mt-lg-0 { margin-top: 0 !important; } .mr-lg-0 { margin-right: 0 !important; } .mb-lg-0 { margin-bottom: 0 !important; } .ml-lg-0 { margin-left: 0 !important; } .mx-lg-0 { margin-right: 0 !important; margin-left: 0 !important; } .my-lg-0 { margin-top: 0 !important; margin-bottom: 0 !important; } .mxn-lg-0 { margin-right: -0 !important; margin-left: -0 !important; } } - -@media (min-width: 66.5rem) { .m-lg-1 { margin: 0.25rem !important; } .mt-lg-1 { margin-top: 0.25rem !important; } .mr-lg-1 { margin-right: 0.25rem !important; } .mb-lg-1 { margin-bottom: 0.25rem !important; } .ml-lg-1 { margin-left: 0.25rem !important; } .mx-lg-1 { margin-right: 0.25rem !important; margin-left: 0.25rem !important; } .my-lg-1 { margin-top: 0.25rem !important; margin-bottom: 0.25rem !important; } .mxn-lg-1 { margin-right: -0.25rem !important; margin-left: -0.25rem !important; } } - -@media (min-width: 66.5rem) { .m-lg-2 { margin: 0.5rem !important; } .mt-lg-2 { margin-top: 0.5rem !important; } .mr-lg-2 { margin-right: 0.5rem !important; } .mb-lg-2 { margin-bottom: 0.5rem !important; } .ml-lg-2 { margin-left: 0.5rem !important; } .mx-lg-2 { margin-right: 0.5rem !important; margin-left: 0.5rem !important; } .my-lg-2 { margin-top: 0.5rem !important; margin-bottom: 0.5rem !important; } .mxn-lg-2 { margin-right: -0.5rem !important; margin-left: -0.5rem !important; } } - -@media (min-width: 66.5rem) { .m-lg-3 { margin: 0.75rem !important; } .mt-lg-3 { margin-top: 0.75rem !important; } .mr-lg-3 { margin-right: 0.75rem !important; } .mb-lg-3 { margin-bottom: 0.75rem !important; } .ml-lg-3 { margin-left: 0.75rem !important; } .mx-lg-3 { margin-right: 0.75rem !important; margin-left: 0.75rem !important; } .my-lg-3 { margin-top: 0.75rem !important; margin-bottom: 0.75rem !important; } .mxn-lg-3 { margin-right: -0.75rem !important; margin-left: -0.75rem !important; } } - -@media (min-width: 66.5rem) { .m-lg-4 { margin: 1rem !important; } .mt-lg-4 { margin-top: 1rem !important; } .mr-lg-4 { margin-right: 1rem !important; } .mb-lg-4 { margin-bottom: 1rem !important; } .ml-lg-4 { margin-left: 1rem !important; } .mx-lg-4 { margin-right: 1rem !important; margin-left: 1rem !important; } .my-lg-4 { margin-top: 1rem !important; margin-bottom: 1rem !important; } .mxn-lg-4 { margin-right: -1rem !important; margin-left: -1rem !important; } } - -@media (min-width: 66.5rem) { .m-lg-5 { margin: 1.5rem !important; } .mt-lg-5 { margin-top: 1.5rem !important; } .mr-lg-5 { margin-right: 1.5rem !important; } .mb-lg-5 { margin-bottom: 1.5rem !important; } .ml-lg-5 { margin-left: 1.5rem !important; } .mx-lg-5 { margin-right: 1.5rem !important; margin-left: 1.5rem !important; } .my-lg-5 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; } .mxn-lg-5 { margin-right: -1.5rem !important; margin-left: -1.5rem !important; } } - -@media (min-width: 66.5rem) { .m-lg-6 { margin: 2rem !important; } .mt-lg-6 { margin-top: 2rem !important; } .mr-lg-6 { margin-right: 2rem !important; } .mb-lg-6 { margin-bottom: 2rem !important; } .ml-lg-6 { margin-left: 2rem !important; } .mx-lg-6 { margin-right: 2rem !important; margin-left: 2rem !important; } .my-lg-6 { margin-top: 2rem !important; margin-bottom: 2rem !important; } .mxn-lg-6 { margin-right: -2rem !important; margin-left: -2rem !important; } } - -@media (min-width: 66.5rem) { .m-lg-7 { margin: 2.5rem !important; } .mt-lg-7 { margin-top: 2.5rem !important; } .mr-lg-7 { margin-right: 2.5rem !important; } .mb-lg-7 { margin-bottom: 2.5rem !important; } .ml-lg-7 { margin-left: 2.5rem !important; } .mx-lg-7 { margin-right: 2.5rem !important; margin-left: 2.5rem !important; } .my-lg-7 { margin-top: 2.5rem !important; margin-bottom: 2.5rem !important; } .mxn-lg-7 { margin-right: -2.5rem !important; margin-left: -2.5rem !important; } } - -@media (min-width: 66.5rem) { .m-lg-8 { margin: 3rem !important; } .mt-lg-8 { margin-top: 3rem !important; } .mr-lg-8 { margin-right: 3rem !important; } .mb-lg-8 { margin-bottom: 3rem !important; } .ml-lg-8 { margin-left: 3rem !important; } .mx-lg-8 { margin-right: 3rem !important; margin-left: 3rem !important; } .my-lg-8 { margin-top: 3rem !important; margin-bottom: 3rem !important; } .mxn-lg-8 { margin-right: -3rem !important; margin-left: -3rem !important; } } - -@media (min-width: 66.5rem) { .m-lg-9 { margin: 3.5rem !important; } .mt-lg-9 { margin-top: 3.5rem !important; } .mr-lg-9 { margin-right: 3.5rem !important; } .mb-lg-9 { margin-bottom: 3.5rem !important; } .ml-lg-9 { margin-left: 3.5rem !important; } .mx-lg-9 { margin-right: 3.5rem !important; margin-left: 3.5rem !important; } .my-lg-9 { margin-top: 3.5rem !important; margin-bottom: 3.5rem !important; } .mxn-lg-9 { margin-right: -3.5rem !important; margin-left: -3.5rem !important; } } - -@media (min-width: 66.5rem) { .m-lg-10 { margin: 4rem !important; } .mt-lg-10 { margin-top: 4rem !important; } .mr-lg-10 { margin-right: 4rem !important; } .mb-lg-10 { margin-bottom: 4rem !important; } .ml-lg-10 { margin-left: 4rem !important; } .mx-lg-10 { margin-right: 4rem !important; margin-left: 4rem !important; } .my-lg-10 { margin-top: 4rem !important; margin-bottom: 4rem !important; } .mxn-lg-10 { margin-right: -4rem !important; margin-left: -4rem !important; } } - -@media (min-width: 87.5rem) { .m-xl-0 { margin: 0 !important; } .mt-xl-0 { margin-top: 0 !important; } .mr-xl-0 { margin-right: 0 !important; } .mb-xl-0 { margin-bottom: 0 !important; } .ml-xl-0 { margin-left: 0 !important; } .mx-xl-0 { margin-right: 0 !important; margin-left: 0 !important; } .my-xl-0 { margin-top: 0 !important; margin-bottom: 0 !important; } .mxn-xl-0 { margin-right: -0 !important; margin-left: -0 !important; } } - -@media (min-width: 87.5rem) { .m-xl-1 { margin: 0.25rem !important; } .mt-xl-1 { margin-top: 0.25rem !important; } .mr-xl-1 { margin-right: 0.25rem !important; } .mb-xl-1 { margin-bottom: 0.25rem !important; } .ml-xl-1 { margin-left: 0.25rem !important; } .mx-xl-1 { margin-right: 0.25rem !important; margin-left: 0.25rem !important; } .my-xl-1 { margin-top: 0.25rem !important; margin-bottom: 0.25rem !important; } .mxn-xl-1 { margin-right: -0.25rem !important; margin-left: -0.25rem !important; } } - -@media (min-width: 87.5rem) { .m-xl-2 { margin: 0.5rem !important; } .mt-xl-2 { margin-top: 0.5rem !important; } .mr-xl-2 { margin-right: 0.5rem !important; } .mb-xl-2 { margin-bottom: 0.5rem !important; } .ml-xl-2 { margin-left: 0.5rem !important; } .mx-xl-2 { margin-right: 0.5rem !important; margin-left: 0.5rem !important; } .my-xl-2 { margin-top: 0.5rem !important; margin-bottom: 0.5rem !important; } .mxn-xl-2 { margin-right: -0.5rem !important; margin-left: -0.5rem !important; } } - -@media (min-width: 87.5rem) { .m-xl-3 { margin: 0.75rem !important; } .mt-xl-3 { margin-top: 0.75rem !important; } .mr-xl-3 { margin-right: 0.75rem !important; } .mb-xl-3 { margin-bottom: 0.75rem !important; } .ml-xl-3 { margin-left: 0.75rem !important; } .mx-xl-3 { margin-right: 0.75rem !important; margin-left: 0.75rem !important; } .my-xl-3 { margin-top: 0.75rem !important; margin-bottom: 0.75rem !important; } .mxn-xl-3 { margin-right: -0.75rem !important; margin-left: -0.75rem !important; } } - -@media (min-width: 87.5rem) { .m-xl-4 { margin: 1rem !important; } .mt-xl-4 { margin-top: 1rem !important; } .mr-xl-4 { margin-right: 1rem !important; } .mb-xl-4 { margin-bottom: 1rem !important; } .ml-xl-4 { margin-left: 1rem !important; } .mx-xl-4 { margin-right: 1rem !important; margin-left: 1rem !important; } .my-xl-4 { margin-top: 1rem !important; margin-bottom: 1rem !important; } .mxn-xl-4 { margin-right: -1rem !important; margin-left: -1rem !important; } } - -@media (min-width: 87.5rem) { .m-xl-5 { margin: 1.5rem !important; } .mt-xl-5 { margin-top: 1.5rem !important; } .mr-xl-5 { margin-right: 1.5rem !important; } .mb-xl-5 { margin-bottom: 1.5rem !important; } .ml-xl-5 { margin-left: 1.5rem !important; } .mx-xl-5 { margin-right: 1.5rem !important; margin-left: 1.5rem !important; } .my-xl-5 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; } .mxn-xl-5 { margin-right: -1.5rem !important; margin-left: -1.5rem !important; } } - -@media (min-width: 87.5rem) { .m-xl-6 { margin: 2rem !important; } .mt-xl-6 { margin-top: 2rem !important; } .mr-xl-6 { margin-right: 2rem !important; } .mb-xl-6 { margin-bottom: 2rem !important; } .ml-xl-6 { margin-left: 2rem !important; } .mx-xl-6 { margin-right: 2rem !important; margin-left: 2rem !important; } .my-xl-6 { margin-top: 2rem !important; margin-bottom: 2rem !important; } .mxn-xl-6 { margin-right: -2rem !important; margin-left: -2rem !important; } } - -@media (min-width: 87.5rem) { .m-xl-7 { margin: 2.5rem !important; } .mt-xl-7 { margin-top: 2.5rem !important; } .mr-xl-7 { margin-right: 2.5rem !important; } .mb-xl-7 { margin-bottom: 2.5rem !important; } .ml-xl-7 { margin-left: 2.5rem !important; } .mx-xl-7 { margin-right: 2.5rem !important; margin-left: 2.5rem !important; } .my-xl-7 { margin-top: 2.5rem !important; margin-bottom: 2.5rem !important; } .mxn-xl-7 { margin-right: -2.5rem !important; margin-left: -2.5rem !important; } } - -@media (min-width: 87.5rem) { .m-xl-8 { margin: 3rem !important; } .mt-xl-8 { margin-top: 3rem !important; } .mr-xl-8 { margin-right: 3rem !important; } .mb-xl-8 { margin-bottom: 3rem !important; } .ml-xl-8 { margin-left: 3rem !important; } .mx-xl-8 { margin-right: 3rem !important; margin-left: 3rem !important; } .my-xl-8 { margin-top: 3rem !important; margin-bottom: 3rem !important; } .mxn-xl-8 { margin-right: -3rem !important; margin-left: -3rem !important; } } - -@media (min-width: 87.5rem) { .m-xl-9 { margin: 3.5rem !important; } .mt-xl-9 { margin-top: 3.5rem !important; } .mr-xl-9 { margin-right: 3.5rem !important; } .mb-xl-9 { margin-bottom: 3.5rem !important; } .ml-xl-9 { margin-left: 3.5rem !important; } .mx-xl-9 { margin-right: 3.5rem !important; margin-left: 3.5rem !important; } .my-xl-9 { margin-top: 3.5rem !important; margin-bottom: 3.5rem !important; } .mxn-xl-9 { margin-right: -3.5rem !important; margin-left: -3.5rem !important; } } - -@media (min-width: 87.5rem) { .m-xl-10 { margin: 4rem !important; } .mt-xl-10 { margin-top: 4rem !important; } .mr-xl-10 { margin-right: 4rem !important; } .mb-xl-10 { margin-bottom: 4rem !important; } .ml-xl-10 { margin-left: 4rem !important; } .mx-xl-10 { margin-right: 4rem !important; margin-left: 4rem !important; } .my-xl-10 { margin-top: 4rem !important; margin-bottom: 4rem !important; } .mxn-xl-10 { margin-right: -4rem !important; margin-left: -4rem !important; } } - -.p-0 { padding: 0 !important; } - -.pt-0 { padding-top: 0 !important; } - -.pr-0 { padding-right: 0 !important; } - -.pb-0 { padding-bottom: 0 !important; } - -.pl-0 { padding-left: 0 !important; } - -.px-0 { padding-right: 0 !important; padding-left: 0 !important; } - -.py-0 { padding-top: 0 !important; padding-bottom: 0 !important; } - -.p-1 { padding: 0.25rem !important; } - -.pt-1 { padding-top: 0.25rem !important; } - -.pr-1 { padding-right: 0.25rem !important; } - -.pb-1 { padding-bottom: 0.25rem !important; } - -.pl-1 { padding-left: 0.25rem !important; } - -.px-1 { padding-right: 0.25rem !important; padding-left: 0.25rem !important; } - -.py-1 { padding-top: 0.25rem !important; padding-bottom: 0.25rem !important; } - -.p-2 { padding: 0.5rem !important; } - -.pt-2 { padding-top: 0.5rem !important; } - -.pr-2 { padding-right: 0.5rem !important; } - -.pb-2 { padding-bottom: 0.5rem !important; } - -.pl-2 { padding-left: 0.5rem !important; } - -.px-2 { padding-right: 0.5rem !important; padding-left: 0.5rem !important; } - -.py-2 { padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; } - -.p-3 { padding: 0.75rem !important; } - -.pt-3 { padding-top: 0.75rem !important; } - -.pr-3 { padding-right: 0.75rem !important; } - -.pb-3 { padding-bottom: 0.75rem !important; } - -.pl-3 { padding-left: 0.75rem !important; } - -.px-3 { padding-right: 0.75rem !important; padding-left: 0.75rem !important; } - -.py-3 { padding-top: 0.75rem !important; padding-bottom: 0.75rem !important; } - -.p-4 { padding: 1rem !important; } - -.pt-4 { padding-top: 1rem !important; } - -.pr-4 { padding-right: 1rem !important; } - -.pb-4 { padding-bottom: 1rem !important; } - -.pl-4 { padding-left: 1rem !important; } - -.px-4 { padding-right: 1rem !important; padding-left: 1rem !important; } - -.py-4 { padding-top: 1rem !important; padding-bottom: 1rem !important; } - -.p-5 { padding: 1.5rem !important; } - -.pt-5 { padding-top: 1.5rem !important; } - -.pr-5 { padding-right: 1.5rem !important; } - -.pb-5 { padding-bottom: 1.5rem !important; } - -.pl-5 { padding-left: 1.5rem !important; } - -.px-5 { padding-right: 1.5rem !important; padding-left: 1.5rem !important; } - -.py-5 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; } - -.p-6 { padding: 2rem !important; } - -.pt-6 { padding-top: 2rem !important; } - -.pr-6 { padding-right: 2rem !important; } - -.pb-6 { padding-bottom: 2rem !important; } - -.pl-6 { padding-left: 2rem !important; } - -.px-6 { padding-right: 2rem !important; padding-left: 2rem !important; } - -.py-6 { padding-top: 2rem !important; padding-bottom: 2rem !important; } - -.p-7 { padding: 2.5rem !important; } - -.pt-7 { padding-top: 2.5rem !important; } - -.pr-7 { padding-right: 2.5rem !important; } - -.pb-7 { padding-bottom: 2.5rem !important; } - -.pl-7 { padding-left: 2.5rem !important; } - -.px-7 { padding-right: 2.5rem !important; padding-left: 2.5rem !important; } - -.py-7 { padding-top: 2.5rem !important; padding-bottom: 2.5rem !important; } - -.p-8 { padding: 3rem !important; } - -.pt-8 { padding-top: 3rem !important; } - -.pr-8 { padding-right: 3rem !important; } - -.pb-8 { padding-bottom: 3rem !important; } - -.pl-8 { padding-left: 3rem !important; } - -.px-8 { padding-right: 3rem !important; padding-left: 3rem !important; } - -.py-8 { padding-top: 3rem !important; padding-bottom: 3rem !important; } - -.p-9 { padding: 3.5rem !important; } - -.pt-9 { padding-top: 3.5rem !important; } - -.pr-9 { padding-right: 3.5rem !important; } - -.pb-9 { padding-bottom: 3.5rem !important; } - -.pl-9 { padding-left: 3.5rem !important; } - -.px-9 { padding-right: 3.5rem !important; padding-left: 3.5rem !important; } - -.py-9 { padding-top: 3.5rem !important; padding-bottom: 3.5rem !important; } - -.p-10 { padding: 4rem !important; } - -.pt-10 { padding-top: 4rem !important; } - -.pr-10 { padding-right: 4rem !important; } - -.pb-10 { padding-bottom: 4rem !important; } - -.pl-10 { padding-left: 4rem !important; } - -.px-10 { padding-right: 4rem !important; padding-left: 4rem !important; } - -.py-10 { padding-top: 4rem !important; padding-bottom: 4rem !important; } - -@media (min-width: 20rem) { .p-xs-0 { padding: 0 !important; } .pt-xs-0 { padding-top: 0 !important; } .pr-xs-0 { padding-right: 0 !important; } .pb-xs-0 { padding-bottom: 0 !important; } .pl-xs-0 { padding-left: 0 !important; } .px-xs-0 { padding-right: 0 !important; padding-left: 0 !important; } .py-xs-0 { padding-top: 0 !important; padding-bottom: 0 !important; } .p-xs-1 { padding: 0.25rem !important; } .pt-xs-1 { padding-top: 0.25rem !important; } .pr-xs-1 { padding-right: 0.25rem !important; } .pb-xs-1 { padding-bottom: 0.25rem !important; } .pl-xs-1 { padding-left: 0.25rem !important; } .px-xs-1 { padding-right: 0.25rem !important; padding-left: 0.25rem !important; } .py-xs-1 { padding-top: 0.25rem !important; padding-bottom: 0.25rem !important; } .p-xs-2 { padding: 0.5rem !important; } .pt-xs-2 { padding-top: 0.5rem !important; } .pr-xs-2 { padding-right: 0.5rem !important; } .pb-xs-2 { padding-bottom: 0.5rem !important; } .pl-xs-2 { padding-left: 0.5rem !important; } .px-xs-2 { padding-right: 0.5rem !important; padding-left: 0.5rem !important; } .py-xs-2 { padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; } .p-xs-3 { padding: 0.75rem !important; } .pt-xs-3 { padding-top: 0.75rem !important; } .pr-xs-3 { padding-right: 0.75rem !important; } .pb-xs-3 { padding-bottom: 0.75rem !important; } .pl-xs-3 { padding-left: 0.75rem !important; } .px-xs-3 { padding-right: 0.75rem !important; padding-left: 0.75rem !important; } .py-xs-3 { padding-top: 0.75rem !important; padding-bottom: 0.75rem !important; } .p-xs-4 { padding: 1rem !important; } .pt-xs-4 { padding-top: 1rem !important; } .pr-xs-4 { padding-right: 1rem !important; } .pb-xs-4 { padding-bottom: 1rem !important; } .pl-xs-4 { padding-left: 1rem !important; } .px-xs-4 { padding-right: 1rem !important; padding-left: 1rem !important; } .py-xs-4 { padding-top: 1rem !important; padding-bottom: 1rem !important; } .p-xs-5 { padding: 1.5rem !important; } .pt-xs-5 { padding-top: 1.5rem !important; } .pr-xs-5 { padding-right: 1.5rem !important; } .pb-xs-5 { padding-bottom: 1.5rem !important; } .pl-xs-5 { padding-left: 1.5rem !important; } .px-xs-5 { padding-right: 1.5rem !important; padding-left: 1.5rem !important; } .py-xs-5 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; } .p-xs-6 { padding: 2rem !important; } .pt-xs-6 { padding-top: 2rem !important; } .pr-xs-6 { padding-right: 2rem !important; } .pb-xs-6 { padding-bottom: 2rem !important; } .pl-xs-6 { padding-left: 2rem !important; } .px-xs-6 { padding-right: 2rem !important; padding-left: 2rem !important; } .py-xs-6 { padding-top: 2rem !important; padding-bottom: 2rem !important; } .p-xs-7 { padding: 2.5rem !important; } .pt-xs-7 { padding-top: 2.5rem !important; } .pr-xs-7 { padding-right: 2.5rem !important; } .pb-xs-7 { padding-bottom: 2.5rem !important; } .pl-xs-7 { padding-left: 2.5rem !important; } .px-xs-7 { padding-right: 2.5rem !important; padding-left: 2.5rem !important; } .py-xs-7 { padding-top: 2.5rem !important; padding-bottom: 2.5rem !important; } .p-xs-8 { padding: 3rem !important; } .pt-xs-8 { padding-top: 3rem !important; } .pr-xs-8 { padding-right: 3rem !important; } .pb-xs-8 { padding-bottom: 3rem !important; } .pl-xs-8 { padding-left: 3rem !important; } .px-xs-8 { padding-right: 3rem !important; padding-left: 3rem !important; } .py-xs-8 { padding-top: 3rem !important; padding-bottom: 3rem !important; } .p-xs-9 { padding: 3.5rem !important; } .pt-xs-9 { padding-top: 3.5rem !important; } .pr-xs-9 { padding-right: 3.5rem !important; } .pb-xs-9 { padding-bottom: 3.5rem !important; } .pl-xs-9 { padding-left: 3.5rem !important; } .px-xs-9 { padding-right: 3.5rem !important; padding-left: 3.5rem !important; } .py-xs-9 { padding-top: 3.5rem !important; padding-bottom: 3.5rem !important; } .p-xs-10 { padding: 4rem !important; } .pt-xs-10 { padding-top: 4rem !important; } .pr-xs-10 { padding-right: 4rem !important; } .pb-xs-10 { padding-bottom: 4rem !important; } .pl-xs-10 { padding-left: 4rem !important; } .px-xs-10 { padding-right: 4rem !important; padding-left: 4rem !important; } .py-xs-10 { padding-top: 4rem !important; padding-bottom: 4rem !important; } } - -@media (min-width: 31.25rem) { .p-sm-0 { padding: 0 !important; } .pt-sm-0 { padding-top: 0 !important; } .pr-sm-0 { padding-right: 0 !important; } .pb-sm-0 { padding-bottom: 0 !important; } .pl-sm-0 { padding-left: 0 !important; } .px-sm-0 { padding-right: 0 !important; padding-left: 0 !important; } .py-sm-0 { padding-top: 0 !important; padding-bottom: 0 !important; } .p-sm-1 { padding: 0.25rem !important; } .pt-sm-1 { padding-top: 0.25rem !important; } .pr-sm-1 { padding-right: 0.25rem !important; } .pb-sm-1 { padding-bottom: 0.25rem !important; } .pl-sm-1 { padding-left: 0.25rem !important; } .px-sm-1 { padding-right: 0.25rem !important; padding-left: 0.25rem !important; } .py-sm-1 { padding-top: 0.25rem !important; padding-bottom: 0.25rem !important; } .p-sm-2 { padding: 0.5rem !important; } .pt-sm-2 { padding-top: 0.5rem !important; } .pr-sm-2 { padding-right: 0.5rem !important; } .pb-sm-2 { padding-bottom: 0.5rem !important; } .pl-sm-2 { padding-left: 0.5rem !important; } .px-sm-2 { padding-right: 0.5rem !important; padding-left: 0.5rem !important; } .py-sm-2 { padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; } .p-sm-3 { padding: 0.75rem !important; } .pt-sm-3 { padding-top: 0.75rem !important; } .pr-sm-3 { padding-right: 0.75rem !important; } .pb-sm-3 { padding-bottom: 0.75rem !important; } .pl-sm-3 { padding-left: 0.75rem !important; } .px-sm-3 { padding-right: 0.75rem !important; padding-left: 0.75rem !important; } .py-sm-3 { padding-top: 0.75rem !important; padding-bottom: 0.75rem !important; } .p-sm-4 { padding: 1rem !important; } .pt-sm-4 { padding-top: 1rem !important; } .pr-sm-4 { padding-right: 1rem !important; } .pb-sm-4 { padding-bottom: 1rem !important; } .pl-sm-4 { padding-left: 1rem !important; } .px-sm-4 { padding-right: 1rem !important; padding-left: 1rem !important; } .py-sm-4 { padding-top: 1rem !important; padding-bottom: 1rem !important; } .p-sm-5 { padding: 1.5rem !important; } .pt-sm-5 { padding-top: 1.5rem !important; } .pr-sm-5 { padding-right: 1.5rem !important; } .pb-sm-5 { padding-bottom: 1.5rem !important; } .pl-sm-5 { padding-left: 1.5rem !important; } .px-sm-5 { padding-right: 1.5rem !important; padding-left: 1.5rem !important; } .py-sm-5 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; } .p-sm-6 { padding: 2rem !important; } .pt-sm-6 { padding-top: 2rem !important; } .pr-sm-6 { padding-right: 2rem !important; } .pb-sm-6 { padding-bottom: 2rem !important; } .pl-sm-6 { padding-left: 2rem !important; } .px-sm-6 { padding-right: 2rem !important; padding-left: 2rem !important; } .py-sm-6 { padding-top: 2rem !important; padding-bottom: 2rem !important; } .p-sm-7 { padding: 2.5rem !important; } .pt-sm-7 { padding-top: 2.5rem !important; } .pr-sm-7 { padding-right: 2.5rem !important; } .pb-sm-7 { padding-bottom: 2.5rem !important; } .pl-sm-7 { padding-left: 2.5rem !important; } .px-sm-7 { padding-right: 2.5rem !important; padding-left: 2.5rem !important; } .py-sm-7 { padding-top: 2.5rem !important; padding-bottom: 2.5rem !important; } .p-sm-8 { padding: 3rem !important; } .pt-sm-8 { padding-top: 3rem !important; } .pr-sm-8 { padding-right: 3rem !important; } .pb-sm-8 { padding-bottom: 3rem !important; } .pl-sm-8 { padding-left: 3rem !important; } .px-sm-8 { padding-right: 3rem !important; padding-left: 3rem !important; } .py-sm-8 { padding-top: 3rem !important; padding-bottom: 3rem !important; } .p-sm-9 { padding: 3.5rem !important; } .pt-sm-9 { padding-top: 3.5rem !important; } .pr-sm-9 { padding-right: 3.5rem !important; } .pb-sm-9 { padding-bottom: 3.5rem !important; } .pl-sm-9 { padding-left: 3.5rem !important; } .px-sm-9 { padding-right: 3.5rem !important; padding-left: 3.5rem !important; } .py-sm-9 { padding-top: 3.5rem !important; padding-bottom: 3.5rem !important; } .p-sm-10 { padding: 4rem !important; } .pt-sm-10 { padding-top: 4rem !important; } .pr-sm-10 { padding-right: 4rem !important; } .pb-sm-10 { padding-bottom: 4rem !important; } .pl-sm-10 { padding-left: 4rem !important; } .px-sm-10 { padding-right: 4rem !important; padding-left: 4rem !important; } .py-sm-10 { padding-top: 4rem !important; padding-bottom: 4rem !important; } } - -@media (min-width: 50rem) { .p-md-0 { padding: 0 !important; } .pt-md-0 { padding-top: 0 !important; } .pr-md-0 { padding-right: 0 !important; } .pb-md-0 { padding-bottom: 0 !important; } .pl-md-0 { padding-left: 0 !important; } .px-md-0 { padding-right: 0 !important; padding-left: 0 !important; } .py-md-0 { padding-top: 0 !important; padding-bottom: 0 !important; } .p-md-1 { padding: 0.25rem !important; } .pt-md-1 { padding-top: 0.25rem !important; } .pr-md-1 { padding-right: 0.25rem !important; } .pb-md-1 { padding-bottom: 0.25rem !important; } .pl-md-1 { padding-left: 0.25rem !important; } .px-md-1 { padding-right: 0.25rem !important; padding-left: 0.25rem !important; } .py-md-1 { padding-top: 0.25rem !important; padding-bottom: 0.25rem !important; } .p-md-2 { padding: 0.5rem !important; } .pt-md-2 { padding-top: 0.5rem !important; } .pr-md-2 { padding-right: 0.5rem !important; } .pb-md-2 { padding-bottom: 0.5rem !important; } .pl-md-2 { padding-left: 0.5rem !important; } .px-md-2 { padding-right: 0.5rem !important; padding-left: 0.5rem !important; } .py-md-2 { padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; } .p-md-3 { padding: 0.75rem !important; } .pt-md-3 { padding-top: 0.75rem !important; } .pr-md-3 { padding-right: 0.75rem !important; } .pb-md-3 { padding-bottom: 0.75rem !important; } .pl-md-3 { padding-left: 0.75rem !important; } .px-md-3 { padding-right: 0.75rem !important; padding-left: 0.75rem !important; } .py-md-3 { padding-top: 0.75rem !important; padding-bottom: 0.75rem !important; } .p-md-4 { padding: 1rem !important; } .pt-md-4 { padding-top: 1rem !important; } .pr-md-4 { padding-right: 1rem !important; } .pb-md-4 { padding-bottom: 1rem !important; } .pl-md-4 { padding-left: 1rem !important; } .px-md-4 { padding-right: 1rem !important; padding-left: 1rem !important; } .py-md-4 { padding-top: 1rem !important; padding-bottom: 1rem !important; } .p-md-5 { padding: 1.5rem !important; } .pt-md-5 { padding-top: 1.5rem !important; } .pr-md-5 { padding-right: 1.5rem !important; } .pb-md-5 { padding-bottom: 1.5rem !important; } .pl-md-5 { padding-left: 1.5rem !important; } .px-md-5 { padding-right: 1.5rem !important; padding-left: 1.5rem !important; } .py-md-5 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; } .p-md-6 { padding: 2rem !important; } .pt-md-6 { padding-top: 2rem !important; } .pr-md-6 { padding-right: 2rem !important; } .pb-md-6 { padding-bottom: 2rem !important; } .pl-md-6 { padding-left: 2rem !important; } .px-md-6 { padding-right: 2rem !important; padding-left: 2rem !important; } .py-md-6 { padding-top: 2rem !important; padding-bottom: 2rem !important; } .p-md-7 { padding: 2.5rem !important; } .pt-md-7 { padding-top: 2.5rem !important; } .pr-md-7 { padding-right: 2.5rem !important; } .pb-md-7 { padding-bottom: 2.5rem !important; } .pl-md-7 { padding-left: 2.5rem !important; } .px-md-7 { padding-right: 2.5rem !important; padding-left: 2.5rem !important; } .py-md-7 { padding-top: 2.5rem !important; padding-bottom: 2.5rem !important; } .p-md-8 { padding: 3rem !important; } .pt-md-8 { padding-top: 3rem !important; } .pr-md-8 { padding-right: 3rem !important; } .pb-md-8 { padding-bottom: 3rem !important; } .pl-md-8 { padding-left: 3rem !important; } .px-md-8 { padding-right: 3rem !important; padding-left: 3rem !important; } .py-md-8 { padding-top: 3rem !important; padding-bottom: 3rem !important; } .p-md-9 { padding: 3.5rem !important; } .pt-md-9 { padding-top: 3.5rem !important; } .pr-md-9 { padding-right: 3.5rem !important; } .pb-md-9 { padding-bottom: 3.5rem !important; } .pl-md-9 { padding-left: 3.5rem !important; } .px-md-9 { padding-right: 3.5rem !important; padding-left: 3.5rem !important; } .py-md-9 { padding-top: 3.5rem !important; padding-bottom: 3.5rem !important; } .p-md-10 { padding: 4rem !important; } .pt-md-10 { padding-top: 4rem !important; } .pr-md-10 { padding-right: 4rem !important; } .pb-md-10 { padding-bottom: 4rem !important; } .pl-md-10 { padding-left: 4rem !important; } .px-md-10 { padding-right: 4rem !important; padding-left: 4rem !important; } .py-md-10 { padding-top: 4rem !important; padding-bottom: 4rem !important; } } - -@media (min-width: 66.5rem) { .p-lg-0 { padding: 0 !important; } .pt-lg-0 { padding-top: 0 !important; } .pr-lg-0 { padding-right: 0 !important; } .pb-lg-0 { padding-bottom: 0 !important; } .pl-lg-0 { padding-left: 0 !important; } .px-lg-0 { padding-right: 0 !important; padding-left: 0 !important; } .py-lg-0 { padding-top: 0 !important; padding-bottom: 0 !important; } .p-lg-1 { padding: 0.25rem !important; } .pt-lg-1 { padding-top: 0.25rem !important; } .pr-lg-1 { padding-right: 0.25rem !important; } .pb-lg-1 { padding-bottom: 0.25rem !important; } .pl-lg-1 { padding-left: 0.25rem !important; } .px-lg-1 { padding-right: 0.25rem !important; padding-left: 0.25rem !important; } .py-lg-1 { padding-top: 0.25rem !important; padding-bottom: 0.25rem !important; } .p-lg-2 { padding: 0.5rem !important; } .pt-lg-2 { padding-top: 0.5rem !important; } .pr-lg-2 { padding-right: 0.5rem !important; } .pb-lg-2 { padding-bottom: 0.5rem !important; } .pl-lg-2 { padding-left: 0.5rem !important; } .px-lg-2 { padding-right: 0.5rem !important; padding-left: 0.5rem !important; } .py-lg-2 { padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; } .p-lg-3 { padding: 0.75rem !important; } .pt-lg-3 { padding-top: 0.75rem !important; } .pr-lg-3 { padding-right: 0.75rem !important; } .pb-lg-3 { padding-bottom: 0.75rem !important; } .pl-lg-3 { padding-left: 0.75rem !important; } .px-lg-3 { padding-right: 0.75rem !important; padding-left: 0.75rem !important; } .py-lg-3 { padding-top: 0.75rem !important; padding-bottom: 0.75rem !important; } .p-lg-4 { padding: 1rem !important; } .pt-lg-4 { padding-top: 1rem !important; } .pr-lg-4 { padding-right: 1rem !important; } .pb-lg-4 { padding-bottom: 1rem !important; } .pl-lg-4 { padding-left: 1rem !important; } .px-lg-4 { padding-right: 1rem !important; padding-left: 1rem !important; } .py-lg-4 { padding-top: 1rem !important; padding-bottom: 1rem !important; } .p-lg-5 { padding: 1.5rem !important; } .pt-lg-5 { padding-top: 1.5rem !important; } .pr-lg-5 { padding-right: 1.5rem !important; } .pb-lg-5 { padding-bottom: 1.5rem !important; } .pl-lg-5 { padding-left: 1.5rem !important; } .px-lg-5 { padding-right: 1.5rem !important; padding-left: 1.5rem !important; } .py-lg-5 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; } .p-lg-6 { padding: 2rem !important; } .pt-lg-6 { padding-top: 2rem !important; } .pr-lg-6 { padding-right: 2rem !important; } .pb-lg-6 { padding-bottom: 2rem !important; } .pl-lg-6 { padding-left: 2rem !important; } .px-lg-6 { padding-right: 2rem !important; padding-left: 2rem !important; } .py-lg-6 { padding-top: 2rem !important; padding-bottom: 2rem !important; } .p-lg-7 { padding: 2.5rem !important; } .pt-lg-7 { padding-top: 2.5rem !important; } .pr-lg-7 { padding-right: 2.5rem !important; } .pb-lg-7 { padding-bottom: 2.5rem !important; } .pl-lg-7 { padding-left: 2.5rem !important; } .px-lg-7 { padding-right: 2.5rem !important; padding-left: 2.5rem !important; } .py-lg-7 { padding-top: 2.5rem !important; padding-bottom: 2.5rem !important; } .p-lg-8 { padding: 3rem !important; } .pt-lg-8 { padding-top: 3rem !important; } .pr-lg-8 { padding-right: 3rem !important; } .pb-lg-8 { padding-bottom: 3rem !important; } .pl-lg-8 { padding-left: 3rem !important; } .px-lg-8 { padding-right: 3rem !important; padding-left: 3rem !important; } .py-lg-8 { padding-top: 3rem !important; padding-bottom: 3rem !important; } .p-lg-9 { padding: 3.5rem !important; } .pt-lg-9 { padding-top: 3.5rem !important; } .pr-lg-9 { padding-right: 3.5rem !important; } .pb-lg-9 { padding-bottom: 3.5rem !important; } .pl-lg-9 { padding-left: 3.5rem !important; } .px-lg-9 { padding-right: 3.5rem !important; padding-left: 3.5rem !important; } .py-lg-9 { padding-top: 3.5rem !important; padding-bottom: 3.5rem !important; } .p-lg-10 { padding: 4rem !important; } .pt-lg-10 { padding-top: 4rem !important; } .pr-lg-10 { padding-right: 4rem !important; } .pb-lg-10 { padding-bottom: 4rem !important; } .pl-lg-10 { padding-left: 4rem !important; } .px-lg-10 { padding-right: 4rem !important; padding-left: 4rem !important; } .py-lg-10 { padding-top: 4rem !important; padding-bottom: 4rem !important; } } - -@media (min-width: 87.5rem) { .p-xl-0 { padding: 0 !important; } .pt-xl-0 { padding-top: 0 !important; } .pr-xl-0 { padding-right: 0 !important; } .pb-xl-0 { padding-bottom: 0 !important; } .pl-xl-0 { padding-left: 0 !important; } .px-xl-0 { padding-right: 0 !important; padding-left: 0 !important; } .py-xl-0 { padding-top: 0 !important; padding-bottom: 0 !important; } .p-xl-1 { padding: 0.25rem !important; } .pt-xl-1 { padding-top: 0.25rem !important; } .pr-xl-1 { padding-right: 0.25rem !important; } .pb-xl-1 { padding-bottom: 0.25rem !important; } .pl-xl-1 { padding-left: 0.25rem !important; } .px-xl-1 { padding-right: 0.25rem !important; padding-left: 0.25rem !important; } .py-xl-1 { padding-top: 0.25rem !important; padding-bottom: 0.25rem !important; } .p-xl-2 { padding: 0.5rem !important; } .pt-xl-2 { padding-top: 0.5rem !important; } .pr-xl-2 { padding-right: 0.5rem !important; } .pb-xl-2 { padding-bottom: 0.5rem !important; } .pl-xl-2 { padding-left: 0.5rem !important; } .px-xl-2 { padding-right: 0.5rem !important; padding-left: 0.5rem !important; } .py-xl-2 { padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; } .p-xl-3 { padding: 0.75rem !important; } .pt-xl-3 { padding-top: 0.75rem !important; } .pr-xl-3 { padding-right: 0.75rem !important; } .pb-xl-3 { padding-bottom: 0.75rem !important; } .pl-xl-3 { padding-left: 0.75rem !important; } .px-xl-3 { padding-right: 0.75rem !important; padding-left: 0.75rem !important; } .py-xl-3 { padding-top: 0.75rem !important; padding-bottom: 0.75rem !important; } .p-xl-4 { padding: 1rem !important; } .pt-xl-4 { padding-top: 1rem !important; } .pr-xl-4 { padding-right: 1rem !important; } .pb-xl-4 { padding-bottom: 1rem !important; } .pl-xl-4 { padding-left: 1rem !important; } .px-xl-4 { padding-right: 1rem !important; padding-left: 1rem !important; } .py-xl-4 { padding-top: 1rem !important; padding-bottom: 1rem !important; } .p-xl-5 { padding: 1.5rem !important; } .pt-xl-5 { padding-top: 1.5rem !important; } .pr-xl-5 { padding-right: 1.5rem !important; } .pb-xl-5 { padding-bottom: 1.5rem !important; } .pl-xl-5 { padding-left: 1.5rem !important; } .px-xl-5 { padding-right: 1.5rem !important; padding-left: 1.5rem !important; } .py-xl-5 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; } .p-xl-6 { padding: 2rem !important; } .pt-xl-6 { padding-top: 2rem !important; } .pr-xl-6 { padding-right: 2rem !important; } .pb-xl-6 { padding-bottom: 2rem !important; } .pl-xl-6 { padding-left: 2rem !important; } .px-xl-6 { padding-right: 2rem !important; padding-left: 2rem !important; } .py-xl-6 { padding-top: 2rem !important; padding-bottom: 2rem !important; } .p-xl-7 { padding: 2.5rem !important; } .pt-xl-7 { padding-top: 2.5rem !important; } .pr-xl-7 { padding-right: 2.5rem !important; } .pb-xl-7 { padding-bottom: 2.5rem !important; } .pl-xl-7 { padding-left: 2.5rem !important; } .px-xl-7 { padding-right: 2.5rem !important; padding-left: 2.5rem !important; } .py-xl-7 { padding-top: 2.5rem !important; padding-bottom: 2.5rem !important; } .p-xl-8 { padding: 3rem !important; } .pt-xl-8 { padding-top: 3rem !important; } .pr-xl-8 { padding-right: 3rem !important; } .pb-xl-8 { padding-bottom: 3rem !important; } .pl-xl-8 { padding-left: 3rem !important; } .px-xl-8 { padding-right: 3rem !important; padding-left: 3rem !important; } .py-xl-8 { padding-top: 3rem !important; padding-bottom: 3rem !important; } .p-xl-9 { padding: 3.5rem !important; } .pt-xl-9 { padding-top: 3.5rem !important; } .pr-xl-9 { padding-right: 3.5rem !important; } .pb-xl-9 { padding-bottom: 3.5rem !important; } .pl-xl-9 { padding-left: 3.5rem !important; } .px-xl-9 { padding-right: 3.5rem !important; padding-left: 3.5rem !important; } .py-xl-9 { padding-top: 3.5rem !important; padding-bottom: 3.5rem !important; } .p-xl-10 { padding: 4rem !important; } .pt-xl-10 { padding-top: 4rem !important; } .pr-xl-10 { padding-right: 4rem !important; } .pb-xl-10 { padding-bottom: 4rem !important; } .pl-xl-10 { padding-left: 4rem !important; } .px-xl-10 { padding-right: 4rem !important; padding-left: 4rem !important; } .py-xl-10 { padding-top: 4rem !important; padding-bottom: 4rem !important; } } - -@media print { .site-footer, .site-button, #edit-this-page, #back-to-top, .site-nav, .main-header { display: none !important; } .side-bar { width: 100%; height: auto; border-right: 0 !important; } .site-header { border-bottom: 1px solid #FBECC9; } .site-title { font-size: 16px !important; font-weight: 700 !important; } .text-small { font-size: 8pt !important; } pre.highlight { border: 1px solid #FBECC9; } .main { max-width: none; margin-left: 0; } } - -/* Just The Docs theme style overrides https://pmarsceill.github.io/just-the-docs/docs/customization/#override-and-completely-custom-styles */ -a { /* Unset "nowrap" to prevent horzontal scrolling on mobile */ white-space: unset !important; } - -/* Remove column min-width */ -th, td { min-width: unset; } - -a.external:after { content: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAVklEQVR4Xn3PgQkAMQhDUXfqTu7kTtkpd5RA8AInfArtQ2iRXFWT2QedAfttj2FsPIOE1eCOlEuoWWjgzYaB/IkeGOrxXhqB+uA9Bfcm0lAZuh+YIeAD+cAqSz4kCMUAAAAASUVORK5CYII=); vertical-align: baseline; position: relative; top: -0.4em; left: 0.1em; } - -/*# sourceMappingURL=just-the-docs-default.css.map */ \ No newline at end of file diff --git a/assets/css/just-the-docs-default.css.map b/assets/css/just-the-docs-default.css.map deleted file mode 100644 index 1c880674d..000000000 --- a/assets/css/just-the-docs-default.css.map +++ /dev/null @@ -1,68 +0,0 @@ -{ - "version": 3, - "file": "just-the-docs-default.css", - "sources": [ - "just-the-docs-default.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/support/support.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/support/_variables.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/support/_functions.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/support/mixins/mixins.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/support/mixins/_layout.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/support/mixins/_buttons.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/support/mixins/_typography.scss", - "src/_sass/color_schemes/centrapay-theme.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/modules.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/vendor/normalize.scss/normalize.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/base.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/layout.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/content.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/navigation.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/typography.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/labels.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/buttons.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/search.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/tables.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/code.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/utilities/utilities.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/utilities/_colors.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/utilities/_layout.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/utilities/_typography.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/utilities/_lists.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/utilities/_spacing.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/print.scss", - "src/_sass/custom/custom.scss" - ], - "sourcesContent": [ - "\n\n@import \"./support/support\";\n@import \"./color_schemes/centrapay-theme\";\n@import \"./modules\";\n@import \"./custom/custom\";\n\n\n", - "@import \"./variables\";\n@import \"./functions\";\n@import \"./mixins/mixins\";\n", - "//\n// Typography\n//\n\n$body-font-family: -apple-system, BlinkMacSystemFont, \"helvetica neue\",\n helvetica, roboto, noto, \"segoe ui\", arial, sans-serif !default;\n$mono-font-family: \"SFMono-Regular\", Menlo, Consolas, Monospace !default;\n$root-font-size: 16px !default; // Base font-size for rems\n$body-line-height: 1.4 !default;\n$content-line-height: 1.6 !default;\n$body-heading-line-height: 1.25 !default;\n\n//\n// Colors\n//\n\n$white: #fff !default;\n\n$grey-dk-000: #959396 !default;\n$grey-dk-100: #5c5962 !default;\n$grey-dk-200: #44434d !default;\n$grey-dk-250: #302d36 !default;\n$grey-dk-300: #27262b !default;\n\n$grey-lt-000: #f5f6fa !default;\n$grey-lt-100: #eeebee !default;\n$grey-lt-200: #ecebed !default;\n$grey-lt-300: #e6e1e8 !default;\n\n$purple-000: #7253ed !default;\n$purple-100: #5e41d0 !default;\n$purple-200: #4e26af !default;\n$purple-300: #381885 !default;\n\n$blue-000: #2c84fa !default;\n$blue-100: #2869e6 !default;\n$blue-200: #264caf !default;\n$blue-300: #183385 !default;\n\n$green-000: #41d693 !default;\n$green-100: #11b584 !default;\n$green-200: #009c7b !default;\n$green-300: #026e57 !default;\n\n$yellow-000: #ffeb82 !default;\n$yellow-100: #fadf50 !default;\n$yellow-200: #f7d12e !default;\n$yellow-300: #e7af06 !default;\n\n$red-000: #f77e7e !default;\n$red-100: #f96e65 !default;\n$red-200: #e94c4c !default;\n$red-300: #dd2e2e !default;\n\n$body-background-color: $white !default;\n$sidebar-color: $grey-lt-000 !default;\n$search-background-color: $white !default;\n$table-background-color: $white !default;\n$code-background-color: $grey-lt-000 !default;\n$feedback-color: darken($sidebar-color, 3%) !default;\n\n$body-text-color: $grey-dk-100 !default;\n$body-heading-color: $grey-dk-300 !default;\n$search-result-preview-color: $grey-dk-000 !default;\n$nav-child-link-color: $grey-dk-100 !default;\n$link-color: $purple-000 !default;\n$btn-primary-color: $purple-100 !default;\n$base-button-color: #f7f7f7 !default;\n\n//\n// Spacing\n//\n\n$spacing-unit: 1rem; // 1rem == 16px\n\n$spacers: (\n sp-0: 0,\n sp-1: $spacing-unit * 0.25,\n sp-2: $spacing-unit * 0.5,\n sp-3: $spacing-unit * 0.75,\n sp-4: $spacing-unit,\n sp-5: $spacing-unit * 1.5,\n sp-6: $spacing-unit * 2,\n sp-7: $spacing-unit * 2.5,\n sp-8: $spacing-unit * 3,\n sp-9: $spacing-unit * 3.5,\n sp-10: $spacing-unit * 4,\n) !default;\n\n$sp-1: map-get($spacers, sp-1) !default; // 0.25 rem == 4px\n$sp-2: map-get($spacers, sp-2) !default; // 0.5 rem == 8px\n$sp-3: map-get($spacers, sp-3) !default; // 0.75 rem == 12px\n$sp-4: map-get($spacers, sp-4) !default; // 1 rem == 16px\n$sp-5: map-get($spacers, sp-5) !default; // 1.5 rem == 24px\n$sp-6: map-get($spacers, sp-6) !default; // 2 rem == 32px\n$sp-7: map-get($spacers, sp-7) !default; // 2.5 rem == 40px\n$sp-8: map-get($spacers, sp-8) !default; // 3 rem == 48px\n$sp-9: map-get($spacers, sp-9) !default; // 3.5 rem == 56px\n$sp-10: map-get($spacers, sp-10) !default; // 4 rem == 64px\n\n//\n// Borders\n//\n\n$border: 1px solid !default;\n$border-radius: 4px !default;\n$border-color: $grey-lt-100 !default;\n\n//\n// Grid system\n//\n\n$gutter-spacing: $sp-6 !default;\n$gutter-spacing-sm: $sp-4 !default;\n$nav-width: 264px !default;\n$nav-width-md: 248px !default;\n$nav-list-item-height: $sp-6 !default;\n$nav-list-item-height-sm: $sp-8 !default;\n$nav-list-expander-right: true;\n$content-width: 800px !default;\n$header-height: 60px !default;\n$search-results-width: $content-width - $nav-width !default;\n$transition-duration: 400ms;\n\n//\n// Media queries in pixels\n//\n\n$media-queries: (\n xs: 320px,\n sm: 500px,\n md: $content-width,\n lg: $content-width + $nav-width,\n xl: 1400px,\n) !default;\n", - "@function rem($size, $unit: \"\") {\n $remSize: $size / $root-font-size;\n\n @if ($unit == false) {\n @return #{$remSize};\n } @else {\n @return #{$remSize}rem;\n }\n}\n", - "@import \"./layout\";\n@import \"./buttons\";\n@import \"./typography\";\n", - "// Media query\n\n// Media query mixin\n// Usage:\n// @include mq(md) {\n// ..medium and up styles\n// }\n@mixin mq($name) {\n // Retrieves the value from the key\n $value: map-get($media-queries, $name);\n\n // If the key exists in the map\n @if $value != null {\n // Prints a media query based on the value\n @media (min-width: rem($value)) {\n @content;\n }\n } @else {\n @warn \"No value could be retrieved from `#{$media-query}`. \"\n + \"Please make sure it is defined in `$media-queries` map.\";\n }\n}\n\n// Responsive container\n\n@mixin container {\n padding-right: $gutter-spacing-sm;\n padding-left: $gutter-spacing-sm;\n\n @include mq(md) {\n padding-right: $gutter-spacing;\n padding-left: $gutter-spacing;\n }\n}\n", - "// Colored button\n\n@mixin btn-color($fg, $bg) {\n color: $fg;\n background-color: darken($bg, 2%);\n background-image: linear-gradient(lighten($bg, 5%), darken($bg, 2%));\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12);\n\n &:hover,\n &.zeroclipboard-is-hover {\n color: $fg;\n background-color: darken($bg, 4%);\n background-image: linear-gradient((lighten($bg, 2%), darken($bg, 4%)));\n }\n\n &:active,\n &.selected,\n &.zeroclipboard-is-active {\n background-color: darken($bg, 5%);\n background-image: none;\n box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);\n }\n\n &.selected:hover {\n background-color: darken($bg, 10%);\n }\n}\n", - "// Font size\n\n@mixin fs-1 {\n font-size: 9px !important;\n\n @include mq(sm) {\n font-size: 10px !important;\n }\n}\n\n@mixin fs-2 {\n font-size: 11px !important;\n\n @include mq(sm) {\n font-size: 12px !important;\n }\n}\n\n@mixin fs-3 {\n font-size: 12px !important;\n\n @include mq(sm) {\n font-size: 14px !important;\n }\n}\n\n@mixin fs-4 {\n font-size: 15px !important;\n\n @include mq(sm) {\n font-size: 16px !important;\n }\n}\n\n@mixin fs-5 {\n font-size: 16px !important;\n\n @include mq(sm) {\n font-size: 18px !important;\n }\n}\n\n@mixin fs-6 {\n font-size: 18px !important;\n\n @include mq(sm) {\n font-size: 24px !important;\n line-height: $body-heading-line-height;\n }\n}\n\n@mixin fs-7 {\n font-size: 24px !important;\n line-height: $body-heading-line-height;\n\n @include mq(sm) {\n font-size: 32px !important;\n }\n}\n\n@mixin fs-8 {\n font-size: 32px !important;\n line-height: $body-heading-line-height;\n\n @include mq(sm) {\n font-size: 36px !important;\n }\n}\n\n@mixin fs-9 {\n font-size: 36px !important;\n line-height: $body-heading-line-height;\n\n @include mq(sm) {\n font-size: 42px !important;\n }\n}\n\n@mixin fs-10 {\n font-size: 42px !important;\n line-height: $body-heading-line-height;\n\n @include mq(sm) {\n font-size: 48px !important;\n }\n}\n", - "// Branding colours for Centrapay\n$cerise-050: #FCF9F8;\n$cerise-100: #FCEFF3;\n$cerise-200: #FAD3E6;\n$cerise-300: #F9ACD1;\n$cerise-400: #F974AD;\n$cerise-500: #FA4986;\n$cerise-600: #F32C60;\n$cerise-700: #D3224D;\n$cerise-800: #A51C3D;\n$cerise-900: #811831;\n\n$chocolate-050: #FAF4E7;\n$chocolate-100: #FBECC9;\n$chocolate-200: #F8DF95;\n$chocolate-300: #F5C752;\n$chocolate-400: #F1A51F;\n$chocolate-500: #F07F0D;\n$chocolate-600: #FF5C00;\n$chocolate-700: #C6440E;\n$chocolate-800: #A43614;\n$chocolate-900: #872D15;\n\n$denim-050: #F3FAFC;\n$denim-100: #DFF7FA;\n$denim-200: #B6EBF6;\n$denim-300: #85DBF3;\n$denim-400: #42BBEF;\n$denim-500: #1B96EA;\n$denim-600: #1473DB;\n$denim-700: #175AB8;\n$denim-800: #164588;\n$denim-900: #143868;\n\n$flamingo-050: #F6F6FA;\n$flamingo-100: #F1EAFA;\n$flamingo-200: #E4CDF8;\n$flamingo-300: #D8ADF6;\n$flamingo-400: #CF7EF5;\n$flamingo-500: #C552F4;\n$flamingo-600: #AA35ED;\n$flamingo-700: #822AD5;\n$flamingo-800: #6223A8;\n$flamingo-900: #4E1F84;\n\n$indigo-050: #F4F7FB;\n$indigo-100: #EAEEFB;\n$indigo-200: #D4D5FA;\n$indigo-300: #BCB8F9;\n$indigo-400: #A18CF9;\n$indigo-500: #825EF9;\n$indigo-600: #673FF5;\n$indigo-700: #5032E2;\n$indigo-800: #3F29B8;\n$indigo-900: #332392;\n\n$lime-050: #F6FAF7;\n$lime-100: #EFF9E9;\n$lime-200: #DBF3C2;\n$lime-300: #B7E88E;\n$lime-400: #6CD44B;\n$lime-500: #33BB22;\n$lime-600: #249C15;\n$lime-700: #257C17;\n$lime-800: #225E1A;\n$lime-900: #1C4A1A;\n\n$neutral-050: #F2F2F2;\n$neutral-100: #E9E9E9;\n$neutral-200: #D3D3D3;\n$neutral-300: #BDBDBD;\n$neutral-400: #A7A7A7;\n$neutral-500: #919191;\n$neutral-600: #656565;\n$neutral-700: #4F4F4F;\n$neutral-800: #363636;\n$neutral-900: #232323;\n\n$olive-050: #FAFAF2;\n$olive-100: #F9F8D5;\n$olive-200: #F3F093;\n$olive-300: #EAE14B;\n$olive-400: #D3C717;\n$olive-500: #B7A907;\n$olive-600: #918504;\n$olive-700: #6F6607;\n$olive-800: #544C0B;\n$olive-900: #413C0D;\n\n$royal-050: #F5FAFD;\n$royal-100: #E5F6FC;\n$royal-200: #C2E6FA;\n$royal-300: #9AD0F9;\n$royal-400: #62A8F8;\n$royal-500: #337CF7;\n$royal-600: #2358F0;\n$royal-700: #2145D7;\n$royal-800: #1C36A5;\n$royal-900: #172C7F;\n\n$tomato-050: #FBF7F3;\n$tomato-100: #FCEFE5;\n$tomato-200: #F9DAC6;\n$tomato-300: #F8BB95;\n$tomato-400: #F78D55;\n$tomato-500: #F7632D;\n$tomato-600: #EE401D;\n$tomato-700: #CE301F;\n$tomato-800: #A52721;\n$tomato-900: #84201F;\n\n$turquoise-050: #EDF9F9;\n$turquoise-100: #D4F7F5;\n$turquoise-200: #A5F0E9;\n$turquoise-300: #68E5DD;\n$turquoise-400: #24D2C9;\n$turquoise-500: #0BB8AF;\n$turquoise-600: #0A9B92;\n$turquoise-700: #107D75;\n$turquoise-800: #12615B;\n$turquoise-900: #114E4A;\n\n// Generic theme overrides. Browse how they're used with:\n// bundle open just-the-docs\n$sidebar-color: $chocolate-050;\n$link-color: $chocolate-600;\n$nav-child-link-color: $neutral-800;\n$body-background-color: $white;\n$search-background-color: $white;\n$border-color: $chocolate-100;\n$btn-primary-color: $chocolate-600;\n$base-button-color: #000;\n\n// code blocks\n$code-background-color: $indigo-050;\ncode { border: none !important; }\n.highlight { border-radius: 8px !important; }\n\n// custom warning element\n.cp-warning {\n border: 2px solid $chocolate-300;\n background-color: $chocolate-050;\n border-radius: 16px;\n padding: 8px 16px;\n margin-bottom: 25px;\n}\n\n.cp-badge {\n border-radius: 9999px;\n background-color: $royal-050;\n padding: 0.2rem;\n font-weight: 500;\n font-size: x-small;\n}\n\n// search\n.search-icon { color: $chocolate-600 !important; }\n.search-overlay { background-color: rgba(166, 140, 115, 0.15) !important; }\n@include mq(md) {\n .search-input-wrap { box-shadow: none !important; } // desktop search shadow\n}\n\n// table shadows\n.table-wrapper, .search-input-wrap, .search-button {\n box-shadow: 0 1px 2px rgba(248, 223, 149, 0.5), 0 3px 10px rgba(248, 223, 149, 0.25) !important;\n}\n\n// navigation\n.site-title, .site-button {\n color: $neutral-900;\n &:hover { background: $chocolate-100 !important; }\n &:active { background: $chocolate-200 !important; }\n}\n.nav-list-link {\n &:hover,\n &.active {\n background-image: linear-gradient(\n -90deg,\n $chocolate-100 0%,\n $chocolate-100 80%,\n $chocolate-050 100%\n ) !important;\n }\n}\n.nav-list .nav-list-item .nav-list-expander:hover {\n background: $chocolate-100 !important;\n}\n\n// Default link styles that don't use a class\na:not([class]) {\n background-image: linear-gradient(\n $chocolate-600 0%,\n $chocolate-600 100%\n ) !important;\n &:hover {\n background-image: linear-gradient(\n $neutral-900 0%,\n $neutral-900 100%\n ) !important;\n }\n}\n", - "//\n// Import external dependencies\n//\n@import \"./vendor/normalize.scss/normalize.scss\";\n\n//\n// Modules\n//\n@import \"./base\";\n@import \"./layout\";\n@import \"./content\";\n@import \"./navigation\";\n@import \"./typography\";\n@import \"./labels\";\n@import \"./buttons\";\n@import \"./search\";\n@import \"./tables\";\n@import \"./code\";\n@import \"./utilities/utilities\";\n@import \"./print\";\n", - "/*! normalize.scss v0.1.0 | MIT License | based on git.io/normalize */\n\n/**\n * 1. Set default font family to sans-serif.\n * 2. Prevent iOS text size adjust after orientation change, without disabling\n * user zoom.\n */\n\nhtml {\n font-family: sans-serif; /* 1 */\n -ms-text-size-adjust: 100%; /* 2 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/**\n * Remove default margin.\n */\n\nbody {\n margin: 0;\n}\n\n/* HTML5 display definitions\n ========================================================================== */\n\n/**\n * Correct `block` display not defined for any HTML5 element in IE 8/9.\n * Correct `block` display not defined for `details` or `summary` in IE 10/11\n * and Firefox.\n * Correct `block` display not defined for `main` in IE 11.\n */\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\n\n/**\n * 1. Correct `inline-block` display not defined in IE 8/9.\n * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n */\n\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block; /* 1 */\n vertical-align: baseline; /* 2 */\n}\n\n/**\n * Prevent modern browsers from displaying `audio` without controls.\n * Remove excess height in iOS 5 devices.\n */\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\n/**\n * Address `[hidden]` styling not present in IE 8/9/10.\n * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.\n */\n\n[hidden],\ntemplate {\n display: none;\n}\n\n/* Links\n ========================================================================== */\n\n/**\n * Remove the gray background color from active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * Improve readability when focused and also mouse hovered in all browsers.\n */\n\na:active,\na:hover {\n outline: 0;\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Address styling not present in IE 8/9/10/11, Safari, and Chrome.\n */\n\nabbr[title] {\n border-bottom: 1px dotted;\n}\n\n/**\n * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n */\n\nb,\nstrong {\n font-weight: bold;\n}\n\n/**\n * Address styling not present in Safari and Chrome.\n */\n\ndfn {\n font-style: italic;\n}\n\n/**\n * Address variable `h1` font-size and margin within `section` and `article`\n * contexts in Firefox 4+, Safari, and Chrome.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/**\n * Address styling not present in IE 8/9.\n */\n\nmark {\n background: #ff0;\n color: #000;\n}\n\n/**\n * Address inconsistent and variable font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` affecting `line-height` in all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsup {\n top: -0.5em;\n}\n\nsub {\n bottom: -0.25em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove border when inside `a` element in IE 8/9/10.\n */\n\nimg {\n border: 0;\n}\n\n/**\n * Correct overflow not hidden in IE 9/10/11.\n */\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * Address margin not present in IE 8/9 and Safari.\n */\n\nfigure {\n margin: 1em 40px;\n}\n\n/**\n * Address differences between Firefox and other browsers.\n */\n\nhr {\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n height: 0;\n}\n\n/**\n * Contain overflow in all browsers.\n */\n\npre {\n overflow: auto;\n}\n\n/**\n * Address odd `em`-unit font size rendering in all browsers.\n */\n\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * Known limitation: by default, Chrome and Safari on OS X allow very limited\n * styling of `select`, unless a `border` property is set.\n */\n\n/**\n * 1. Correct color not being inherited.\n * Known issue: affects color of disabled elements.\n * 2. Correct font properties not being inherited.\n * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit; /* 1 */\n font: inherit; /* 2 */\n margin: 0; /* 3 */\n}\n\n/**\n * Address `overflow` set to `hidden` in IE 8/9/10/11.\n */\n\nbutton {\n overflow: visible;\n}\n\n/**\n * Address inconsistent `text-transform` inheritance for `button` and `select`.\n * All other form control elements do not inherit `text-transform` values.\n * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n * Correct `select` style inheritance in Firefox.\n */\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/**\n * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n * and `video` controls.\n * 2. Correct inability to style clickable `input` types in iOS.\n * 3. Improve usability and consistency of cursor style between image-type\n * `input` and others.\n */\n\nbutton,\nhtml input[type=\"button\"], /* 1 */\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button; /* 2 */\n cursor: pointer; /* 3 */\n}\n\n/**\n * Re-set default cursor for disabled elements.\n */\n\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n\n/**\n * Remove inner padding and border in Firefox 4+.\n */\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n/**\n * Address Firefox 4+ setting `line-height` on `input` using `!important` in\n * the UA stylesheet.\n */\n\ninput {\n line-height: normal;\n}\n\n/**\n * It's recommended that you don't attempt to style these elements.\n * Firefox's implementation doesn't respect box-sizing, padding, or width.\n *\n * 1. Address box sizing set to `content-box` in IE 8/9/10.\n * 2. Remove excess padding in IE 8/9/10.\n */\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Fix the cursor style for Chrome's increment/decrement buttons. For certain\n * `font-size` values of the `input`, it causes the cursor style of the\n * decrement button to change from `default` to `text`.\n */\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n * 2. Address `box-sizing` set to `border-box` in Safari and Chrome\n * (include `-moz` to future-proof).\n */\n\ninput[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n -moz-box-sizing: content-box;\n -webkit-box-sizing: content-box; /* 2 */\n box-sizing: content-box;\n}\n\n/**\n * Remove inner padding and search cancel button in Safari and Chrome on OS X.\n * Safari (but not Chrome) clips the cancel button when the search input has\n * padding (and `textfield` appearance).\n */\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * Define consistent border, margin, and padding.\n */\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\n/**\n * 1. Correct `color` not being inherited in IE 8/9/10/11.\n * 2. Remove padding so people aren't caught out if they zero out fieldsets.\n */\n\nlegend {\n border: 0; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Remove default vertical scrollbar in IE 8/9/10/11.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * Don't inherit the `font-weight` (applied by a rule above).\n * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n */\n\noptgroup {\n font-weight: bold;\n}\n\n/* Tables\n ========================================================================== */\n\n/**\n * Remove most spacing between table cells.\n */\n\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\ntd,\nth {\n padding: 0;\n}\n", - "//\n// Base element style overrides\n//\n// stylelint-disable selector-no-type, selector-max-type\n\n* {\n box-sizing: border-box;\n}\n\n::selection {\n color: $white;\n background: $link-color;\n}\n\nhtml {\n @include fs-4;\n scroll-behavior: smooth;\n}\n\nbody {\n font-family: $body-font-family;\n font-size: inherit;\n line-height: $body-line-height;\n color: $body-text-color;\n background-color: $body-background-color;\n}\n\nol,\nul,\ndl,\npre,\naddress,\nblockquote,\ntable,\ndiv,\nhr,\nform,\nfieldset,\nnoscript .table-wrapper {\n margin-top: 0;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n margin-top: 0;\n margin-bottom: 1em;\n font-weight: 500;\n line-height: $body-heading-line-height;\n color: $body-heading-color;\n}\n\np {\n margin-top: 1em;\n margin-bottom: 1em;\n}\n\na {\n color: $link-color;\n text-decoration: none;\n}\n\na:not([class]) {\n text-decoration: none;\n background-image: linear-gradient($border-color 0%, $border-color 100%);\n background-repeat: repeat-x;\n background-position: 0 100%;\n background-size: 1px 1px;\n\n &:hover {\n background-image: linear-gradient(\n rgba($link-color, 0.45) 0%,\n rgba($link-color, 0.45) 100%\n );\n background-size: 1px 1px;\n }\n}\n\ncode {\n font-family: $mono-font-family;\n font-size: 0.75em;\n line-height: $body-line-height;\n}\n\nfigure,\npre {\n margin: 0;\n}\n\nli {\n margin: 0.25em 0;\n}\n\nimg {\n max-width: 100%;\n height: auto;\n}\n\nhr {\n height: 1px;\n padding: 0;\n margin: $sp-6 0;\n background-color: $border-color;\n border: 0;\n}\n", - "//\n// The basic two column layout\n//\n\n.side-bar {\n z-index: 0;\n display: flex;\n flex-wrap: wrap;\n background-color: $sidebar-color;\n\n @include mq(md) {\n flex-wrap: nowrap;\n position: fixed;\n width: $nav-width-md;\n height: 100%;\n flex-direction: column;\n border-right: $border $border-color;\n align-items: flex-end;\n }\n\n @include mq(lg) {\n width: calc((100% - #{$nav-width + $content-width}) / 2 + #{$nav-width});\n min-width: $nav-width;\n }\n}\n\n.main {\n @include mq(md) {\n position: relative;\n max-width: $content-width;\n margin-left: $nav-width-md;\n }\n\n @include mq(lg) {\n margin-left: calc(\n (100% - #{$nav-width + $content-width}) / 2 + #{$nav-width}\n );\n }\n}\n\n.main-content-wrap {\n @include container;\n padding-top: $gutter-spacing-sm;\n padding-bottom: $gutter-spacing-sm;\n\n @include mq(md) {\n padding-top: $gutter-spacing;\n padding-bottom: $gutter-spacing;\n }\n}\n\n.main-header {\n z-index: 0;\n display: none;\n background-color: $sidebar-color;\n\n @include mq(md) {\n display: flex;\n justify-content: space-between;\n height: $header-height;\n background-color: $body-background-color;\n border-bottom: $border $border-color;\n }\n\n &.nav-open {\n display: block;\n\n @include mq(md) {\n display: flex;\n }\n }\n}\n\n.site-nav,\n.site-header,\n.site-footer {\n width: 100%;\n\n @include mq(lg) {\n width: $nav-width;\n }\n}\n\n.site-nav {\n display: none;\n\n &.nav-open {\n display: block;\n }\n\n @include mq(md) {\n display: block;\n padding-top: $sp-8;\n padding-bottom: $gutter-spacing-sm;\n overflow-y: auto;\n flex: 1 1 auto;\n }\n}\n\n.site-header {\n display: flex;\n min-height: $header-height;\n align-items: center;\n\n @include mq(md) {\n height: $header-height;\n max-height: $header-height;\n border-bottom: $border $border-color;\n }\n}\n\n.site-title {\n @include container;\n flex-grow: 1;\n display: flex;\n height: 100%;\n align-items: center;\n padding-top: $sp-3;\n padding-bottom: $sp-3;\n color: $body-heading-color;\n @include fs-6;\n\n @include mq(md) {\n padding-top: $sp-2;\n padding-bottom: $sp-2;\n }\n}\n\n@if variable-exists(logo) {\n .site-logo {\n width: 100%;\n height: 100%;\n background-image: url($logo);\n background-repeat: no-repeat;\n background-position: left center;\n background-size: contain;\n }\n}\n\n.site-button {\n display: flex;\n height: 100%;\n padding: $gutter-spacing-sm;\n align-items: center;\n}\n\n@include mq(md) {\n .site-header .site-button {\n display: none;\n }\n}\n\n.site-title:hover {\n background-image: linear-gradient(\n -90deg,\n rgba($feedback-color, 1) 0%,\n rgba($feedback-color, 0.8) 80%,\n rgba($feedback-color, 0) 100%\n );\n}\n\n.site-button:hover {\n background-image: linear-gradient(\n -90deg,\n rgba($feedback-color, 1) 0%,\n rgba($feedback-color, 0.8) 100%\n );\n}\n\n// stylelint-disable selector-max-type\n\nbody {\n position: relative;\n padding-bottom: $sp-10;\n overflow-y: scroll;\n\n @include mq(md) {\n position: static;\n padding-bottom: 0;\n }\n}\n\n// stylelint-enable selector-max-type\n\n.site-footer {\n @include container;\n position: absolute;\n bottom: 0;\n left: 0;\n padding-top: $sp-4;\n padding-bottom: $sp-4;\n color: $grey-dk-000;\n @include fs-2;\n\n @include mq(md) {\n position: static;\n justify-self: end;\n }\n}\n\n.icon {\n width: $sp-5;\n height: $sp-5;\n color: $link-color;\n}\n", - "@charset \"UTF-8\";\n\n//\n// Styles for rendered markdown in the .main-content container\n//\n// stylelint-disable selector-no-type, max-nesting-depth, selector-max-compound-selectors, selector-max-type\n\n.main-content {\n line-height: $content-line-height;\n\n ol,\n ul,\n dl,\n pre,\n address,\n blockquote,\n .table-wrapper {\n margin-top: 0.5em;\n }\n\n a {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n ul,\n ol {\n padding-left: 1.5em;\n }\n\n li {\n .highlight {\n margin-top: $sp-1;\n }\n }\n\n ol {\n list-style-type: none;\n counter-reset: step-counter;\n\n > li {\n position: relative;\n\n &::before {\n position: absolute;\n top: 0.2em;\n left: -1.6em;\n color: $grey-dk-000;\n content: counter(step-counter);\n counter-increment: step-counter;\n @include fs-3;\n\n @include mq(sm) {\n top: 0.11em;\n }\n }\n\n ol {\n counter-reset: sub-counter;\n\n li {\n &::before {\n content: counter(sub-counter, lower-alpha);\n counter-increment: sub-counter;\n }\n }\n }\n }\n }\n\n ul {\n list-style: none;\n\n > li {\n &::before {\n position: absolute;\n margin-left: -1.4em;\n color: $grey-dk-000;\n content: \"•\";\n }\n }\n }\n\n .task-list {\n padding-left: 0;\n }\n\n .task-list-item {\n display: flex;\n align-items: center;\n\n &::before {\n content: \"\";\n }\n }\n\n .task-list-item-checkbox {\n margin-right: 0.6em;\n }\n\n hr + * {\n margin-top: 0;\n }\n\n h1:first-of-type {\n margin-top: 0.5em;\n }\n\n dl {\n display: grid;\n grid-template-columns: max-content 1fr;\n }\n\n dt,\n dd {\n margin: 0.25em 0;\n }\n\n dt {\n text-align: right;\n\n &::after {\n content: \":\";\n }\n }\n\n dd {\n margin-left: 1em;\n font-weight: 500;\n }\n\n .anchor-heading {\n position: absolute;\n right: -$sp-4;\n width: $sp-5;\n height: 100%;\n padding-right: $sp-1;\n padding-left: $sp-1;\n overflow: visible;\n\n @include mq(md) {\n right: auto;\n left: -$sp-5;\n }\n\n svg {\n display: inline-block;\n width: 100%;\n height: 100%;\n color: $link-color;\n visibility: hidden;\n }\n }\n\n .anchor-heading:hover,\n h1:hover > .anchor-heading,\n h2:hover > .anchor-heading,\n h3:hover > .anchor-heading,\n h4:hover > .anchor-heading,\n h5:hover > .anchor-heading,\n h6:hover > .anchor-heading {\n svg {\n visibility: visible;\n }\n }\n\n summary {\n cursor: pointer;\n }\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n position: relative;\n margin-top: 1.5em;\n margin-bottom: 0.25em;\n\n &:first-child {\n margin-top: $sp-2;\n }\n\n + table,\n + .table-wrapper,\n + .code-example,\n + .highlighter-rouge {\n margin-top: 1em;\n }\n\n + p {\n margin-top: 0;\n }\n }\n}\n", - "//\n// Main nav, breadcrumb, etc...\n//\n// stylelint-disable selector-no-type, max-nesting-depth, selector-max-compound-selectors, selector-max-type, selector-max-specificity\n\n.nav-list {\n padding: 0;\n margin-top: 0;\n margin-bottom: 0;\n list-style: none;\n\n .nav-list-item {\n @include fs-4;\n position: relative;\n margin: 0;\n\n @include mq(md) {\n @include fs-3;\n }\n\n .nav-list-link {\n display: block;\n min-height: $nav-list-item-height-sm;\n padding-top: $sp-1;\n padding-bottom: $sp-1;\n line-height: #{$nav-list-item-height-sm - 2 * $sp-1};\n @if $nav-list-expander-right {\n padding-right: $nav-list-item-height-sm;\n padding-left: $gutter-spacing-sm;\n } @else {\n padding-right: $gutter-spacing-sm;\n padding-left: $nav-list-item-height-sm;\n }\n\n @include mq(md) {\n min-height: $nav-list-item-height;\n line-height: #{$nav-list-item-height - 2 * $sp-1};\n @if $nav-list-expander-right {\n padding-right: $nav-list-item-height;\n padding-left: $gutter-spacing;\n } @else {\n padding-right: $gutter-spacing;\n padding-left: $nav-list-item-height;\n }\n }\n\n &.active {\n font-weight: 600;\n text-decoration: none;\n }\n\n &:hover,\n &.active {\n background-image: linear-gradient(\n -90deg,\n rgba($feedback-color, 1) 0%,\n rgba($feedback-color, 0.8) 80%,\n rgba($feedback-color, 0) 100%\n );\n }\n }\n\n .nav-list-expander {\n position: absolute;\n @if $nav-list-expander-right {\n right: 0;\n }\n width: $nav-list-item-height-sm;\n height: $nav-list-item-height-sm;\n padding-top: #{$nav-list-item-height-sm / 4};\n padding-right: #{$nav-list-item-height-sm / 4};\n padding-bottom: #{$nav-list-item-height-sm / 4};\n padding-left: #{$nav-list-item-height-sm / 4};\n color: $link-color;\n\n @include mq(md) {\n width: $nav-list-item-height;\n height: $nav-list-item-height;\n padding-top: #{$nav-list-item-height / 4};\n padding-right: #{$nav-list-item-height / 4};\n padding-bottom: #{$nav-list-item-height / 4};\n padding-left: #{$nav-list-item-height / 4};\n }\n\n &:hover {\n background-image: linear-gradient(\n -90deg,\n rgba($feedback-color, 1) 0%,\n rgba($feedback-color, 0.8) 100%\n );\n }\n\n @if $nav-list-expander-right {\n svg {\n transform: rotate(90deg);\n }\n }\n }\n\n > .nav-list {\n display: none;\n padding-left: $sp-3;\n list-style: none;\n\n .nav-list-item {\n position: relative;\n\n .nav-list-link {\n color: $nav-child-link-color;\n }\n\n .nav-list-expander {\n color: $nav-child-link-color;\n }\n }\n }\n\n &.active {\n > .nav-list-expander svg {\n @if $nav-list-expander-right {\n transform: rotate(-90deg);\n } @else {\n transform: rotate(90deg);\n }\n }\n\n > .nav-list {\n display: block;\n }\n }\n }\n}\n\n// Aux nav\n\n.aux-nav {\n height: 100%;\n overflow-x: auto;\n @include fs-2;\n\n .aux-nav-list {\n display: flex;\n height: 100%;\n padding: 0;\n margin: 0;\n list-style: none;\n }\n\n .aux-nav-list-item {\n display: inline-block;\n height: 100%;\n padding: 0;\n margin: 0;\n }\n\n @include mq(md) {\n padding-right: $gutter-spacing-sm;\n }\n}\n\n// Breadcrumb nav\n\n.breadcrumb-nav {\n @include mq(md) {\n margin-top: -$sp-4;\n }\n}\n\n.breadcrumb-nav-list {\n padding-left: 0;\n margin-bottom: $sp-3;\n list-style: none;\n}\n\n.breadcrumb-nav-list-item {\n display: table-cell;\n @include fs-2;\n\n &::before {\n display: none;\n }\n\n &::after {\n display: inline-block;\n margin-right: $sp-2;\n margin-left: $sp-2;\n color: $grey-dk-000;\n content: \"/\";\n }\n\n &:last-child {\n &::after {\n content: \"\";\n }\n }\n}\n", - "//\n// Typography\n//\n// stylelint-disable primer/selector-no-utility, primer/no-override, selector-no-type, selector-max-type\n\nh1,\n.text-alpha {\n @include fs-8;\n font-weight: 300;\n}\n\nh2,\n.text-beta {\n @include fs-6;\n}\n\nh3,\n.text-gamma {\n @include fs-5;\n}\n\nh4,\n.text-delta {\n @include fs-2;\n font-weight: 400;\n text-transform: uppercase;\n letter-spacing: 0.1em;\n}\n\nh5,\n.text-epsilon {\n @include fs-3;\n color: $grey-dk-200;\n}\n\nh6,\n.text-zeta {\n @include fs-2;\n color: $grey-dk-200;\n}\n\n.text-small {\n @include fs-2;\n}\n\n.text-mono {\n font-family: $mono-font-family !important;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n", - "//\n// Labels (not the form kind)\n//\n\n.label,\n.label-blue {\n display: inline-block;\n padding-top: 0.16em;\n padding-right: 0.56em;\n padding-bottom: 0.16em;\n padding-left: 0.56em;\n margin-right: $sp-2;\n margin-left: $sp-2;\n color: $white;\n text-transform: uppercase;\n vertical-align: middle;\n background-color: $blue-100;\n @include fs-2;\n border-radius: 12px;\n}\n\n.label-green {\n background-color: $green-200;\n}\n\n.label-purple {\n background-color: $purple-100;\n}\n\n.label-red {\n background-color: $red-200;\n}\n\n.label-yellow {\n color: $grey-dk-200;\n background-color: $yellow-200;\n}\n", - "//\n// Buttons and things that look like buttons\n//\n// stylelint-disable color-named\n\n.btn {\n display: inline-block;\n box-sizing: border-box;\n padding-top: 0.3em;\n padding-right: 1em;\n padding-bottom: 0.3em;\n padding-left: 1em;\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n font-weight: 500;\n line-height: 1.5;\n color: $link-color;\n text-decoration: none;\n vertical-align: baseline;\n cursor: pointer;\n background-color: $base-button-color;\n border-width: 0;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n appearance: none;\n\n &:focus {\n text-decoration: none;\n outline: none;\n box-shadow: 0 0 0 3px rgba(blue, 0.25);\n }\n\n &:focus:hover,\n &.selected:focus {\n box-shadow: 0 0 0 3px rgba(blue, 0.25);\n }\n\n &:hover,\n &.zeroclipboard-is-hover {\n color: darken($link-color, 2%);\n }\n\n &:hover,\n &:active,\n &.zeroclipboard-is-hover,\n &.zeroclipboard-is-active {\n text-decoration: none;\n background-color: darken($base-button-color, 1%);\n }\n\n &:active,\n &.selected,\n &.zeroclipboard-is-active {\n background-color: darken($base-button-color, 3%);\n background-image: none;\n box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);\n }\n\n &.selected:hover {\n background-color: darken(#dcdcdc, 5%);\n }\n\n &:disabled,\n &.disabled {\n &,\n &:hover {\n color: rgba(102, 102, 102, 0.5);\n cursor: default;\n background-color: rgba(229, 229, 229, 0.5);\n background-image: none;\n box-shadow: none;\n }\n }\n}\n\n.btn-outline {\n color: $link-color;\n background: transparent;\n box-shadow: inset 0 0 0 2px $grey-lt-300;\n\n &:hover,\n &:active,\n &.zeroclipboard-is-hover,\n &.zeroclipboard-is-active {\n color: darken($link-color, 4%);\n text-decoration: none;\n background-color: transparent;\n box-shadow: inset 0 0 0 3px $grey-lt-300;\n }\n\n &:focus {\n text-decoration: none;\n outline: none;\n box-shadow: inset 0 0 0 2px $grey-dk-100, 0 0 0 3px rgba(blue, 0.25);\n }\n\n &:focus:hover,\n &.selected:focus {\n box-shadow: inset 0 0 0 2px $grey-dk-100;\n }\n}\n\n.btn-primary {\n @include btn-color($white, $btn-primary-color);\n}\n\n.btn-purple {\n @include btn-color($white, $purple-100);\n}\n\n.btn-blue {\n @include btn-color($white, $blue-000);\n}\n\n.btn-green {\n @include btn-color($white, $green-100);\n}\n", - "//\n// Search input and autocomplete\n//\n\n.search {\n position: relative;\n z-index: 2;\n flex-grow: 1;\n height: $sp-10;\n padding: $sp-2;\n transition: padding linear #{$transition-duration / 2};\n\n @include mq(md) {\n position: relative !important;\n width: auto !important;\n height: 100% !important;\n padding: 0;\n transition: none;\n }\n}\n\n.search-input-wrap {\n position: relative;\n z-index: 1;\n height: $sp-8;\n overflow: hidden;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n transition: height linear #{$transition-duration / 2};\n\n @include mq(md) {\n position: absolute;\n width: 100%;\n max-width: $search-results-width;\n height: 100% !important;\n border-radius: 0;\n box-shadow: none;\n transition: width ease $transition-duration;\n }\n}\n\n.search-input {\n position: absolute;\n width: 100%;\n height: 100%;\n padding-top: $sp-2;\n padding-right: $gutter-spacing-sm;\n padding-bottom: $sp-2;\n padding-left: #{$gutter-spacing-sm + $sp-5};\n font-size: 16px;\n background-color: $search-background-color;\n border-top: 0;\n border-right: 0;\n border-bottom: 0;\n border-left: 0;\n border-radius: 0;\n\n @include mq(md) {\n padding-top: $gutter-spacing-sm;\n padding-bottom: $gutter-spacing-sm;\n padding-left: #{$gutter-spacing + $sp-5};\n font-size: 14px;\n background-color: $body-background-color;\n transition: padding-left linear #{$transition-duration / 2};\n }\n\n &:focus {\n outline: 0;\n\n + .search-label .search-icon {\n color: $link-color;\n }\n }\n}\n\n.search-label {\n position: absolute;\n display: flex;\n height: 100%;\n padding-left: $gutter-spacing-sm;\n\n @include mq(md) {\n padding-left: $gutter-spacing;\n transition: padding-left linear #{$transition-duration / 2};\n }\n\n .search-icon {\n width: #{$sp-4 * 1.2};\n height: #{$sp-4 * 1.2};\n align-self: center;\n color: $grey-dk-000;\n }\n}\n\n.search-results {\n position: absolute;\n left: 0;\n display: none;\n width: 100%;\n max-height: calc(100% - #{$sp-10});\n overflow-y: auto;\n background-color: $search-background-color;\n border-bottom-right-radius: $border-radius;\n border-bottom-left-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n\n @include mq(md) {\n top: 100%;\n width: $search-results-width;\n max-height: calc(100vh - 200%) !important;\n }\n}\n\n.search-results-list {\n padding-left: 0;\n margin-bottom: $sp-1;\n list-style: none;\n @include fs-4;\n\n @include mq(md) {\n @include fs-3;\n }\n}\n\n.search-results-list-item {\n padding: 0;\n margin: 0;\n}\n\n.search-result {\n display: block;\n padding-top: $sp-1;\n padding-right: $sp-3;\n padding-bottom: $sp-1;\n padding-left: $sp-3;\n\n &:hover,\n &.active {\n background-color: $feedback-color;\n }\n}\n\n.search-result-title {\n display: block;\n padding-top: $sp-2;\n padding-bottom: $sp-2;\n\n @include mq(sm) {\n display: inline-block;\n width: 40%;\n padding-right: $sp-2;\n vertical-align: top;\n }\n}\n\n.search-result-doc {\n display: flex;\n align-items: center;\n word-wrap: break-word;\n\n &.search-result-doc-parent {\n opacity: 0.5;\n @include fs-3;\n\n @include mq(md) {\n @include fs-2;\n }\n }\n\n .search-result-icon {\n width: $sp-4;\n height: $sp-4;\n margin-right: $sp-2;\n color: $link-color;\n flex-shrink: 0;\n }\n\n .search-result-doc-title {\n overflow: auto;\n }\n}\n\n.search-result-section {\n margin-left: #{$sp-4 + $sp-2};\n word-wrap: break-word;\n}\n\n.search-result-rel-url {\n display: block;\n margin-left: #{$sp-4 + $sp-2};\n overflow: hidden;\n color: $search-result-preview-color;\n text-overflow: ellipsis;\n white-space: nowrap;\n @include fs-1;\n}\n\n.search-result-previews {\n display: block;\n padding-top: $sp-2;\n padding-bottom: $sp-2;\n padding-left: $sp-4;\n margin-left: $sp-2;\n color: $search-result-preview-color;\n word-wrap: break-word;\n border-left: $border;\n border-left-color: $border-color;\n @include fs-2;\n\n @include mq(sm) {\n display: inline-block;\n width: 60%;\n padding-left: $sp-2;\n margin-left: 0;\n vertical-align: top;\n }\n}\n\n.search-result-preview + .search-result-preview {\n margin-top: $sp-1;\n}\n\n.search-result-highlight {\n font-weight: bold;\n}\n\n.search-no-result {\n padding-top: $sp-2;\n padding-right: $sp-3;\n padding-bottom: $sp-2;\n padding-left: $sp-3;\n @include fs-3;\n}\n\n.search-button {\n position: fixed;\n right: $sp-4;\n bottom: $sp-4;\n display: flex;\n width: $sp-9;\n height: $sp-9;\n background-color: $search-background-color;\n border: 1px solid rgba($link-color, 0.3);\n border-radius: #{$sp-9 / 2};\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n align-items: center;\n justify-content: center;\n}\n\n.search-overlay {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1;\n width: 0;\n height: 0;\n background-color: rgba(0, 0, 0, 0.3);\n opacity: 0;\n transition: opacity ease $transition-duration, width 0s $transition-duration,\n height 0s $transition-duration;\n}\n\n.search-active {\n .search {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n padding: 0;\n }\n\n .search-input-wrap {\n height: $sp-10;\n border-radius: 0;\n\n @include mq(md) {\n width: $search-results-width;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n }\n }\n\n .search-input {\n background-color: $search-background-color;\n\n @include mq(md) {\n padding-left: #{$sp-4 * 1.25 + $sp-5};\n }\n }\n\n .search-label {\n @include mq(md) {\n padding-left: #{$sp-4 * 1.25};\n }\n }\n\n .search-results {\n display: block;\n }\n\n .search-overlay {\n width: 100%;\n height: 100%;\n opacity: 1;\n transition: opacity ease $transition-duration, width 0s, height 0s;\n }\n\n @include mq(md) {\n .main {\n position: fixed;\n right: 0;\n left: 0;\n }\n }\n\n .main-header {\n padding-top: $sp-10;\n\n @include mq(md) {\n padding-top: 0;\n }\n }\n}\n", - "//\n// Tables\n//\n// stylelint-disable max-nesting-depth, selector-no-type, selector-max-type\n\n.table-wrapper {\n display: block;\n width: 100%;\n max-width: 100%;\n margin-bottom: $sp-5;\n overflow-x: auto;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n}\n\ntable {\n display: table;\n min-width: 100%;\n border-collapse: separate;\n}\n\nth,\ntd {\n @include fs-3;\n min-width: 120px;\n padding-top: $sp-2;\n padding-right: $sp-3;\n padding-bottom: $sp-2;\n padding-left: $sp-3;\n background-color: $table-background-color;\n border-bottom: $border rgba($border-color, 0.5);\n border-left: $border $border-color;\n\n &:first-of-type {\n border-left: 0;\n }\n}\n\ntbody {\n tr {\n &:last-of-type {\n th,\n td {\n border-bottom: 0;\n }\n\n td {\n padding-bottom: $sp-3;\n }\n }\n }\n}\n\nthead {\n th {\n border-bottom: $border $border-color;\n }\n}\n", - "//\n// Code and syntax highlighting\n//\n// stylelint-disable selector-no-qualifying-type, declaration-block-semicolon-newline-after,declaration-block-single-line-max-declarations, selector-no-type, selector-max-type\n\ncode {\n padding: 0.2em 0.15em;\n font-weight: 400;\n background-color: $code-background-color;\n border: $border $border-color;\n border-radius: $border-radius;\n}\n\npre.highlight,\nfigure.highlight {\n padding: $sp-3;\n margin-top: 0;\n margin-bottom: 0;\n background-color: $code-background-color;\n border-radius: $border-radius;\n -webkit-overflow-scrolling: touch;\n\n code {\n padding: 0;\n border: 0;\n }\n}\n\n.highlighter-rouge {\n margin-bottom: $sp-3;\n}\n\n.highlight .c {\n color: #586e75;\n} // comment //\n.highlight .err {\n color: #93a1a1;\n} // error //\n.highlight .g {\n color: #93a1a1;\n} // generic //\n.highlight .k {\n color: #859900;\n} // keyword //\n.highlight .l {\n color: #93a1a1;\n} // literal //\n.highlight .n {\n color: #93a1a1;\n} // name //\n.highlight .o {\n color: #859900;\n} // operator //\n.highlight .x {\n color: #cb4b16;\n} // other //\n.highlight .p {\n color: #93a1a1;\n} // punctuation //\n.highlight .cm {\n color: #586e75;\n} // comment.multiline //\n.highlight .cp {\n color: #859900;\n} // comment.preproc //\n.highlight .c1 {\n color: #586e75;\n} // comment.single //\n.highlight .cs {\n color: #859900;\n} // comment.special //\n.highlight .gd {\n color: #2aa198;\n} // generic.deleted //\n.highlight .ge {\n font-style: italic;\n color: #93a1a1;\n} // generic.emph //\n.highlight .gr {\n color: #dc322f;\n} // generic.error //\n.highlight .gh {\n color: #cb4b16;\n} // generic.heading //\n.highlight .gi {\n color: #859900;\n} // generic.inserted //\n.highlight .go {\n color: #93a1a1;\n} // generic.output //\n.highlight .gp {\n color: #93a1a1;\n} // generic.prompt //\n.highlight .gs {\n font-weight: bold;\n color: #93a1a1;\n} // generic.strong //\n.highlight .gu {\n color: #cb4b16;\n} // generic.subheading //\n.highlight .gt {\n color: #93a1a1;\n} // generic.traceback //\n.highlight .kc {\n color: #cb4b16;\n} // keyword.constant //\n.highlight .kd {\n color: #268bd2;\n} // keyword.declaration //\n.highlight .kn {\n color: #859900;\n} // keyword.namespace //\n.highlight .kp {\n color: #859900;\n} // keyword.pseudo //\n.highlight .kr {\n color: #268bd2;\n} // keyword.reserved //\n.highlight .kt {\n color: #dc322f;\n} // keyword.type //\n.highlight .ld {\n color: #93a1a1;\n} // literal.date //\n.highlight .m {\n color: #2aa198;\n} // literal.number //\n.highlight .s {\n color: #2aa198;\n} // literal.string //\n.highlight .na {\n color: #555;\n} // name.attribute //\n.highlight .nb {\n color: #b58900;\n} // name.builtin //\n.highlight .nc {\n color: #268bd2;\n} // name.class //\n.highlight .no {\n color: #cb4b16;\n} // name.constant //\n.highlight .nd {\n color: #268bd2;\n} // name.decorator //\n.highlight .ni {\n color: #cb4b16;\n} // name.entity //\n.highlight .ne {\n color: #cb4b16;\n} // name.exception //\n.highlight .nf {\n color: #268bd2;\n} // name.function //\n.highlight .nl {\n color: #555;\n} // name.label //\n.highlight .nn {\n color: #93a1a1;\n} // name.namespace //\n.highlight .nx {\n color: #555;\n} // name.other //\n.highlight .py {\n color: #93a1a1;\n} // name.property //\n.highlight .nt {\n color: #268bd2;\n} // name.tag //\n.highlight .nv {\n color: #268bd2;\n} // name.variable //\n.highlight .ow {\n color: #859900;\n} // operator.word //\n.highlight .w {\n color: #93a1a1;\n} // text.whitespace //\n.highlight .mf {\n color: #2aa198;\n} // literal.number.float //\n.highlight .mh {\n color: #2aa198;\n} // literal.number.hex //\n.highlight .mi {\n color: #2aa198;\n} // literal.number.integer //\n.highlight .mo {\n color: #2aa198;\n} // literal.number.oct //\n.highlight .sb {\n color: #586e75;\n} // literal.string.backtick //\n.highlight .sc {\n color: #2aa198;\n} // literal.string.char //\n.highlight .sd {\n color: #93a1a1;\n} // literal.string.doc //\n.highlight .s2 {\n color: #2aa198;\n} // literal.string.double //\n.highlight .se {\n color: #cb4b16;\n} // literal.string.escape //\n.highlight .sh {\n color: #93a1a1;\n} // literal.string.heredoc //\n.highlight .si {\n color: #2aa198;\n} // literal.string.interpol //\n.highlight .sx {\n color: #2aa198;\n} // literal.string.other //\n.highlight .sr {\n color: #dc322f;\n} // literal.string.regex //\n.highlight .s1 {\n color: #2aa198;\n} // literal.string.single //\n.highlight .ss {\n color: #2aa198;\n} // literal.string.symbol //\n.highlight .bp {\n color: #268bd2;\n} // name.builtin.pseudo //\n.highlight .vc {\n color: #268bd2;\n} // name.variable.class //\n.highlight .vg {\n color: #268bd2;\n} // name.variable.global //\n.highlight .vi {\n color: #268bd2;\n} // name.variable.instance //\n.highlight .il {\n color: #2aa198;\n} // literal.number.integer.long //\n\n//\n// Code examples (rendered)\n//\n\n.code-example {\n padding: $sp-3;\n margin-bottom: $sp-3;\n overflow: auto;\n border: 1px solid $border-color;\n border-radius: $border-radius;\n\n + .highlighter-rouge,\n + figure.highlight {\n position: relative;\n margin-top: -$sp-4;\n border-right: 1px solid $border-color;\n border-bottom: 1px solid $border-color;\n border-left: 1px solid $border-color;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n}\n", - "@import \"./colors\";\n@import \"./layout\";\n@import \"./typography\";\n@import \"./lists\";\n@import \"./spacing\";\n", - "//\n// Utility classes for colors\n//\n\n// Text colors\n\n.text-grey-dk-000 {\n color: $grey-dk-000 !important;\n}\n\n.text-grey-dk-100 {\n color: $grey-dk-100 !important;\n}\n\n.text-grey-dk-200 {\n color: $grey-dk-200 !important;\n}\n\n.text-grey-dk-250 {\n color: $grey-dk-250 !important;\n}\n\n.text-grey-dk-300 {\n color: $grey-dk-300 !important;\n}\n\n.text-grey-lt-000 {\n color: $grey-lt-000 !important;\n}\n\n.text-grey-lt-100 {\n color: $grey-lt-100 !important;\n}\n\n.text-grey-lt-200 {\n color: $grey-lt-200 !important;\n}\n\n.text-grey-lt-300 {\n color: $grey-lt-300 !important;\n}\n\n.text-blue-000 {\n color: $blue-000 !important;\n}\n\n.text-blue-100 {\n color: $blue-100 !important;\n}\n\n.text-blue-200 {\n color: $blue-200 !important;\n}\n\n.text-blue-300 {\n color: $blue-300 !important;\n}\n\n.text-green-000 {\n color: $green-000 !important;\n}\n\n.text-green-100 {\n color: $green-100 !important;\n}\n\n.text-green-200 {\n color: $green-200 !important;\n}\n\n.text-green-300 {\n color: $green-300 !important;\n}\n\n.text-purple-000 {\n color: $purple-000 !important;\n}\n\n.text-purple-100 {\n color: $purple-100 !important;\n}\n\n.text-purple-200 {\n color: $purple-200 !important;\n}\n\n.text-purple-300 {\n color: $purple-300 !important;\n}\n\n.text-yellow-000 {\n color: $yellow-000 !important;\n}\n\n.text-yellow-100 {\n color: $yellow-100 !important;\n}\n\n.text-yellow-200 {\n color: $yellow-200 !important;\n}\n\n.text-yellow-300 {\n color: $yellow-300 !important;\n}\n\n.text-red-000 {\n color: $red-000 !important;\n}\n\n.text-red-100 {\n color: $red-100 !important;\n}\n\n.text-red-200 {\n color: $red-200 !important;\n}\n\n.text-red-300 {\n color: $red-300 !important;\n}\n\n// Background colors\n\n.bg-grey-dk-000 {\n background-color: $grey-dk-000 !important;\n}\n\n.bg-grey-dk-100 {\n background-color: $grey-dk-100 !important;\n}\n\n.bg-grey-dk-200 {\n background-color: $grey-dk-200 !important;\n}\n\n.bg-grey-dk-250 {\n background-color: $grey-dk-250 !important;\n}\n\n.bg-grey-dk-300 {\n background-color: $grey-dk-300 !important;\n}\n\n.bg-grey-lt-000 {\n background-color: $grey-lt-000 !important;\n}\n\n.bg-grey-lt-100 {\n background-color: $grey-lt-100 !important;\n}\n\n.bg-grey-lt-200 {\n background-color: $grey-lt-200 !important;\n}\n\n.bg-grey-lt-300 {\n background-color: $grey-lt-300 !important;\n}\n\n.bg-blue-000 {\n background-color: $blue-000 !important;\n}\n\n.bg-blue-100 {\n background-color: $blue-100 !important;\n}\n\n.bg-blue-200 {\n background-color: $blue-200 !important;\n}\n\n.bg-blue-300 {\n background-color: $blue-300 !important;\n}\n\n.bg-green-000 {\n background-color: $green-000 !important;\n}\n\n.bg-green-100 {\n background-color: $green-100 !important;\n}\n\n.bg-green-200 {\n background-color: $green-200 !important;\n}\n\n.bg-green-300 {\n background-color: $green-300 !important;\n}\n\n.bg-purple-000 {\n background-color: $purple-000 !important;\n}\n\n.bg-purple-100 {\n background-color: $purple-100 !important;\n}\n\n.bg-purple-200 {\n background-color: $purple-200 !important;\n}\n\n.bg-purple-300 {\n background-color: $purple-300 !important;\n}\n\n.bg-yellow-000 {\n background-color: $yellow-000 !important;\n}\n\n.bg-yellow-100 {\n background-color: $yellow-100 !important;\n}\n\n.bg-yellow-200 {\n background-color: $yellow-200 !important;\n}\n\n.bg-yellow-300 {\n background-color: $yellow-300 !important;\n}\n\n.bg-red-000 {\n background-color: $red-000 !important;\n}\n\n.bg-red-100 {\n background-color: $red-100 !important;\n}\n\n.bg-red-200 {\n background-color: $red-200 !important;\n}\n\n.bg-red-300 {\n background-color: $red-300 !important;\n}\n", - "// stylelint-disable primer/selector-no-utility, primer/no-override\n//\n// Utility classes for layout\n//\n\n// Display\n\n.d-block {\n display: block !important;\n}\n.d-flex {\n display: flex !important;\n}\n.d-inline {\n display: inline !important;\n}\n.d-inline-block {\n display: inline-block !important;\n}\n.d-none {\n display: none !important;\n}\n\n@each $media-query in map-keys($media-queries) {\n @for $i from 1 through length($spacers) {\n @include mq($media-query) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .d-sm-block, .d-md-none, .d-lg-inline\n .d-#{$media-query}-block {\n display: block !important;\n }\n .d-#{$media-query}-flex {\n display: flex !important;\n }\n .d-#{$media-query}-inline {\n display: inline !important;\n }\n .d-#{$media-query}-inline-block {\n display: inline-block !important;\n }\n .d-#{$media-query}-none {\n display: none !important;\n }\n }\n }\n}\n\n// Horizontal alignment\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.flex-justify-start {\n justify-content: flex-start !important;\n}\n\n.flex-justify-end {\n justify-content: flex-end !important;\n}\n\n.flex-justify-between {\n justify-content: space-between !important;\n}\n\n.flex-justify-around {\n justify-content: space-around !important;\n}\n\n// Vertical alignment\n\n.v-align-baseline {\n vertical-align: baseline !important;\n}\n.v-align-bottom {\n vertical-align: bottom !important;\n}\n.v-align-middle {\n vertical-align: middle !important;\n}\n.v-align-text-bottom {\n vertical-align: text-bottom !important;\n}\n.v-align-text-top {\n vertical-align: text-top !important;\n}\n.v-align-top {\n vertical-align: top !important;\n}\n", - "//\n// Utility classes for typography\n//\n\n// stylelint-disable primer/selector-no-utility, primer/no-override\n\n.fs-1 {\n @include fs-1;\n}\n\n.fs-2 {\n @include fs-2;\n}\n\n.fs-3 {\n @include fs-3;\n}\n\n.fs-4 {\n @include fs-4;\n}\n\n.fs-5 {\n @include fs-5;\n}\n\n.fs-6 {\n @include fs-6;\n}\n\n.fs-7 {\n @include fs-7;\n}\n\n.fs-8 {\n @include fs-8;\n}\n\n.fs-9 {\n @include fs-9;\n}\n\n.fs-10 {\n @include fs-10;\n}\n\n.fw-300 {\n font-weight: 300 !important;\n}\n\n.fw-400 {\n font-weight: 400 !important;\n}\n\n.fw-500 {\n font-weight: 500 !important;\n}\n\n.fw-700 {\n font-weight: 700 !important;\n}\n\n.lh-0 {\n line-height: 0 !important;\n}\n\n.lh-default {\n line-height: $body-line-height;\n}\n\n.lh-tight {\n line-height: $body-heading-line-height;\n}\n\n.ls-5 {\n letter-spacing: 0.05em !important;\n}\n\n.ls-10 {\n letter-spacing: 0.1em !important;\n}\n\n.ls-0 {\n letter-spacing: 0 !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n// stylelint-enable primer/selector-no-utility\n", - "//\n// Utility classes for lists\n//\n\n// stylelint-disable primer/selector-no-utility, primer/no-override, selector-max-type\n\n.list-style-none {\n padding: 0 !important;\n margin: 0 !important;\n list-style: none !important;\n\n li {\n &::before {\n display: none !important;\n }\n }\n}\n", - "//\n// Utility classes for margins and padding\n//\n\n// scss-lint:disable SpaceAfterPropertyName\n// stylelint-disable block-opening-brace-space-after, block-opening-brace-space-before, primer/selector-no-utility, primer/no-override\n\n// Margin spacer utilities\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n@for $i from 1 through length($spacers) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .m-0, .m-1, .m-2...\n .m-#{$scale} {\n margin: #{$size} !important;\n }\n .mt-#{$scale} {\n margin-top: #{$size} !important;\n }\n .mr-#{$scale} {\n margin-right: #{$size} !important;\n }\n .mb-#{$scale} {\n margin-bottom: #{$size} !important;\n }\n .ml-#{$scale} {\n margin-left: #{$size} !important;\n }\n\n .mx-#{$scale} {\n margin-right: #{$size} !important;\n margin-left: #{$size} !important;\n }\n\n .my-#{$scale} {\n margin-top: #{$size} !important;\n margin-bottom: #{$size} !important;\n }\n\n .mxn-#{$scale} {\n margin-right: -#{$size} !important;\n margin-left: -#{$size} !important;\n }\n .mx-#{$scale}-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n}\n\n@each $media-query in map-keys($media-queries) {\n @for $i from 1 through length($spacers) {\n @include mq($media-query) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .m-sm-0, .m-md-1, .m-lg-2...\n .m-#{$media-query}-#{$scale} {\n margin: #{$size} !important;\n }\n .mt-#{$media-query}-#{$scale} {\n margin-top: #{$size} !important;\n }\n .mr-#{$media-query}-#{$scale} {\n margin-right: #{$size} !important;\n }\n .mb-#{$media-query}-#{$scale} {\n margin-bottom: #{$size} !important;\n }\n .ml-#{$media-query}-#{$scale} {\n margin-left: #{$size} !important;\n }\n\n .mx-#{$media-query}-#{$scale} {\n margin-right: #{$size} !important;\n margin-left: #{$size} !important;\n }\n\n .my-#{$media-query}-#{$scale} {\n margin-top: #{$size} !important;\n margin-bottom: #{$size} !important;\n }\n\n .mxn-#{$media-query}-#{$scale} {\n margin-right: -#{$size} !important;\n margin-left: -#{$size} !important;\n }\n }\n }\n}\n\n// Padding spacer utilities\n\n@for $i from 1 through length($spacers) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .p-0, .p-1, .p-2...\n .p-#{$scale} {\n padding: #{$size} !important;\n }\n .pt-#{$scale} {\n padding-top: #{$size} !important;\n }\n .pr-#{$scale} {\n padding-right: #{$size} !important;\n }\n .pb-#{$scale} {\n padding-bottom: #{$size} !important;\n }\n .pl-#{$scale} {\n padding-left: #{$size} !important;\n }\n\n .px-#{$scale} {\n padding-right: #{$size} !important;\n padding-left: #{$size} !important;\n }\n\n .py-#{$scale} {\n padding-top: #{$size} !important;\n padding-bottom: #{$size} !important;\n }\n}\n\n@each $media-query in map-keys($media-queries) {\n @include mq($media-query) {\n @for $i from 1 through length($spacers) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .p-sm-0, .p-md-1, .p-lg-2...\n .p-#{$media-query}-#{$scale} {\n padding: #{$size} !important;\n }\n .pt-#{$media-query}-#{$scale} {\n padding-top: #{$size} !important;\n }\n .pr-#{$media-query}-#{$scale} {\n padding-right: #{$size} !important;\n }\n .pb-#{$media-query}-#{$scale} {\n padding-bottom: #{$size} !important;\n }\n .pl-#{$media-query}-#{$scale} {\n padding-left: #{$size} !important;\n }\n\n .px-#{$media-query}-#{$scale} {\n padding-right: #{$size} !important;\n padding-left: #{$size} !important;\n }\n\n .py-#{$media-query}-#{$scale} {\n padding-top: #{$size} !important;\n padding-bottom: #{$size} !important;\n }\n }\n }\n}\n", - "// stylelint-disable selector-max-specificity, selector-max-id, selector-max-type, selector-no-qualifying-type, primer/no-override,\n\n@media print {\n .site-footer,\n .site-button,\n #edit-this-page,\n #back-to-top,\n .site-nav,\n .main-header {\n display: none !important;\n }\n\n .side-bar {\n width: 100%;\n height: auto;\n border-right: 0 !important;\n }\n\n .site-header {\n border-bottom: 1px solid $border-color;\n }\n\n .site-title {\n font-size: $root-font-size !important;\n font-weight: 700 !important;\n }\n\n .text-small {\n font-size: 8pt !important;\n }\n\n pre.highlight {\n border: 1px solid $border-color;\n }\n\n .main {\n max-width: none;\n margin-left: 0;\n }\n}\n", - "/*\n * Just The Docs theme style overrides\n *\n * https://pmarsceill.github.io/just-the-docs/docs/customization/#override-and-completely-custom-styles\n */\n\na {\n /* Unset \"nowrap\" to prevent horzontal scrolling on mobile */\n white-space: unset !important;\n}\n\n/*\n * Remove column min-width\n */\nth, td {\n min-width: unset;\n}\n\na.external:after {\n content: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAVklEQVR4Xn3PgQkAMQhDUXfqTu7kTtkpd5RA8AInfArtQ2iRXFWT2QedAfttj2FsPIOE1eCOlEuoWWjgzYaB/IkeGOrxXhqB+uA9Bfcm0lAZuh+YIeAD+cAqSz4kCMUAAAAASUVORK5CYII=);\n vertical-align: baseline;\n position: relative;\n top: -0.4em;\n left: 0.1em;\n}\n" - ], - "names": [], - "mappings": "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" -} \ No newline at end of file diff --git a/assets/css/just-the-docs-light.css b/assets/css/just-the-docs-light.css deleted file mode 100644 index 5640e9c1d..000000000 --- a/assets/css/just-the-docs-light.css +++ /dev/null @@ -1,1540 +0,0 @@ -@charset "UTF-8"; -/*! normalize.scss v0.1.0 | MIT License | based on git.io/normalize */ -/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ -html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } - -/** Remove default margin. */ -body { margin: 0; } - -/* HTML5 display definitions ========================================================================== */ -/** Correct `block` display not defined for any HTML5 element in IE 8/9. Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox. Correct `block` display not defined for `main` in IE 11. */ -article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; } - -/** 1. Correct `inline-block` display not defined in IE 8/9. 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. */ -audio, canvas, progress, video { display: inline-block; /* 1 */ vertical-align: baseline; /* 2 */ } - -/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ -audio:not([controls]) { display: none; height: 0; } - -/** Address `[hidden]` styling not present in IE 8/9/10. Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. */ -[hidden], template { display: none; } - -/* Links ========================================================================== */ -/** Remove the gray background color from active links in IE 10. */ -a { background-color: transparent; } - -/** Improve readability when focused and also mouse hovered in all browsers. */ -a:active, a:hover { outline: 0; } - -/* Text-level semantics ========================================================================== */ -/** Address styling not present in IE 8/9/10/11, Safari, and Chrome. */ -abbr[title] { border-bottom: 1px dotted; } - -/** Address style set to `bolder` in Firefox 4+, Safari, and Chrome. */ -b, strong { font-weight: bold; } - -/** Address styling not present in Safari and Chrome. */ -dfn { font-style: italic; } - -/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari, and Chrome. */ -h1 { font-size: 2em; margin: 0.67em 0; } - -/** Address styling not present in IE 8/9. */ -mark { background: #ff0; color: #000; } - -/** Address inconsistent and variable font size in all browsers. */ -small { font-size: 80%; } - -/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ -sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } - -sup { top: -0.5em; } - -sub { bottom: -0.25em; } - -/* Embedded content ========================================================================== */ -/** Remove border when inside `a` element in IE 8/9/10. */ -img { border: 0; } - -/** Correct overflow not hidden in IE 9/10/11. */ -svg:not(:root) { overflow: hidden; } - -/* Grouping content ========================================================================== */ -/** Address margin not present in IE 8/9 and Safari. */ -figure { margin: 1em 40px; } - -/** Address differences between Firefox and other browsers. */ -hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } - -/** Contain overflow in all browsers. */ -pre { overflow: auto; } - -/** Address odd `em`-unit font size rendering in all browsers. */ -code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; } - -/* Forms ========================================================================== */ -/** Known limitation: by default, Chrome and Safari on OS X allow very limited styling of `select`, unless a `border` property is set. */ -/** 1. Correct color not being inherited. Known issue: affects color of disabled elements. 2. Correct font properties not being inherited. 3. Address margins set differently in Firefox 4+, Safari, and Chrome. */ -button, input, optgroup, select, textarea { color: inherit; /* 1 */ font: inherit; /* 2 */ margin: 0; /* 3 */ } - -/** Address `overflow` set to `hidden` in IE 8/9/10/11. */ -button { overflow: visible; } - -/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. Correct `select` style inheritance in Firefox. */ -button, select { text-transform: none; } - -/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */ -button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } - -/** Re-set default cursor for disabled elements. */ -button[disabled], html input[disabled] { cursor: default; } - -/** Remove inner padding and border in Firefox 4+. */ -button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } - -/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ -input { line-height: normal; } - -/** It's recommended that you don't attempt to style these elements. Firefox's implementation doesn't respect box-sizing, padding, or width. 1. Address box sizing set to `content-box` in IE 8/9/10. 2. Remove excess padding in IE 8/9/10. */ -input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } - -/** Fix the cursor style for Chrome's increment/decrement buttons. For certain `font-size` values of the `input`, it causes the cursor style of the decrement button to change from `default` to `text`. */ -input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; } - -/** 1. Address `appearance` set to `searchfield` in Safari and Chrome. 2. Address `box-sizing` set to `border-box` in Safari and Chrome (include `-moz` to future-proof). */ -input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } - -/** Remove inner padding and search cancel button in Safari and Chrome on OS X. Safari (but not Chrome) clips the cancel button when the search input has padding (and `textfield` appearance). */ -input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } - -/** Define consistent border, margin, and padding. */ -fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } - -/** 1. Correct `color` not being inherited in IE 8/9/10/11. 2. Remove padding so people aren't caught out if they zero out fieldsets. */ -legend { border: 0; /* 1 */ padding: 0; /* 2 */ } - -/** Remove default vertical scrollbar in IE 8/9/10/11. */ -textarea { overflow: auto; } - -/** Don't inherit the `font-weight` (applied by a rule above). NOTE: the default cannot safely be changed in Chrome and Safari on OS X. */ -optgroup { font-weight: bold; } - -/* Tables ========================================================================== */ -/** Remove most spacing between table cells. */ -table { border-collapse: collapse; border-spacing: 0; } - -td, th { padding: 0; } - -* { box-sizing: border-box; } - -::selection { color: #fff; background: #7253ed; } - -html { font-size: 15px !important; scroll-behavior: smooth; } - -@media (min-width: 31.25rem) { html { font-size: 16px !important; } } - -body { font-family: -apple-system, BlinkMacSystemFont, "helvetica neue", helvetica, roboto, noto, "segoe ui", arial, sans-serif; font-size: inherit; line-height: 1.4; color: #5c5962; background-color: #fff; } - -ol, ul, dl, pre, address, blockquote, table, div, hr, form, fieldset, noscript .table-wrapper { margin-top: 0; } - -h1, h2, h3, h4, h5, h6 { margin-top: 0; margin-bottom: 1em; font-weight: 500; line-height: 1.25; color: #27262b; } - -p { margin-top: 1em; margin-bottom: 1em; } - -a { color: #7253ed; text-decoration: none; } - -a:not([class]) { text-decoration: none; background-image: linear-gradient(#eeebee 0%, #eeebee 100%); background-repeat: repeat-x; background-position: 0 100%; background-size: 1px 1px; } - -a:not([class]):hover { background-image: linear-gradient(rgba(114, 83, 237, 0.45) 0%, rgba(114, 83, 237, 0.45) 100%); background-size: 1px 1px; } - -code { font-family: "SFMono-Regular", Menlo, Consolas, Monospace; font-size: 0.75em; line-height: 1.4; } - -figure, pre { margin: 0; } - -li { margin: 0.25em 0; } - -img { max-width: 100%; height: auto; } - -hr { height: 1px; padding: 0; margin: 2rem 0; background-color: #eeebee; border: 0; } - -.side-bar { z-index: 0; display: flex; flex-wrap: wrap; background-color: #f5f6fa; } - -@media (min-width: 50rem) { .side-bar { flex-wrap: nowrap; position: fixed; width: 248px; height: 100%; flex-direction: column; border-right: 1px solid #eeebee; align-items: flex-end; } } - -@media (min-width: 66.5rem) { .side-bar { width: calc((100% - 1064px) / 2 + 264px); min-width: 264px; } } - -@media (min-width: 50rem) { .main { position: relative; max-width: 800px; margin-left: 248px; } } - -@media (min-width: 66.5rem) { .main { margin-left: calc( (100% - 1064px) / 2 + 264px); } } - -.main-content-wrap { padding-right: 1rem; padding-left: 1rem; padding-top: 1rem; padding-bottom: 1rem; } - -@media (min-width: 50rem) { .main-content-wrap { padding-right: 2rem; padding-left: 2rem; } } - -@media (min-width: 50rem) { .main-content-wrap { padding-top: 2rem; padding-bottom: 2rem; } } - -.main-header { z-index: 0; display: none; background-color: #f5f6fa; } - -@media (min-width: 50rem) { .main-header { display: flex; justify-content: space-between; height: 60px; background-color: #fff; border-bottom: 1px solid #eeebee; } } - -.main-header.nav-open { display: block; } - -@media (min-width: 50rem) { .main-header.nav-open { display: flex; } } - -.site-nav, .site-header, .site-footer { width: 100%; } - -@media (min-width: 66.5rem) { .site-nav, .site-header, .site-footer { width: 264px; } } - -.site-nav { display: none; } - -.site-nav.nav-open { display: block; } - -@media (min-width: 50rem) { .site-nav { display: block; padding-top: 3rem; padding-bottom: 1rem; overflow-y: auto; flex: 1 1 auto; } } - -.site-header { display: flex; min-height: 60px; align-items: center; } - -@media (min-width: 50rem) { .site-header { height: 60px; max-height: 60px; border-bottom: 1px solid #eeebee; } } - -.site-title { padding-right: 1rem; padding-left: 1rem; flex-grow: 1; display: flex; height: 100%; align-items: center; padding-top: 0.75rem; padding-bottom: 0.75rem; color: #27262b; font-size: 18px !important; } - -@media (min-width: 50rem) { .site-title { padding-right: 2rem; padding-left: 2rem; } } - -@media (min-width: 31.25rem) { .site-title { font-size: 24px !important; line-height: 1.25; } } - -@media (min-width: 50rem) { .site-title { padding-top: 0.5rem; padding-bottom: 0.5rem; } } - -.site-button { display: flex; height: 100%; padding: 1rem; align-items: center; } - -@media (min-width: 50rem) { .site-header .site-button { display: none; } } - -.site-title:hover { background-image: linear-gradient(-90deg, #ebedf5 0%, rgba(235, 237, 245, 0.8) 80%, rgba(235, 237, 245, 0) 100%); } - -.site-button:hover { background-image: linear-gradient(-90deg, #ebedf5 0%, rgba(235, 237, 245, 0.8) 100%); } - -body { position: relative; padding-bottom: 4rem; overflow-y: scroll; } - -@media (min-width: 50rem) { body { position: static; padding-bottom: 0; } } - -.site-footer { padding-right: 1rem; padding-left: 1rem; position: absolute; bottom: 0; left: 0; padding-top: 1rem; padding-bottom: 1rem; color: #959396; font-size: 11px !important; } - -@media (min-width: 50rem) { .site-footer { padding-right: 2rem; padding-left: 2rem; } } - -@media (min-width: 31.25rem) { .site-footer { font-size: 12px !important; } } - -@media (min-width: 50rem) { .site-footer { position: static; justify-self: end; } } - -.icon { width: 1.5rem; height: 1.5rem; color: #7253ed; } - -.main-content { line-height: 1.6; } - -.main-content ol, .main-content ul, .main-content dl, .main-content pre, .main-content address, .main-content blockquote, .main-content .table-wrapper { margin-top: 0.5em; } - -.main-content a { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } - -.main-content ul, .main-content ol { padding-left: 1.5em; } - -.main-content li .highlight { margin-top: 0.25rem; } - -.main-content ol { list-style-type: none; counter-reset: step-counter; } - -.main-content ol > li { position: relative; } - -.main-content ol > li::before { position: absolute; top: 0.2em; left: -1.6em; color: #959396; content: counter(step-counter); counter-increment: step-counter; font-size: 12px !important; } - -@media (min-width: 31.25rem) { .main-content ol > li::before { font-size: 14px !important; } } - -@media (min-width: 31.25rem) { .main-content ol > li::before { top: 0.11em; } } - -.main-content ol > li ol { counter-reset: sub-counter; } - -.main-content ol > li ol li::before { content: counter(sub-counter, lower-alpha); counter-increment: sub-counter; } - -.main-content ul { list-style: none; } - -.main-content ul > li::before { position: absolute; margin-left: -1.4em; color: #959396; content: "•"; } - -.main-content .task-list { padding-left: 0; } - -.main-content .task-list-item { display: flex; align-items: center; } - -.main-content .task-list-item::before { content: ""; } - -.main-content .task-list-item-checkbox { margin-right: 0.6em; } - -.main-content hr + * { margin-top: 0; } - -.main-content h1:first-of-type { margin-top: 0.5em; } - -.main-content dl { display: grid; grid-template-columns: max-content 1fr; } - -.main-content dt, .main-content dd { margin: 0.25em 0; } - -.main-content dt { text-align: right; } - -.main-content dt::after { content: ":"; } - -.main-content dd { margin-left: 1em; font-weight: 500; } - -.main-content .anchor-heading { position: absolute; right: -1rem; width: 1.5rem; height: 100%; padding-right: 0.25rem; padding-left: 0.25rem; overflow: visible; } - -@media (min-width: 50rem) { .main-content .anchor-heading { right: auto; left: -1.5rem; } } - -.main-content .anchor-heading svg { display: inline-block; width: 100%; height: 100%; color: #7253ed; visibility: hidden; } - -.main-content .anchor-heading:hover svg, .main-content h1:hover > .anchor-heading svg, .main-content h2:hover > .anchor-heading svg, .main-content h3:hover > .anchor-heading svg, .main-content h4:hover > .anchor-heading svg, .main-content h5:hover > .anchor-heading svg, .main-content h6:hover > .anchor-heading svg { visibility: visible; } - -.main-content summary { cursor: pointer; } - -.main-content h1, .main-content h2, .main-content h3, .main-content h4, .main-content h5, .main-content h6 { position: relative; margin-top: 1.5em; margin-bottom: 0.25em; } - -.main-content h1:first-child, .main-content h2:first-child, .main-content h3:first-child, .main-content h4:first-child, .main-content h5:first-child, .main-content h6:first-child { margin-top: 0.5rem; } - -.main-content h1 + table, .main-content h1 + .table-wrapper, .main-content h1 + .code-example, .main-content h1 + .highlighter-rouge, .main-content h2 + table, .main-content h2 + .table-wrapper, .main-content h2 + .code-example, .main-content h2 + .highlighter-rouge, .main-content h3 + table, .main-content h3 + .table-wrapper, .main-content h3 + .code-example, .main-content h3 + .highlighter-rouge, .main-content h4 + table, .main-content h4 + .table-wrapper, .main-content h4 + .code-example, .main-content h4 + .highlighter-rouge, .main-content h5 + table, .main-content h5 + .table-wrapper, .main-content h5 + .code-example, .main-content h5 + .highlighter-rouge, .main-content h6 + table, .main-content h6 + .table-wrapper, .main-content h6 + .code-example, .main-content h6 + .highlighter-rouge { margin-top: 1em; } - -.main-content h1 + p, .main-content h2 + p, .main-content h3 + p, .main-content h4 + p, .main-content h5 + p, .main-content h6 + p { margin-top: 0; } - -.nav-list { padding: 0; margin-top: 0; margin-bottom: 0; list-style: none; } - -.nav-list .nav-list-item { font-size: 15px !important; position: relative; margin: 0; } - -@media (min-width: 31.25rem) { .nav-list .nav-list-item { font-size: 16px !important; } } - -@media (min-width: 50rem) { .nav-list .nav-list-item { font-size: 12px !important; } } - -@media (min-width: 50rem) and (min-width: 31.25rem) { .nav-list .nav-list-item { font-size: 14px !important; } } - -.nav-list .nav-list-item .nav-list-link { display: block; min-height: 3rem; padding-top: 0.25rem; padding-bottom: 0.25rem; line-height: 2.5rem; padding-right: 3rem; padding-left: 1rem; } - -@media (min-width: 50rem) { .nav-list .nav-list-item .nav-list-link { min-height: 2rem; line-height: 1.5rem; padding-right: 2rem; padding-left: 2rem; } } - -.nav-list .nav-list-item .nav-list-link.active { font-weight: 600; text-decoration: none; } - -.nav-list .nav-list-item .nav-list-link:hover, .nav-list .nav-list-item .nav-list-link.active { background-image: linear-gradient(-90deg, #ebedf5 0%, rgba(235, 237, 245, 0.8) 80%, rgba(235, 237, 245, 0) 100%); } - -.nav-list .nav-list-item .nav-list-expander { position: absolute; right: 0; width: 3rem; height: 3rem; padding-top: 0.75rem; padding-right: 0.75rem; padding-bottom: 0.75rem; padding-left: 0.75rem; color: #7253ed; } - -@media (min-width: 50rem) { .nav-list .nav-list-item .nav-list-expander { width: 2rem; height: 2rem; padding-top: 0.5rem; padding-right: 0.5rem; padding-bottom: 0.5rem; padding-left: 0.5rem; } } - -.nav-list .nav-list-item .nav-list-expander:hover { background-image: linear-gradient(-90deg, #ebedf5 0%, rgba(235, 237, 245, 0.8) 100%); } - -.nav-list .nav-list-item .nav-list-expander svg { transform: rotate(90deg); } - -.nav-list .nav-list-item > .nav-list { display: none; padding-left: 0.75rem; list-style: none; } - -.nav-list .nav-list-item > .nav-list .nav-list-item { position: relative; } - -.nav-list .nav-list-item > .nav-list .nav-list-item .nav-list-link { color: #5c5962; } - -.nav-list .nav-list-item > .nav-list .nav-list-item .nav-list-expander { color: #5c5962; } - -.nav-list .nav-list-item.active > .nav-list-expander svg { transform: rotate(-90deg); } - -.nav-list .nav-list-item.active > .nav-list { display: block; } - -.aux-nav { height: 100%; overflow-x: auto; font-size: 11px !important; } - -@media (min-width: 31.25rem) { .aux-nav { font-size: 12px !important; } } - -.aux-nav .aux-nav-list { display: flex; height: 100%; padding: 0; margin: 0; list-style: none; } - -.aux-nav .aux-nav-list-item { display: inline-block; height: 100%; padding: 0; margin: 0; } - -@media (min-width: 50rem) { .aux-nav { padding-right: 1rem; } } - -@media (min-width: 50rem) { .breadcrumb-nav { margin-top: -1rem; } } - -.breadcrumb-nav-list { padding-left: 0; margin-bottom: 0.75rem; list-style: none; } - -.breadcrumb-nav-list-item { display: table-cell; font-size: 11px !important; } - -@media (min-width: 31.25rem) { .breadcrumb-nav-list-item { font-size: 12px !important; } } - -.breadcrumb-nav-list-item::before { display: none; } - -.breadcrumb-nav-list-item::after { display: inline-block; margin-right: 0.5rem; margin-left: 0.5rem; color: #959396; content: "/"; } - -.breadcrumb-nav-list-item:last-child::after { content: ""; } - -h1, .text-alpha { font-size: 32px !important; line-height: 1.25; font-weight: 300; } - -@media (min-width: 31.25rem) { h1, .text-alpha { font-size: 36px !important; } } - -h2, .text-beta { font-size: 18px !important; } - -@media (min-width: 31.25rem) { h2, .text-beta { font-size: 24px !important; line-height: 1.25; } } - -h3, .text-gamma { font-size: 16px !important; } - -@media (min-width: 31.25rem) { h3, .text-gamma { font-size: 18px !important; } } - -h4, .text-delta { font-size: 11px !important; font-weight: 400; text-transform: uppercase; letter-spacing: 0.1em; } - -@media (min-width: 31.25rem) { h4, .text-delta { font-size: 12px !important; } } - -h5, .text-epsilon { font-size: 12px !important; color: #44434d; } - -@media (min-width: 31.25rem) { h5, .text-epsilon { font-size: 14px !important; } } - -h6, .text-zeta { font-size: 11px !important; color: #44434d; } - -@media (min-width: 31.25rem) { h6, .text-zeta { font-size: 12px !important; } } - -.text-small { font-size: 11px !important; } - -@media (min-width: 31.25rem) { .text-small { font-size: 12px !important; } } - -.text-mono { font-family: "SFMono-Regular", Menlo, Consolas, Monospace !important; } - -.text-left { text-align: left !important; } - -.text-center { text-align: center !important; } - -.text-right { text-align: right !important; } - -.label, .label-blue { display: inline-block; padding-top: 0.16em; padding-right: 0.56em; padding-bottom: 0.16em; padding-left: 0.56em; margin-right: 0.5rem; margin-left: 0.5rem; color: #fff; text-transform: uppercase; vertical-align: middle; background-color: #2869e6; font-size: 11px !important; border-radius: 12px; } - -@media (min-width: 31.25rem) { .label, .label-blue { font-size: 12px !important; } } - -.label-green { background-color: #009c7b; } - -.label-purple { background-color: #5e41d0; } - -.label-red { background-color: #e94c4c; } - -.label-yellow { color: #44434d; background-color: #f7d12e; } - -.btn { display: inline-block; box-sizing: border-box; padding-top: 0.3em; padding-right: 1em; padding-bottom: 0.3em; padding-left: 1em; margin: 0; font-family: inherit; font-size: inherit; font-weight: 500; line-height: 1.5; color: #7253ed; text-decoration: none; vertical-align: baseline; cursor: pointer; background-color: #f7f7f7; border-width: 0; border-radius: 4px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); appearance: none; } - -.btn:focus { text-decoration: none; outline: none; box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.25); } - -.btn:focus:hover, .btn.selected:focus { box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.25); } - -.btn:hover, .btn.zeroclipboard-is-hover { color: #6a4aec; } - -.btn:hover, .btn:active, .btn.zeroclipboard-is-hover, .btn.zeroclipboard-is-active { text-decoration: none; background-color: #f4f4f4; } - -.btn:active, .btn.selected, .btn.zeroclipboard-is-active { background-color: #efefef; background-image: none; box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); } - -.btn.selected:hover { background-color: #cfcfcf; } - -.btn:disabled, .btn:disabled:hover, .btn.disabled, .btn.disabled:hover { color: rgba(102, 102, 102, 0.5); cursor: default; background-color: rgba(229, 229, 229, 0.5); background-image: none; box-shadow: none; } - -.btn-outline { color: #7253ed; background: transparent; box-shadow: inset 0 0 0 2px #e6e1e8; } - -.btn-outline:hover, .btn-outline:active, .btn-outline.zeroclipboard-is-hover, .btn-outline.zeroclipboard-is-active { color: #6341eb; text-decoration: none; background-color: transparent; box-shadow: inset 0 0 0 3px #e6e1e8; } - -.btn-outline:focus { text-decoration: none; outline: none; box-shadow: inset 0 0 0 2px #5c5962, 0 0 0 3px rgba(0, 0, 255, 0.25); } - -.btn-outline:focus:hover, .btn-outline.selected:focus { box-shadow: inset 0 0 0 2px #5c5962; } - -.btn-primary { color: #fff; background-color: #5739ce; background-image: linear-gradient(#6f55d5, #5739ce); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12); } - -.btn-primary:hover, .btn-primary.zeroclipboard-is-hover { color: #fff; background-color: #5132cb; background-image: linear-gradient(#6549d2, #5132cb); } - -.btn-primary:active, .btn-primary.selected, .btn-primary.zeroclipboard-is-active { background-color: #4f31c6; background-image: none; box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); } - -.btn-primary.selected:hover { background-color: #472cb2; } - -.btn-purple { color: #fff; background-color: #5739ce; background-image: linear-gradient(#6f55d5, #5739ce); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12); } - -.btn-purple:hover, .btn-purple.zeroclipboard-is-hover { color: #fff; background-color: #5132cb; background-image: linear-gradient(#6549d2, #5132cb); } - -.btn-purple:active, .btn-purple.selected, .btn-purple.zeroclipboard-is-active { background-color: #4f31c6; background-image: none; box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); } - -.btn-purple.selected:hover { background-color: #472cb2; } - -.btn-blue { color: #fff; background-color: #227efa; background-image: linear-gradient(#4593fb, #227efa); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12); } - -.btn-blue:hover, .btn-blue.zeroclipboard-is-hover { color: #fff; background-color: #1878fa; background-image: linear-gradient(#368afa, #1878fa); } - -.btn-blue:active, .btn-blue.selected, .btn-blue.zeroclipboard-is-active { background-color: #1375f9; background-image: none; box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); } - -.btn-blue.selected:hover { background-color: #0669ed; } - -.btn-green { color: #fff; background-color: #10ac7d; background-image: linear-gradient(#13cc95, #10ac7d); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12); } - -.btn-green:hover, .btn-green.zeroclipboard-is-hover { color: #fff; background-color: #0fa276; background-image: linear-gradient(#12be8b, #0fa276); } - -.btn-green:active, .btn-green.selected, .btn-green.zeroclipboard-is-active { background-color: #0f9e73; background-image: none; box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); } - -.btn-green.selected:hover { background-color: #0d8662; } - -.search { position: relative; z-index: 2; flex-grow: 1; height: 4rem; padding: 0.5rem; transition: padding linear 200ms; } - -@media (min-width: 50rem) { .search { position: relative !important; width: auto !important; height: 100% !important; padding: 0; transition: none; } } - -.search-input-wrap { position: relative; z-index: 1; height: 3rem; overflow: hidden; border-radius: 4px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); transition: height linear 200ms; } - -@media (min-width: 50rem) { .search-input-wrap { position: absolute; width: 100%; max-width: 536px; height: 100% !important; border-radius: 0; box-shadow: none; transition: width ease 400ms; } } - -.search-input { position: absolute; width: 100%; height: 100%; padding-top: 0.5rem; padding-right: 1rem; padding-bottom: 0.5rem; padding-left: 2.5rem; font-size: 16px; background-color: #fff; border-top: 0; border-right: 0; border-bottom: 0; border-left: 0; border-radius: 0; } - -@media (min-width: 50rem) { .search-input { padding-top: 1rem; padding-bottom: 1rem; padding-left: 3.5rem; font-size: 14px; background-color: #fff; transition: padding-left linear 200ms; } } - -.search-input:focus { outline: 0; } - -.search-input:focus + .search-label .search-icon { color: #7253ed; } - -.search-label { position: absolute; display: flex; height: 100%; padding-left: 1rem; } - -@media (min-width: 50rem) { .search-label { padding-left: 2rem; transition: padding-left linear 200ms; } } - -.search-label .search-icon { width: 1.2rem; height: 1.2rem; align-self: center; color: #959396; } - -.search-results { position: absolute; left: 0; display: none; width: 100%; max-height: calc(100% - 4rem); overflow-y: auto; background-color: #fff; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); } - -@media (min-width: 50rem) { .search-results { top: 100%; width: 536px; max-height: calc(100vh - 200%) !important; } } - -.search-results-list { padding-left: 0; margin-bottom: 0.25rem; list-style: none; font-size: 15px !important; } - -@media (min-width: 31.25rem) { .search-results-list { font-size: 16px !important; } } - -@media (min-width: 50rem) { .search-results-list { font-size: 12px !important; } } - -@media (min-width: 50rem) and (min-width: 31.25rem) { .search-results-list { font-size: 14px !important; } } - -.search-results-list-item { padding: 0; margin: 0; } - -.search-result { display: block; padding-top: 0.25rem; padding-right: 0.75rem; padding-bottom: 0.25rem; padding-left: 0.75rem; } - -.search-result:hover, .search-result.active { background-color: #ebedf5; } - -.search-result-title { display: block; padding-top: 0.5rem; padding-bottom: 0.5rem; } - -@media (min-width: 31.25rem) { .search-result-title { display: inline-block; width: 40%; padding-right: 0.5rem; vertical-align: top; } } - -.search-result-doc { display: flex; align-items: center; word-wrap: break-word; } - -.search-result-doc.search-result-doc-parent { opacity: 0.5; font-size: 12px !important; } - -@media (min-width: 31.25rem) { .search-result-doc.search-result-doc-parent { font-size: 14px !important; } } - -@media (min-width: 50rem) { .search-result-doc.search-result-doc-parent { font-size: 11px !important; } } - -@media (min-width: 50rem) and (min-width: 31.25rem) { .search-result-doc.search-result-doc-parent { font-size: 12px !important; } } - -.search-result-doc .search-result-icon { width: 1rem; height: 1rem; margin-right: 0.5rem; color: #7253ed; flex-shrink: 0; } - -.search-result-doc .search-result-doc-title { overflow: auto; } - -.search-result-section { margin-left: 1.5rem; word-wrap: break-word; } - -.search-result-rel-url { display: block; margin-left: 1.5rem; overflow: hidden; color: #959396; text-overflow: ellipsis; white-space: nowrap; font-size: 9px !important; } - -@media (min-width: 31.25rem) { .search-result-rel-url { font-size: 10px !important; } } - -.search-result-previews { display: block; padding-top: 0.5rem; padding-bottom: 0.5rem; padding-left: 1rem; margin-left: 0.5rem; color: #959396; word-wrap: break-word; border-left: 1px solid; border-left-color: #eeebee; font-size: 11px !important; } - -@media (min-width: 31.25rem) { .search-result-previews { font-size: 12px !important; } } - -@media (min-width: 31.25rem) { .search-result-previews { display: inline-block; width: 60%; padding-left: 0.5rem; margin-left: 0; vertical-align: top; } } - -.search-result-preview + .search-result-preview { margin-top: 0.25rem; } - -.search-result-highlight { font-weight: bold; } - -.search-no-result { padding-top: 0.5rem; padding-right: 0.75rem; padding-bottom: 0.5rem; padding-left: 0.75rem; font-size: 12px !important; } - -@media (min-width: 31.25rem) { .search-no-result { font-size: 14px !important; } } - -.search-button { position: fixed; right: 1rem; bottom: 1rem; display: flex; width: 3.5rem; height: 3.5rem; background-color: #fff; border: 1px solid rgba(114, 83, 237, 0.3); border-radius: 1.75rem; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); align-items: center; justify-content: center; } - -.search-overlay { position: fixed; top: 0; left: 0; z-index: 1; width: 0; height: 0; background-color: rgba(0, 0, 0, 0.3); opacity: 0; transition: opacity ease 400ms, width 0s 400ms, height 0s 400ms; } - -.search-active .search { position: fixed; top: 0; left: 0; width: 100%; height: 100%; padding: 0; } - -.search-active .search-input-wrap { height: 4rem; border-radius: 0; } - -@media (min-width: 50rem) { .search-active .search-input-wrap { width: 536px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); } } - -.search-active .search-input { background-color: #fff; } - -@media (min-width: 50rem) { .search-active .search-input { padding-left: 2.75rem; } } - -@media (min-width: 50rem) { .search-active .search-label { padding-left: 1.25rem; } } - -.search-active .search-results { display: block; } - -.search-active .search-overlay { width: 100%; height: 100%; opacity: 1; transition: opacity ease 400ms, width 0s, height 0s; } - -@media (min-width: 50rem) { .search-active .main { position: fixed; right: 0; left: 0; } } - -.search-active .main-header { padding-top: 4rem; } - -@media (min-width: 50rem) { .search-active .main-header { padding-top: 0; } } - -.table-wrapper { display: block; width: 100%; max-width: 100%; margin-bottom: 1.5rem; overflow-x: auto; border-radius: 4px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); } - -table { display: table; min-width: 100%; border-collapse: separate; } - -th, td { font-size: 12px !important; min-width: 120px; padding-top: 0.5rem; padding-right: 0.75rem; padding-bottom: 0.5rem; padding-left: 0.75rem; background-color: #fff; border-bottom: 1px solid rgba(238, 235, 238, 0.5); border-left: 1px solid #eeebee; } - -@media (min-width: 31.25rem) { th, td { font-size: 14px !important; } } - -th:first-of-type, td:first-of-type { border-left: 0; } - -tbody tr:last-of-type th, tbody tr:last-of-type td { border-bottom: 0; } - -tbody tr:last-of-type td { padding-bottom: 0.75rem; } - -thead th { border-bottom: 1px solid #eeebee; } - -code { padding: 0.2em 0.15em; font-weight: 400; background-color: #f5f6fa; border: 1px solid #eeebee; border-radius: 4px; } - -pre.highlight, figure.highlight { padding: 0.75rem; margin-top: 0; margin-bottom: 0; background-color: #f5f6fa; border-radius: 4px; -webkit-overflow-scrolling: touch; } - -pre.highlight code, figure.highlight code { padding: 0; border: 0; } - -.highlighter-rouge { margin-bottom: 0.75rem; } - -.highlight .c { color: #586e75; } - -.highlight .err { color: #93a1a1; } - -.highlight .g { color: #93a1a1; } - -.highlight .k { color: #859900; } - -.highlight .l { color: #93a1a1; } - -.highlight .n { color: #93a1a1; } - -.highlight .o { color: #859900; } - -.highlight .x { color: #cb4b16; } - -.highlight .p { color: #93a1a1; } - -.highlight .cm { color: #586e75; } - -.highlight .cp { color: #859900; } - -.highlight .c1 { color: #586e75; } - -.highlight .cs { color: #859900; } - -.highlight .gd { color: #2aa198; } - -.highlight .ge { font-style: italic; color: #93a1a1; } - -.highlight .gr { color: #dc322f; } - -.highlight .gh { color: #cb4b16; } - -.highlight .gi { color: #859900; } - -.highlight .go { color: #93a1a1; } - -.highlight .gp { color: #93a1a1; } - -.highlight .gs { font-weight: bold; color: #93a1a1; } - -.highlight .gu { color: #cb4b16; } - -.highlight .gt { color: #93a1a1; } - -.highlight .kc { color: #cb4b16; } - -.highlight .kd { color: #268bd2; } - -.highlight .kn { color: #859900; } - -.highlight .kp { color: #859900; } - -.highlight .kr { color: #268bd2; } - -.highlight .kt { color: #dc322f; } - -.highlight .ld { color: #93a1a1; } - -.highlight .m { color: #2aa198; } - -.highlight .s { color: #2aa198; } - -.highlight .na { color: #555; } - -.highlight .nb { color: #b58900; } - -.highlight .nc { color: #268bd2; } - -.highlight .no { color: #cb4b16; } - -.highlight .nd { color: #268bd2; } - -.highlight .ni { color: #cb4b16; } - -.highlight .ne { color: #cb4b16; } - -.highlight .nf { color: #268bd2; } - -.highlight .nl { color: #555; } - -.highlight .nn { color: #93a1a1; } - -.highlight .nx { color: #555; } - -.highlight .py { color: #93a1a1; } - -.highlight .nt { color: #268bd2; } - -.highlight .nv { color: #268bd2; } - -.highlight .ow { color: #859900; } - -.highlight .w { color: #93a1a1; } - -.highlight .mf { color: #2aa198; } - -.highlight .mh { color: #2aa198; } - -.highlight .mi { color: #2aa198; } - -.highlight .mo { color: #2aa198; } - -.highlight .sb { color: #586e75; } - -.highlight .sc { color: #2aa198; } - -.highlight .sd { color: #93a1a1; } - -.highlight .s2 { color: #2aa198; } - -.highlight .se { color: #cb4b16; } - -.highlight .sh { color: #93a1a1; } - -.highlight .si { color: #2aa198; } - -.highlight .sx { color: #2aa198; } - -.highlight .sr { color: #dc322f; } - -.highlight .s1 { color: #2aa198; } - -.highlight .ss { color: #2aa198; } - -.highlight .bp { color: #268bd2; } - -.highlight .vc { color: #268bd2; } - -.highlight .vg { color: #268bd2; } - -.highlight .vi { color: #268bd2; } - -.highlight .il { color: #2aa198; } - -.code-example { padding: 0.75rem; margin-bottom: 0.75rem; overflow: auto; border: 1px solid #eeebee; border-radius: 4px; } - -.code-example + .highlighter-rouge, .code-example + figure.highlight { position: relative; margin-top: -1rem; border-right: 1px solid #eeebee; border-bottom: 1px solid #eeebee; border-left: 1px solid #eeebee; border-top-left-radius: 0; border-top-right-radius: 0; } - -.text-grey-dk-000 { color: #959396 !important; } - -.text-grey-dk-100 { color: #5c5962 !important; } - -.text-grey-dk-200 { color: #44434d !important; } - -.text-grey-dk-250 { color: #302d36 !important; } - -.text-grey-dk-300 { color: #27262b !important; } - -.text-grey-lt-000 { color: #f5f6fa !important; } - -.text-grey-lt-100 { color: #eeebee !important; } - -.text-grey-lt-200 { color: #ecebed !important; } - -.text-grey-lt-300 { color: #e6e1e8 !important; } - -.text-blue-000 { color: #2c84fa !important; } - -.text-blue-100 { color: #2869e6 !important; } - -.text-blue-200 { color: #264caf !important; } - -.text-blue-300 { color: #183385 !important; } - -.text-green-000 { color: #41d693 !important; } - -.text-green-100 { color: #11b584 !important; } - -.text-green-200 { color: #009c7b !important; } - -.text-green-300 { color: #026e57 !important; } - -.text-purple-000 { color: #7253ed !important; } - -.text-purple-100 { color: #5e41d0 !important; } - -.text-purple-200 { color: #4e26af !important; } - -.text-purple-300 { color: #381885 !important; } - -.text-yellow-000 { color: #ffeb82 !important; } - -.text-yellow-100 { color: #fadf50 !important; } - -.text-yellow-200 { color: #f7d12e !important; } - -.text-yellow-300 { color: #e7af06 !important; } - -.text-red-000 { color: #f77e7e !important; } - -.text-red-100 { color: #f96e65 !important; } - -.text-red-200 { color: #e94c4c !important; } - -.text-red-300 { color: #dd2e2e !important; } - -.bg-grey-dk-000 { background-color: #959396 !important; } - -.bg-grey-dk-100 { background-color: #5c5962 !important; } - -.bg-grey-dk-200 { background-color: #44434d !important; } - -.bg-grey-dk-250 { background-color: #302d36 !important; } - -.bg-grey-dk-300 { background-color: #27262b !important; } - -.bg-grey-lt-000 { background-color: #f5f6fa !important; } - -.bg-grey-lt-100 { background-color: #eeebee !important; } - -.bg-grey-lt-200 { background-color: #ecebed !important; } - -.bg-grey-lt-300 { background-color: #e6e1e8 !important; } - -.bg-blue-000 { background-color: #2c84fa !important; } - -.bg-blue-100 { background-color: #2869e6 !important; } - -.bg-blue-200 { background-color: #264caf !important; } - -.bg-blue-300 { background-color: #183385 !important; } - -.bg-green-000 { background-color: #41d693 !important; } - -.bg-green-100 { background-color: #11b584 !important; } - -.bg-green-200 { background-color: #009c7b !important; } - -.bg-green-300 { background-color: #026e57 !important; } - -.bg-purple-000 { background-color: #7253ed !important; } - -.bg-purple-100 { background-color: #5e41d0 !important; } - -.bg-purple-200 { background-color: #4e26af !important; } - -.bg-purple-300 { background-color: #381885 !important; } - -.bg-yellow-000 { background-color: #ffeb82 !important; } - -.bg-yellow-100 { background-color: #fadf50 !important; } - -.bg-yellow-200 { background-color: #f7d12e !important; } - -.bg-yellow-300 { background-color: #e7af06 !important; } - -.bg-red-000 { background-color: #f77e7e !important; } - -.bg-red-100 { background-color: #f96e65 !important; } - -.bg-red-200 { background-color: #e94c4c !important; } - -.bg-red-300 { background-color: #dd2e2e !important; } - -.d-block { display: block !important; } - -.d-flex { display: flex !important; } - -.d-inline { display: inline !important; } - -.d-inline-block { display: inline-block !important; } - -.d-none { display: none !important; } - -@media (min-width: 20rem) { .d-xs-block { display: block !important; } .d-xs-flex { display: flex !important; } .d-xs-inline { display: inline !important; } .d-xs-inline-block { display: inline-block !important; } .d-xs-none { display: none !important; } } - -@media (min-width: 20rem) { .d-xs-block { display: block !important; } .d-xs-flex { display: flex !important; } .d-xs-inline { display: inline !important; } .d-xs-inline-block { display: inline-block !important; } .d-xs-none { display: none !important; } } - -@media (min-width: 20rem) { .d-xs-block { display: block !important; } .d-xs-flex { display: flex !important; } .d-xs-inline { display: inline !important; } .d-xs-inline-block { display: inline-block !important; } .d-xs-none { display: none !important; } } - -@media (min-width: 20rem) { .d-xs-block { display: block !important; } .d-xs-flex { display: flex !important; } .d-xs-inline { display: inline !important; } .d-xs-inline-block { display: inline-block !important; } .d-xs-none { display: none !important; } } - -@media (min-width: 20rem) { .d-xs-block { display: block !important; } .d-xs-flex { display: flex !important; } .d-xs-inline { display: inline !important; } .d-xs-inline-block { display: inline-block !important; } .d-xs-none { display: none !important; } } - -@media (min-width: 20rem) { .d-xs-block { display: block !important; } .d-xs-flex { display: flex !important; } .d-xs-inline { display: inline !important; } .d-xs-inline-block { display: inline-block !important; } .d-xs-none { display: none !important; } } - -@media (min-width: 20rem) { .d-xs-block { display: block !important; } .d-xs-flex { display: flex !important; } .d-xs-inline { display: inline !important; } .d-xs-inline-block { display: inline-block !important; } .d-xs-none { display: none !important; } } - -@media (min-width: 20rem) { .d-xs-block { display: block !important; } .d-xs-flex { display: flex !important; } .d-xs-inline { display: inline !important; } .d-xs-inline-block { display: inline-block !important; } .d-xs-none { display: none !important; } } - -@media (min-width: 20rem) { .d-xs-block { display: block !important; } .d-xs-flex { display: flex !important; } .d-xs-inline { display: inline !important; } .d-xs-inline-block { display: inline-block !important; } .d-xs-none { display: none !important; } } - -@media (min-width: 20rem) { .d-xs-block { display: block !important; } .d-xs-flex { display: flex !important; } .d-xs-inline { display: inline !important; } .d-xs-inline-block { display: inline-block !important; } .d-xs-none { display: none !important; } } - -@media (min-width: 20rem) { .d-xs-block { display: block !important; } .d-xs-flex { display: flex !important; } .d-xs-inline { display: inline !important; } .d-xs-inline-block { display: inline-block !important; } .d-xs-none { display: none !important; } } - -@media (min-width: 31.25rem) { .d-sm-block { display: block !important; } .d-sm-flex { display: flex !important; } .d-sm-inline { display: inline !important; } .d-sm-inline-block { display: inline-block !important; } .d-sm-none { display: none !important; } } - -@media (min-width: 31.25rem) { .d-sm-block { display: block !important; } .d-sm-flex { display: flex !important; } .d-sm-inline { display: inline !important; } .d-sm-inline-block { display: inline-block !important; } .d-sm-none { display: none !important; } } - -@media (min-width: 31.25rem) { .d-sm-block { display: block !important; } .d-sm-flex { display: flex !important; } .d-sm-inline { display: inline !important; } .d-sm-inline-block { display: inline-block !important; } .d-sm-none { display: none !important; } } - -@media (min-width: 31.25rem) { .d-sm-block { display: block !important; } .d-sm-flex { display: flex !important; } .d-sm-inline { display: inline !important; } .d-sm-inline-block { display: inline-block !important; } .d-sm-none { display: none !important; } } - -@media (min-width: 31.25rem) { .d-sm-block { display: block !important; } .d-sm-flex { display: flex !important; } .d-sm-inline { display: inline !important; } .d-sm-inline-block { display: inline-block !important; } .d-sm-none { display: none !important; } } - -@media (min-width: 31.25rem) { .d-sm-block { display: block !important; } .d-sm-flex { display: flex !important; } .d-sm-inline { display: inline !important; } .d-sm-inline-block { display: inline-block !important; } .d-sm-none { display: none !important; } } - -@media (min-width: 31.25rem) { .d-sm-block { display: block !important; } .d-sm-flex { display: flex !important; } .d-sm-inline { display: inline !important; } .d-sm-inline-block { display: inline-block !important; } .d-sm-none { display: none !important; } } - -@media (min-width: 31.25rem) { .d-sm-block { display: block !important; } .d-sm-flex { display: flex !important; } .d-sm-inline { display: inline !important; } .d-sm-inline-block { display: inline-block !important; } .d-sm-none { display: none !important; } } - -@media (min-width: 31.25rem) { .d-sm-block { display: block !important; } .d-sm-flex { display: flex !important; } .d-sm-inline { display: inline !important; } .d-sm-inline-block { display: inline-block !important; } .d-sm-none { display: none !important; } } - -@media (min-width: 31.25rem) { .d-sm-block { display: block !important; } .d-sm-flex { display: flex !important; } .d-sm-inline { display: inline !important; } .d-sm-inline-block { display: inline-block !important; } .d-sm-none { display: none !important; } } - -@media (min-width: 31.25rem) { .d-sm-block { display: block !important; } .d-sm-flex { display: flex !important; } .d-sm-inline { display: inline !important; } .d-sm-inline-block { display: inline-block !important; } .d-sm-none { display: none !important; } } - -@media (min-width: 50rem) { .d-md-block { display: block !important; } .d-md-flex { display: flex !important; } .d-md-inline { display: inline !important; } .d-md-inline-block { display: inline-block !important; } .d-md-none { display: none !important; } } - -@media (min-width: 50rem) { .d-md-block { display: block !important; } .d-md-flex { display: flex !important; } .d-md-inline { display: inline !important; } .d-md-inline-block { display: inline-block !important; } .d-md-none { display: none !important; } } - -@media (min-width: 50rem) { .d-md-block { display: block !important; } .d-md-flex { display: flex !important; } .d-md-inline { display: inline !important; } .d-md-inline-block { display: inline-block !important; } .d-md-none { display: none !important; } } - -@media (min-width: 50rem) { .d-md-block { display: block !important; } .d-md-flex { display: flex !important; } .d-md-inline { display: inline !important; } .d-md-inline-block { display: inline-block !important; } .d-md-none { display: none !important; } } - -@media (min-width: 50rem) { .d-md-block { display: block !important; } .d-md-flex { display: flex !important; } .d-md-inline { display: inline !important; } .d-md-inline-block { display: inline-block !important; } .d-md-none { display: none !important; } } - -@media (min-width: 50rem) { .d-md-block { display: block !important; } .d-md-flex { display: flex !important; } .d-md-inline { display: inline !important; } .d-md-inline-block { display: inline-block !important; } .d-md-none { display: none !important; } } - -@media (min-width: 50rem) { .d-md-block { display: block !important; } .d-md-flex { display: flex !important; } .d-md-inline { display: inline !important; } .d-md-inline-block { display: inline-block !important; } .d-md-none { display: none !important; } } - -@media (min-width: 50rem) { .d-md-block { display: block !important; } .d-md-flex { display: flex !important; } .d-md-inline { display: inline !important; } .d-md-inline-block { display: inline-block !important; } .d-md-none { display: none !important; } } - -@media (min-width: 50rem) { .d-md-block { display: block !important; } .d-md-flex { display: flex !important; } .d-md-inline { display: inline !important; } .d-md-inline-block { display: inline-block !important; } .d-md-none { display: none !important; } } - -@media (min-width: 50rem) { .d-md-block { display: block !important; } .d-md-flex { display: flex !important; } .d-md-inline { display: inline !important; } .d-md-inline-block { display: inline-block !important; } .d-md-none { display: none !important; } } - -@media (min-width: 50rem) { .d-md-block { display: block !important; } .d-md-flex { display: flex !important; } .d-md-inline { display: inline !important; } .d-md-inline-block { display: inline-block !important; } .d-md-none { display: none !important; } } - -@media (min-width: 66.5rem) { .d-lg-block { display: block !important; } .d-lg-flex { display: flex !important; } .d-lg-inline { display: inline !important; } .d-lg-inline-block { display: inline-block !important; } .d-lg-none { display: none !important; } } - -@media (min-width: 66.5rem) { .d-lg-block { display: block !important; } .d-lg-flex { display: flex !important; } .d-lg-inline { display: inline !important; } .d-lg-inline-block { display: inline-block !important; } .d-lg-none { display: none !important; } } - -@media (min-width: 66.5rem) { .d-lg-block { display: block !important; } .d-lg-flex { display: flex !important; } .d-lg-inline { display: inline !important; } .d-lg-inline-block { display: inline-block !important; } .d-lg-none { display: none !important; } } - -@media (min-width: 66.5rem) { .d-lg-block { display: block !important; } .d-lg-flex { display: flex !important; } .d-lg-inline { display: inline !important; } .d-lg-inline-block { display: inline-block !important; } .d-lg-none { display: none !important; } } - -@media (min-width: 66.5rem) { .d-lg-block { display: block !important; } .d-lg-flex { display: flex !important; } .d-lg-inline { display: inline !important; } .d-lg-inline-block { display: inline-block !important; } .d-lg-none { display: none !important; } } - -@media (min-width: 66.5rem) { .d-lg-block { display: block !important; } .d-lg-flex { display: flex !important; } .d-lg-inline { display: inline !important; } .d-lg-inline-block { display: inline-block !important; } .d-lg-none { display: none !important; } } - -@media (min-width: 66.5rem) { .d-lg-block { display: block !important; } .d-lg-flex { display: flex !important; } .d-lg-inline { display: inline !important; } .d-lg-inline-block { display: inline-block !important; } .d-lg-none { display: none !important; } } - -@media (min-width: 66.5rem) { .d-lg-block { display: block !important; } .d-lg-flex { display: flex !important; } .d-lg-inline { display: inline !important; } .d-lg-inline-block { display: inline-block !important; } .d-lg-none { display: none !important; } } - -@media (min-width: 66.5rem) { .d-lg-block { display: block !important; } .d-lg-flex { display: flex !important; } .d-lg-inline { display: inline !important; } .d-lg-inline-block { display: inline-block !important; } .d-lg-none { display: none !important; } } - -@media (min-width: 66.5rem) { .d-lg-block { display: block !important; } .d-lg-flex { display: flex !important; } .d-lg-inline { display: inline !important; } .d-lg-inline-block { display: inline-block !important; } .d-lg-none { display: none !important; } } - -@media (min-width: 66.5rem) { .d-lg-block { display: block !important; } .d-lg-flex { display: flex !important; } .d-lg-inline { display: inline !important; } .d-lg-inline-block { display: inline-block !important; } .d-lg-none { display: none !important; } } - -@media (min-width: 87.5rem) { .d-xl-block { display: block !important; } .d-xl-flex { display: flex !important; } .d-xl-inline { display: inline !important; } .d-xl-inline-block { display: inline-block !important; } .d-xl-none { display: none !important; } } - -@media (min-width: 87.5rem) { .d-xl-block { display: block !important; } .d-xl-flex { display: flex !important; } .d-xl-inline { display: inline !important; } .d-xl-inline-block { display: inline-block !important; } .d-xl-none { display: none !important; } } - -@media (min-width: 87.5rem) { .d-xl-block { display: block !important; } .d-xl-flex { display: flex !important; } .d-xl-inline { display: inline !important; } .d-xl-inline-block { display: inline-block !important; } .d-xl-none { display: none !important; } } - -@media (min-width: 87.5rem) { .d-xl-block { display: block !important; } .d-xl-flex { display: flex !important; } .d-xl-inline { display: inline !important; } .d-xl-inline-block { display: inline-block !important; } .d-xl-none { display: none !important; } } - -@media (min-width: 87.5rem) { .d-xl-block { display: block !important; } .d-xl-flex { display: flex !important; } .d-xl-inline { display: inline !important; } .d-xl-inline-block { display: inline-block !important; } .d-xl-none { display: none !important; } } - -@media (min-width: 87.5rem) { .d-xl-block { display: block !important; } .d-xl-flex { display: flex !important; } .d-xl-inline { display: inline !important; } .d-xl-inline-block { display: inline-block !important; } .d-xl-none { display: none !important; } } - -@media (min-width: 87.5rem) { .d-xl-block { display: block !important; } .d-xl-flex { display: flex !important; } .d-xl-inline { display: inline !important; } .d-xl-inline-block { display: inline-block !important; } .d-xl-none { display: none !important; } } - -@media (min-width: 87.5rem) { .d-xl-block { display: block !important; } .d-xl-flex { display: flex !important; } .d-xl-inline { display: inline !important; } .d-xl-inline-block { display: inline-block !important; } .d-xl-none { display: none !important; } } - -@media (min-width: 87.5rem) { .d-xl-block { display: block !important; } .d-xl-flex { display: flex !important; } .d-xl-inline { display: inline !important; } .d-xl-inline-block { display: inline-block !important; } .d-xl-none { display: none !important; } } - -@media (min-width: 87.5rem) { .d-xl-block { display: block !important; } .d-xl-flex { display: flex !important; } .d-xl-inline { display: inline !important; } .d-xl-inline-block { display: inline-block !important; } .d-xl-none { display: none !important; } } - -@media (min-width: 87.5rem) { .d-xl-block { display: block !important; } .d-xl-flex { display: flex !important; } .d-xl-inline { display: inline !important; } .d-xl-inline-block { display: inline-block !important; } .d-xl-none { display: none !important; } } - -.float-left { float: left !important; } - -.float-right { float: right !important; } - -.flex-justify-start { justify-content: flex-start !important; } - -.flex-justify-end { justify-content: flex-end !important; } - -.flex-justify-between { justify-content: space-between !important; } - -.flex-justify-around { justify-content: space-around !important; } - -.v-align-baseline { vertical-align: baseline !important; } - -.v-align-bottom { vertical-align: bottom !important; } - -.v-align-middle { vertical-align: middle !important; } - -.v-align-text-bottom { vertical-align: text-bottom !important; } - -.v-align-text-top { vertical-align: text-top !important; } - -.v-align-top { vertical-align: top !important; } - -.fs-1 { font-size: 9px !important; } - -@media (min-width: 31.25rem) { .fs-1 { font-size: 10px !important; } } - -.fs-2 { font-size: 11px !important; } - -@media (min-width: 31.25rem) { .fs-2 { font-size: 12px !important; } } - -.fs-3 { font-size: 12px !important; } - -@media (min-width: 31.25rem) { .fs-3 { font-size: 14px !important; } } - -.fs-4 { font-size: 15px !important; } - -@media (min-width: 31.25rem) { .fs-4 { font-size: 16px !important; } } - -.fs-5 { font-size: 16px !important; } - -@media (min-width: 31.25rem) { .fs-5 { font-size: 18px !important; } } - -.fs-6 { font-size: 18px !important; } - -@media (min-width: 31.25rem) { .fs-6 { font-size: 24px !important; line-height: 1.25; } } - -.fs-7 { font-size: 24px !important; line-height: 1.25; } - -@media (min-width: 31.25rem) { .fs-7 { font-size: 32px !important; } } - -.fs-8 { font-size: 32px !important; line-height: 1.25; } - -@media (min-width: 31.25rem) { .fs-8 { font-size: 36px !important; } } - -.fs-9 { font-size: 36px !important; line-height: 1.25; } - -@media (min-width: 31.25rem) { .fs-9 { font-size: 42px !important; } } - -.fs-10 { font-size: 42px !important; line-height: 1.25; } - -@media (min-width: 31.25rem) { .fs-10 { font-size: 48px !important; } } - -.fw-300 { font-weight: 300 !important; } - -.fw-400 { font-weight: 400 !important; } - -.fw-500 { font-weight: 500 !important; } - -.fw-700 { font-weight: 700 !important; } - -.lh-0 { line-height: 0 !important; } - -.lh-default { line-height: 1.4; } - -.lh-tight { line-height: 1.25; } - -.ls-5 { letter-spacing: 0.05em !important; } - -.ls-10 { letter-spacing: 0.1em !important; } - -.ls-0 { letter-spacing: 0 !important; } - -.text-uppercase { text-transform: uppercase !important; } - -.list-style-none { padding: 0 !important; margin: 0 !important; list-style: none !important; } - -.list-style-none li::before { display: none !important; } - -.mx-auto { margin-right: auto !important; margin-left: auto !important; } - -.m-0 { margin: 0 !important; } - -.mt-0 { margin-top: 0 !important; } - -.mr-0 { margin-right: 0 !important; } - -.mb-0 { margin-bottom: 0 !important; } - -.ml-0 { margin-left: 0 !important; } - -.mx-0 { margin-right: 0 !important; margin-left: 0 !important; } - -.my-0 { margin-top: 0 !important; margin-bottom: 0 !important; } - -.mxn-0 { margin-right: -0 !important; margin-left: -0 !important; } - -.mx-0-auto { margin-right: auto !important; margin-left: auto !important; } - -.m-1 { margin: 0.25rem !important; } - -.mt-1 { margin-top: 0.25rem !important; } - -.mr-1 { margin-right: 0.25rem !important; } - -.mb-1 { margin-bottom: 0.25rem !important; } - -.ml-1 { margin-left: 0.25rem !important; } - -.mx-1 { margin-right: 0.25rem !important; margin-left: 0.25rem !important; } - -.my-1 { margin-top: 0.25rem !important; margin-bottom: 0.25rem !important; } - -.mxn-1 { margin-right: -0.25rem !important; margin-left: -0.25rem !important; } - -.mx-1-auto { margin-right: auto !important; margin-left: auto !important; } - -.m-2 { margin: 0.5rem !important; } - -.mt-2 { margin-top: 0.5rem !important; } - -.mr-2 { margin-right: 0.5rem !important; } - -.mb-2 { margin-bottom: 0.5rem !important; } - -.ml-2 { margin-left: 0.5rem !important; } - -.mx-2 { margin-right: 0.5rem !important; margin-left: 0.5rem !important; } - -.my-2 { margin-top: 0.5rem !important; margin-bottom: 0.5rem !important; } - -.mxn-2 { margin-right: -0.5rem !important; margin-left: -0.5rem !important; } - -.mx-2-auto { margin-right: auto !important; margin-left: auto !important; } - -.m-3 { margin: 0.75rem !important; } - -.mt-3 { margin-top: 0.75rem !important; } - -.mr-3 { margin-right: 0.75rem !important; } - -.mb-3 { margin-bottom: 0.75rem !important; } - -.ml-3 { margin-left: 0.75rem !important; } - -.mx-3 { margin-right: 0.75rem !important; margin-left: 0.75rem !important; } - -.my-3 { margin-top: 0.75rem !important; margin-bottom: 0.75rem !important; } - -.mxn-3 { margin-right: -0.75rem !important; margin-left: -0.75rem !important; } - -.mx-3-auto { margin-right: auto !important; margin-left: auto !important; } - -.m-4 { margin: 1rem !important; } - -.mt-4 { margin-top: 1rem !important; } - -.mr-4 { margin-right: 1rem !important; } - -.mb-4 { margin-bottom: 1rem !important; } - -.ml-4 { margin-left: 1rem !important; } - -.mx-4 { margin-right: 1rem !important; margin-left: 1rem !important; } - -.my-4 { margin-top: 1rem !important; margin-bottom: 1rem !important; } - -.mxn-4 { margin-right: -1rem !important; margin-left: -1rem !important; } - -.mx-4-auto { margin-right: auto !important; margin-left: auto !important; } - -.m-5 { margin: 1.5rem !important; } - -.mt-5 { margin-top: 1.5rem !important; } - -.mr-5 { margin-right: 1.5rem !important; } - -.mb-5 { margin-bottom: 1.5rem !important; } - -.ml-5 { margin-left: 1.5rem !important; } - -.mx-5 { margin-right: 1.5rem !important; margin-left: 1.5rem !important; } - -.my-5 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; } - -.mxn-5 { margin-right: -1.5rem !important; margin-left: -1.5rem !important; } - -.mx-5-auto { margin-right: auto !important; margin-left: auto !important; } - -.m-6 { margin: 2rem !important; } - -.mt-6 { margin-top: 2rem !important; } - -.mr-6 { margin-right: 2rem !important; } - -.mb-6 { margin-bottom: 2rem !important; } - -.ml-6 { margin-left: 2rem !important; } - -.mx-6 { margin-right: 2rem !important; margin-left: 2rem !important; } - -.my-6 { margin-top: 2rem !important; margin-bottom: 2rem !important; } - -.mxn-6 { margin-right: -2rem !important; margin-left: -2rem !important; } - -.mx-6-auto { margin-right: auto !important; margin-left: auto !important; } - -.m-7 { margin: 2.5rem !important; } - -.mt-7 { margin-top: 2.5rem !important; } - -.mr-7 { margin-right: 2.5rem !important; } - -.mb-7 { margin-bottom: 2.5rem !important; } - -.ml-7 { margin-left: 2.5rem !important; } - -.mx-7 { margin-right: 2.5rem !important; margin-left: 2.5rem !important; } - -.my-7 { margin-top: 2.5rem !important; margin-bottom: 2.5rem !important; } - -.mxn-7 { margin-right: -2.5rem !important; margin-left: -2.5rem !important; } - -.mx-7-auto { margin-right: auto !important; margin-left: auto !important; } - -.m-8 { margin: 3rem !important; } - -.mt-8 { margin-top: 3rem !important; } - -.mr-8 { margin-right: 3rem !important; } - -.mb-8 { margin-bottom: 3rem !important; } - -.ml-8 { margin-left: 3rem !important; } - -.mx-8 { margin-right: 3rem !important; margin-left: 3rem !important; } - -.my-8 { margin-top: 3rem !important; margin-bottom: 3rem !important; } - -.mxn-8 { margin-right: -3rem !important; margin-left: -3rem !important; } - -.mx-8-auto { margin-right: auto !important; margin-left: auto !important; } - -.m-9 { margin: 3.5rem !important; } - -.mt-9 { margin-top: 3.5rem !important; } - -.mr-9 { margin-right: 3.5rem !important; } - -.mb-9 { margin-bottom: 3.5rem !important; } - -.ml-9 { margin-left: 3.5rem !important; } - -.mx-9 { margin-right: 3.5rem !important; margin-left: 3.5rem !important; } - -.my-9 { margin-top: 3.5rem !important; margin-bottom: 3.5rem !important; } - -.mxn-9 { margin-right: -3.5rem !important; margin-left: -3.5rem !important; } - -.mx-9-auto { margin-right: auto !important; margin-left: auto !important; } - -.m-10 { margin: 4rem !important; } - -.mt-10 { margin-top: 4rem !important; } - -.mr-10 { margin-right: 4rem !important; } - -.mb-10 { margin-bottom: 4rem !important; } - -.ml-10 { margin-left: 4rem !important; } - -.mx-10 { margin-right: 4rem !important; margin-left: 4rem !important; } - -.my-10 { margin-top: 4rem !important; margin-bottom: 4rem !important; } - -.mxn-10 { margin-right: -4rem !important; margin-left: -4rem !important; } - -.mx-10-auto { margin-right: auto !important; margin-left: auto !important; } - -@media (min-width: 20rem) { .m-xs-0 { margin: 0 !important; } .mt-xs-0 { margin-top: 0 !important; } .mr-xs-0 { margin-right: 0 !important; } .mb-xs-0 { margin-bottom: 0 !important; } .ml-xs-0 { margin-left: 0 !important; } .mx-xs-0 { margin-right: 0 !important; margin-left: 0 !important; } .my-xs-0 { margin-top: 0 !important; margin-bottom: 0 !important; } .mxn-xs-0 { margin-right: -0 !important; margin-left: -0 !important; } } - -@media (min-width: 20rem) { .m-xs-1 { margin: 0.25rem !important; } .mt-xs-1 { margin-top: 0.25rem !important; } .mr-xs-1 { margin-right: 0.25rem !important; } .mb-xs-1 { margin-bottom: 0.25rem !important; } .ml-xs-1 { margin-left: 0.25rem !important; } .mx-xs-1 { margin-right: 0.25rem !important; margin-left: 0.25rem !important; } .my-xs-1 { margin-top: 0.25rem !important; margin-bottom: 0.25rem !important; } .mxn-xs-1 { margin-right: -0.25rem !important; margin-left: -0.25rem !important; } } - -@media (min-width: 20rem) { .m-xs-2 { margin: 0.5rem !important; } .mt-xs-2 { margin-top: 0.5rem !important; } .mr-xs-2 { margin-right: 0.5rem !important; } .mb-xs-2 { margin-bottom: 0.5rem !important; } .ml-xs-2 { margin-left: 0.5rem !important; } .mx-xs-2 { margin-right: 0.5rem !important; margin-left: 0.5rem !important; } .my-xs-2 { margin-top: 0.5rem !important; margin-bottom: 0.5rem !important; } .mxn-xs-2 { margin-right: -0.5rem !important; margin-left: -0.5rem !important; } } - -@media (min-width: 20rem) { .m-xs-3 { margin: 0.75rem !important; } .mt-xs-3 { margin-top: 0.75rem !important; } .mr-xs-3 { margin-right: 0.75rem !important; } .mb-xs-3 { margin-bottom: 0.75rem !important; } .ml-xs-3 { margin-left: 0.75rem !important; } .mx-xs-3 { margin-right: 0.75rem !important; margin-left: 0.75rem !important; } .my-xs-3 { margin-top: 0.75rem !important; margin-bottom: 0.75rem !important; } .mxn-xs-3 { margin-right: -0.75rem !important; margin-left: -0.75rem !important; } } - -@media (min-width: 20rem) { .m-xs-4 { margin: 1rem !important; } .mt-xs-4 { margin-top: 1rem !important; } .mr-xs-4 { margin-right: 1rem !important; } .mb-xs-4 { margin-bottom: 1rem !important; } .ml-xs-4 { margin-left: 1rem !important; } .mx-xs-4 { margin-right: 1rem !important; margin-left: 1rem !important; } .my-xs-4 { margin-top: 1rem !important; margin-bottom: 1rem !important; } .mxn-xs-4 { margin-right: -1rem !important; margin-left: -1rem !important; } } - -@media (min-width: 20rem) { .m-xs-5 { margin: 1.5rem !important; } .mt-xs-5 { margin-top: 1.5rem !important; } .mr-xs-5 { margin-right: 1.5rem !important; } .mb-xs-5 { margin-bottom: 1.5rem !important; } .ml-xs-5 { margin-left: 1.5rem !important; } .mx-xs-5 { margin-right: 1.5rem !important; margin-left: 1.5rem !important; } .my-xs-5 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; } .mxn-xs-5 { margin-right: -1.5rem !important; margin-left: -1.5rem !important; } } - -@media (min-width: 20rem) { .m-xs-6 { margin: 2rem !important; } .mt-xs-6 { margin-top: 2rem !important; } .mr-xs-6 { margin-right: 2rem !important; } .mb-xs-6 { margin-bottom: 2rem !important; } .ml-xs-6 { margin-left: 2rem !important; } .mx-xs-6 { margin-right: 2rem !important; margin-left: 2rem !important; } .my-xs-6 { margin-top: 2rem !important; margin-bottom: 2rem !important; } .mxn-xs-6 { margin-right: -2rem !important; margin-left: -2rem !important; } } - -@media (min-width: 20rem) { .m-xs-7 { margin: 2.5rem !important; } .mt-xs-7 { margin-top: 2.5rem !important; } .mr-xs-7 { margin-right: 2.5rem !important; } .mb-xs-7 { margin-bottom: 2.5rem !important; } .ml-xs-7 { margin-left: 2.5rem !important; } .mx-xs-7 { margin-right: 2.5rem !important; margin-left: 2.5rem !important; } .my-xs-7 { margin-top: 2.5rem !important; margin-bottom: 2.5rem !important; } .mxn-xs-7 { margin-right: -2.5rem !important; margin-left: -2.5rem !important; } } - -@media (min-width: 20rem) { .m-xs-8 { margin: 3rem !important; } .mt-xs-8 { margin-top: 3rem !important; } .mr-xs-8 { margin-right: 3rem !important; } .mb-xs-8 { margin-bottom: 3rem !important; } .ml-xs-8 { margin-left: 3rem !important; } .mx-xs-8 { margin-right: 3rem !important; margin-left: 3rem !important; } .my-xs-8 { margin-top: 3rem !important; margin-bottom: 3rem !important; } .mxn-xs-8 { margin-right: -3rem !important; margin-left: -3rem !important; } } - -@media (min-width: 20rem) { .m-xs-9 { margin: 3.5rem !important; } .mt-xs-9 { margin-top: 3.5rem !important; } .mr-xs-9 { margin-right: 3.5rem !important; } .mb-xs-9 { margin-bottom: 3.5rem !important; } .ml-xs-9 { margin-left: 3.5rem !important; } .mx-xs-9 { margin-right: 3.5rem !important; margin-left: 3.5rem !important; } .my-xs-9 { margin-top: 3.5rem !important; margin-bottom: 3.5rem !important; } .mxn-xs-9 { margin-right: -3.5rem !important; margin-left: -3.5rem !important; } } - -@media (min-width: 20rem) { .m-xs-10 { margin: 4rem !important; } .mt-xs-10 { margin-top: 4rem !important; } .mr-xs-10 { margin-right: 4rem !important; } .mb-xs-10 { margin-bottom: 4rem !important; } .ml-xs-10 { margin-left: 4rem !important; } .mx-xs-10 { margin-right: 4rem !important; margin-left: 4rem !important; } .my-xs-10 { margin-top: 4rem !important; margin-bottom: 4rem !important; } .mxn-xs-10 { margin-right: -4rem !important; margin-left: -4rem !important; } } - -@media (min-width: 31.25rem) { .m-sm-0 { margin: 0 !important; } .mt-sm-0 { margin-top: 0 !important; } .mr-sm-0 { margin-right: 0 !important; } .mb-sm-0 { margin-bottom: 0 !important; } .ml-sm-0 { margin-left: 0 !important; } .mx-sm-0 { margin-right: 0 !important; margin-left: 0 !important; } .my-sm-0 { margin-top: 0 !important; margin-bottom: 0 !important; } .mxn-sm-0 { margin-right: -0 !important; margin-left: -0 !important; } } - -@media (min-width: 31.25rem) { .m-sm-1 { margin: 0.25rem !important; } .mt-sm-1 { margin-top: 0.25rem !important; } .mr-sm-1 { margin-right: 0.25rem !important; } .mb-sm-1 { margin-bottom: 0.25rem !important; } .ml-sm-1 { margin-left: 0.25rem !important; } .mx-sm-1 { margin-right: 0.25rem !important; margin-left: 0.25rem !important; } .my-sm-1 { margin-top: 0.25rem !important; margin-bottom: 0.25rem !important; } .mxn-sm-1 { margin-right: -0.25rem !important; margin-left: -0.25rem !important; } } - -@media (min-width: 31.25rem) { .m-sm-2 { margin: 0.5rem !important; } .mt-sm-2 { margin-top: 0.5rem !important; } .mr-sm-2 { margin-right: 0.5rem !important; } .mb-sm-2 { margin-bottom: 0.5rem !important; } .ml-sm-2 { margin-left: 0.5rem !important; } .mx-sm-2 { margin-right: 0.5rem !important; margin-left: 0.5rem !important; } .my-sm-2 { margin-top: 0.5rem !important; margin-bottom: 0.5rem !important; } .mxn-sm-2 { margin-right: -0.5rem !important; margin-left: -0.5rem !important; } } - -@media (min-width: 31.25rem) { .m-sm-3 { margin: 0.75rem !important; } .mt-sm-3 { margin-top: 0.75rem !important; } .mr-sm-3 { margin-right: 0.75rem !important; } .mb-sm-3 { margin-bottom: 0.75rem !important; } .ml-sm-3 { margin-left: 0.75rem !important; } .mx-sm-3 { margin-right: 0.75rem !important; margin-left: 0.75rem !important; } .my-sm-3 { margin-top: 0.75rem !important; margin-bottom: 0.75rem !important; } .mxn-sm-3 { margin-right: -0.75rem !important; margin-left: -0.75rem !important; } } - -@media (min-width: 31.25rem) { .m-sm-4 { margin: 1rem !important; } .mt-sm-4 { margin-top: 1rem !important; } .mr-sm-4 { margin-right: 1rem !important; } .mb-sm-4 { margin-bottom: 1rem !important; } .ml-sm-4 { margin-left: 1rem !important; } .mx-sm-4 { margin-right: 1rem !important; margin-left: 1rem !important; } .my-sm-4 { margin-top: 1rem !important; margin-bottom: 1rem !important; } .mxn-sm-4 { margin-right: -1rem !important; margin-left: -1rem !important; } } - -@media (min-width: 31.25rem) { .m-sm-5 { margin: 1.5rem !important; } .mt-sm-5 { margin-top: 1.5rem !important; } .mr-sm-5 { margin-right: 1.5rem !important; } .mb-sm-5 { margin-bottom: 1.5rem !important; } .ml-sm-5 { margin-left: 1.5rem !important; } .mx-sm-5 { margin-right: 1.5rem !important; margin-left: 1.5rem !important; } .my-sm-5 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; } .mxn-sm-5 { margin-right: -1.5rem !important; margin-left: -1.5rem !important; } } - -@media (min-width: 31.25rem) { .m-sm-6 { margin: 2rem !important; } .mt-sm-6 { margin-top: 2rem !important; } .mr-sm-6 { margin-right: 2rem !important; } .mb-sm-6 { margin-bottom: 2rem !important; } .ml-sm-6 { margin-left: 2rem !important; } .mx-sm-6 { margin-right: 2rem !important; margin-left: 2rem !important; } .my-sm-6 { margin-top: 2rem !important; margin-bottom: 2rem !important; } .mxn-sm-6 { margin-right: -2rem !important; margin-left: -2rem !important; } } - -@media (min-width: 31.25rem) { .m-sm-7 { margin: 2.5rem !important; } .mt-sm-7 { margin-top: 2.5rem !important; } .mr-sm-7 { margin-right: 2.5rem !important; } .mb-sm-7 { margin-bottom: 2.5rem !important; } .ml-sm-7 { margin-left: 2.5rem !important; } .mx-sm-7 { margin-right: 2.5rem !important; margin-left: 2.5rem !important; } .my-sm-7 { margin-top: 2.5rem !important; margin-bottom: 2.5rem !important; } .mxn-sm-7 { margin-right: -2.5rem !important; margin-left: -2.5rem !important; } } - -@media (min-width: 31.25rem) { .m-sm-8 { margin: 3rem !important; } .mt-sm-8 { margin-top: 3rem !important; } .mr-sm-8 { margin-right: 3rem !important; } .mb-sm-8 { margin-bottom: 3rem !important; } .ml-sm-8 { margin-left: 3rem !important; } .mx-sm-8 { margin-right: 3rem !important; margin-left: 3rem !important; } .my-sm-8 { margin-top: 3rem !important; margin-bottom: 3rem !important; } .mxn-sm-8 { margin-right: -3rem !important; margin-left: -3rem !important; } } - -@media (min-width: 31.25rem) { .m-sm-9 { margin: 3.5rem !important; } .mt-sm-9 { margin-top: 3.5rem !important; } .mr-sm-9 { margin-right: 3.5rem !important; } .mb-sm-9 { margin-bottom: 3.5rem !important; } .ml-sm-9 { margin-left: 3.5rem !important; } .mx-sm-9 { margin-right: 3.5rem !important; margin-left: 3.5rem !important; } .my-sm-9 { margin-top: 3.5rem !important; margin-bottom: 3.5rem !important; } .mxn-sm-9 { margin-right: -3.5rem !important; margin-left: -3.5rem !important; } } - -@media (min-width: 31.25rem) { .m-sm-10 { margin: 4rem !important; } .mt-sm-10 { margin-top: 4rem !important; } .mr-sm-10 { margin-right: 4rem !important; } .mb-sm-10 { margin-bottom: 4rem !important; } .ml-sm-10 { margin-left: 4rem !important; } .mx-sm-10 { margin-right: 4rem !important; margin-left: 4rem !important; } .my-sm-10 { margin-top: 4rem !important; margin-bottom: 4rem !important; } .mxn-sm-10 { margin-right: -4rem !important; margin-left: -4rem !important; } } - -@media (min-width: 50rem) { .m-md-0 { margin: 0 !important; } .mt-md-0 { margin-top: 0 !important; } .mr-md-0 { margin-right: 0 !important; } .mb-md-0 { margin-bottom: 0 !important; } .ml-md-0 { margin-left: 0 !important; } .mx-md-0 { margin-right: 0 !important; margin-left: 0 !important; } .my-md-0 { margin-top: 0 !important; margin-bottom: 0 !important; } .mxn-md-0 { margin-right: -0 !important; margin-left: -0 !important; } } - -@media (min-width: 50rem) { .m-md-1 { margin: 0.25rem !important; } .mt-md-1 { margin-top: 0.25rem !important; } .mr-md-1 { margin-right: 0.25rem !important; } .mb-md-1 { margin-bottom: 0.25rem !important; } .ml-md-1 { margin-left: 0.25rem !important; } .mx-md-1 { margin-right: 0.25rem !important; margin-left: 0.25rem !important; } .my-md-1 { margin-top: 0.25rem !important; margin-bottom: 0.25rem !important; } .mxn-md-1 { margin-right: -0.25rem !important; margin-left: -0.25rem !important; } } - -@media (min-width: 50rem) { .m-md-2 { margin: 0.5rem !important; } .mt-md-2 { margin-top: 0.5rem !important; } .mr-md-2 { margin-right: 0.5rem !important; } .mb-md-2 { margin-bottom: 0.5rem !important; } .ml-md-2 { margin-left: 0.5rem !important; } .mx-md-2 { margin-right: 0.5rem !important; margin-left: 0.5rem !important; } .my-md-2 { margin-top: 0.5rem !important; margin-bottom: 0.5rem !important; } .mxn-md-2 { margin-right: -0.5rem !important; margin-left: -0.5rem !important; } } - -@media (min-width: 50rem) { .m-md-3 { margin: 0.75rem !important; } .mt-md-3 { margin-top: 0.75rem !important; } .mr-md-3 { margin-right: 0.75rem !important; } .mb-md-3 { margin-bottom: 0.75rem !important; } .ml-md-3 { margin-left: 0.75rem !important; } .mx-md-3 { margin-right: 0.75rem !important; margin-left: 0.75rem !important; } .my-md-3 { margin-top: 0.75rem !important; margin-bottom: 0.75rem !important; } .mxn-md-3 { margin-right: -0.75rem !important; margin-left: -0.75rem !important; } } - -@media (min-width: 50rem) { .m-md-4 { margin: 1rem !important; } .mt-md-4 { margin-top: 1rem !important; } .mr-md-4 { margin-right: 1rem !important; } .mb-md-4 { margin-bottom: 1rem !important; } .ml-md-4 { margin-left: 1rem !important; } .mx-md-4 { margin-right: 1rem !important; margin-left: 1rem !important; } .my-md-4 { margin-top: 1rem !important; margin-bottom: 1rem !important; } .mxn-md-4 { margin-right: -1rem !important; margin-left: -1rem !important; } } - -@media (min-width: 50rem) { .m-md-5 { margin: 1.5rem !important; } .mt-md-5 { margin-top: 1.5rem !important; } .mr-md-5 { margin-right: 1.5rem !important; } .mb-md-5 { margin-bottom: 1.5rem !important; } .ml-md-5 { margin-left: 1.5rem !important; } .mx-md-5 { margin-right: 1.5rem !important; margin-left: 1.5rem !important; } .my-md-5 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; } .mxn-md-5 { margin-right: -1.5rem !important; margin-left: -1.5rem !important; } } - -@media (min-width: 50rem) { .m-md-6 { margin: 2rem !important; } .mt-md-6 { margin-top: 2rem !important; } .mr-md-6 { margin-right: 2rem !important; } .mb-md-6 { margin-bottom: 2rem !important; } .ml-md-6 { margin-left: 2rem !important; } .mx-md-6 { margin-right: 2rem !important; margin-left: 2rem !important; } .my-md-6 { margin-top: 2rem !important; margin-bottom: 2rem !important; } .mxn-md-6 { margin-right: -2rem !important; margin-left: -2rem !important; } } - -@media (min-width: 50rem) { .m-md-7 { margin: 2.5rem !important; } .mt-md-7 { margin-top: 2.5rem !important; } .mr-md-7 { margin-right: 2.5rem !important; } .mb-md-7 { margin-bottom: 2.5rem !important; } .ml-md-7 { margin-left: 2.5rem !important; } .mx-md-7 { margin-right: 2.5rem !important; margin-left: 2.5rem !important; } .my-md-7 { margin-top: 2.5rem !important; margin-bottom: 2.5rem !important; } .mxn-md-7 { margin-right: -2.5rem !important; margin-left: -2.5rem !important; } } - -@media (min-width: 50rem) { .m-md-8 { margin: 3rem !important; } .mt-md-8 { margin-top: 3rem !important; } .mr-md-8 { margin-right: 3rem !important; } .mb-md-8 { margin-bottom: 3rem !important; } .ml-md-8 { margin-left: 3rem !important; } .mx-md-8 { margin-right: 3rem !important; margin-left: 3rem !important; } .my-md-8 { margin-top: 3rem !important; margin-bottom: 3rem !important; } .mxn-md-8 { margin-right: -3rem !important; margin-left: -3rem !important; } } - -@media (min-width: 50rem) { .m-md-9 { margin: 3.5rem !important; } .mt-md-9 { margin-top: 3.5rem !important; } .mr-md-9 { margin-right: 3.5rem !important; } .mb-md-9 { margin-bottom: 3.5rem !important; } .ml-md-9 { margin-left: 3.5rem !important; } .mx-md-9 { margin-right: 3.5rem !important; margin-left: 3.5rem !important; } .my-md-9 { margin-top: 3.5rem !important; margin-bottom: 3.5rem !important; } .mxn-md-9 { margin-right: -3.5rem !important; margin-left: -3.5rem !important; } } - -@media (min-width: 50rem) { .m-md-10 { margin: 4rem !important; } .mt-md-10 { margin-top: 4rem !important; } .mr-md-10 { margin-right: 4rem !important; } .mb-md-10 { margin-bottom: 4rem !important; } .ml-md-10 { margin-left: 4rem !important; } .mx-md-10 { margin-right: 4rem !important; margin-left: 4rem !important; } .my-md-10 { margin-top: 4rem !important; margin-bottom: 4rem !important; } .mxn-md-10 { margin-right: -4rem !important; margin-left: -4rem !important; } } - -@media (min-width: 66.5rem) { .m-lg-0 { margin: 0 !important; } .mt-lg-0 { margin-top: 0 !important; } .mr-lg-0 { margin-right: 0 !important; } .mb-lg-0 { margin-bottom: 0 !important; } .ml-lg-0 { margin-left: 0 !important; } .mx-lg-0 { margin-right: 0 !important; margin-left: 0 !important; } .my-lg-0 { margin-top: 0 !important; margin-bottom: 0 !important; } .mxn-lg-0 { margin-right: -0 !important; margin-left: -0 !important; } } - -@media (min-width: 66.5rem) { .m-lg-1 { margin: 0.25rem !important; } .mt-lg-1 { margin-top: 0.25rem !important; } .mr-lg-1 { margin-right: 0.25rem !important; } .mb-lg-1 { margin-bottom: 0.25rem !important; } .ml-lg-1 { margin-left: 0.25rem !important; } .mx-lg-1 { margin-right: 0.25rem !important; margin-left: 0.25rem !important; } .my-lg-1 { margin-top: 0.25rem !important; margin-bottom: 0.25rem !important; } .mxn-lg-1 { margin-right: -0.25rem !important; margin-left: -0.25rem !important; } } - -@media (min-width: 66.5rem) { .m-lg-2 { margin: 0.5rem !important; } .mt-lg-2 { margin-top: 0.5rem !important; } .mr-lg-2 { margin-right: 0.5rem !important; } .mb-lg-2 { margin-bottom: 0.5rem !important; } .ml-lg-2 { margin-left: 0.5rem !important; } .mx-lg-2 { margin-right: 0.5rem !important; margin-left: 0.5rem !important; } .my-lg-2 { margin-top: 0.5rem !important; margin-bottom: 0.5rem !important; } .mxn-lg-2 { margin-right: -0.5rem !important; margin-left: -0.5rem !important; } } - -@media (min-width: 66.5rem) { .m-lg-3 { margin: 0.75rem !important; } .mt-lg-3 { margin-top: 0.75rem !important; } .mr-lg-3 { margin-right: 0.75rem !important; } .mb-lg-3 { margin-bottom: 0.75rem !important; } .ml-lg-3 { margin-left: 0.75rem !important; } .mx-lg-3 { margin-right: 0.75rem !important; margin-left: 0.75rem !important; } .my-lg-3 { margin-top: 0.75rem !important; margin-bottom: 0.75rem !important; } .mxn-lg-3 { margin-right: -0.75rem !important; margin-left: -0.75rem !important; } } - -@media (min-width: 66.5rem) { .m-lg-4 { margin: 1rem !important; } .mt-lg-4 { margin-top: 1rem !important; } .mr-lg-4 { margin-right: 1rem !important; } .mb-lg-4 { margin-bottom: 1rem !important; } .ml-lg-4 { margin-left: 1rem !important; } .mx-lg-4 { margin-right: 1rem !important; margin-left: 1rem !important; } .my-lg-4 { margin-top: 1rem !important; margin-bottom: 1rem !important; } .mxn-lg-4 { margin-right: -1rem !important; margin-left: -1rem !important; } } - -@media (min-width: 66.5rem) { .m-lg-5 { margin: 1.5rem !important; } .mt-lg-5 { margin-top: 1.5rem !important; } .mr-lg-5 { margin-right: 1.5rem !important; } .mb-lg-5 { margin-bottom: 1.5rem !important; } .ml-lg-5 { margin-left: 1.5rem !important; } .mx-lg-5 { margin-right: 1.5rem !important; margin-left: 1.5rem !important; } .my-lg-5 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; } .mxn-lg-5 { margin-right: -1.5rem !important; margin-left: -1.5rem !important; } } - -@media (min-width: 66.5rem) { .m-lg-6 { margin: 2rem !important; } .mt-lg-6 { margin-top: 2rem !important; } .mr-lg-6 { margin-right: 2rem !important; } .mb-lg-6 { margin-bottom: 2rem !important; } .ml-lg-6 { margin-left: 2rem !important; } .mx-lg-6 { margin-right: 2rem !important; margin-left: 2rem !important; } .my-lg-6 { margin-top: 2rem !important; margin-bottom: 2rem !important; } .mxn-lg-6 { margin-right: -2rem !important; margin-left: -2rem !important; } } - -@media (min-width: 66.5rem) { .m-lg-7 { margin: 2.5rem !important; } .mt-lg-7 { margin-top: 2.5rem !important; } .mr-lg-7 { margin-right: 2.5rem !important; } .mb-lg-7 { margin-bottom: 2.5rem !important; } .ml-lg-7 { margin-left: 2.5rem !important; } .mx-lg-7 { margin-right: 2.5rem !important; margin-left: 2.5rem !important; } .my-lg-7 { margin-top: 2.5rem !important; margin-bottom: 2.5rem !important; } .mxn-lg-7 { margin-right: -2.5rem !important; margin-left: -2.5rem !important; } } - -@media (min-width: 66.5rem) { .m-lg-8 { margin: 3rem !important; } .mt-lg-8 { margin-top: 3rem !important; } .mr-lg-8 { margin-right: 3rem !important; } .mb-lg-8 { margin-bottom: 3rem !important; } .ml-lg-8 { margin-left: 3rem !important; } .mx-lg-8 { margin-right: 3rem !important; margin-left: 3rem !important; } .my-lg-8 { margin-top: 3rem !important; margin-bottom: 3rem !important; } .mxn-lg-8 { margin-right: -3rem !important; margin-left: -3rem !important; } } - -@media (min-width: 66.5rem) { .m-lg-9 { margin: 3.5rem !important; } .mt-lg-9 { margin-top: 3.5rem !important; } .mr-lg-9 { margin-right: 3.5rem !important; } .mb-lg-9 { margin-bottom: 3.5rem !important; } .ml-lg-9 { margin-left: 3.5rem !important; } .mx-lg-9 { margin-right: 3.5rem !important; margin-left: 3.5rem !important; } .my-lg-9 { margin-top: 3.5rem !important; margin-bottom: 3.5rem !important; } .mxn-lg-9 { margin-right: -3.5rem !important; margin-left: -3.5rem !important; } } - -@media (min-width: 66.5rem) { .m-lg-10 { margin: 4rem !important; } .mt-lg-10 { margin-top: 4rem !important; } .mr-lg-10 { margin-right: 4rem !important; } .mb-lg-10 { margin-bottom: 4rem !important; } .ml-lg-10 { margin-left: 4rem !important; } .mx-lg-10 { margin-right: 4rem !important; margin-left: 4rem !important; } .my-lg-10 { margin-top: 4rem !important; margin-bottom: 4rem !important; } .mxn-lg-10 { margin-right: -4rem !important; margin-left: -4rem !important; } } - -@media (min-width: 87.5rem) { .m-xl-0 { margin: 0 !important; } .mt-xl-0 { margin-top: 0 !important; } .mr-xl-0 { margin-right: 0 !important; } .mb-xl-0 { margin-bottom: 0 !important; } .ml-xl-0 { margin-left: 0 !important; } .mx-xl-0 { margin-right: 0 !important; margin-left: 0 !important; } .my-xl-0 { margin-top: 0 !important; margin-bottom: 0 !important; } .mxn-xl-0 { margin-right: -0 !important; margin-left: -0 !important; } } - -@media (min-width: 87.5rem) { .m-xl-1 { margin: 0.25rem !important; } .mt-xl-1 { margin-top: 0.25rem !important; } .mr-xl-1 { margin-right: 0.25rem !important; } .mb-xl-1 { margin-bottom: 0.25rem !important; } .ml-xl-1 { margin-left: 0.25rem !important; } .mx-xl-1 { margin-right: 0.25rem !important; margin-left: 0.25rem !important; } .my-xl-1 { margin-top: 0.25rem !important; margin-bottom: 0.25rem !important; } .mxn-xl-1 { margin-right: -0.25rem !important; margin-left: -0.25rem !important; } } - -@media (min-width: 87.5rem) { .m-xl-2 { margin: 0.5rem !important; } .mt-xl-2 { margin-top: 0.5rem !important; } .mr-xl-2 { margin-right: 0.5rem !important; } .mb-xl-2 { margin-bottom: 0.5rem !important; } .ml-xl-2 { margin-left: 0.5rem !important; } .mx-xl-2 { margin-right: 0.5rem !important; margin-left: 0.5rem !important; } .my-xl-2 { margin-top: 0.5rem !important; margin-bottom: 0.5rem !important; } .mxn-xl-2 { margin-right: -0.5rem !important; margin-left: -0.5rem !important; } } - -@media (min-width: 87.5rem) { .m-xl-3 { margin: 0.75rem !important; } .mt-xl-3 { margin-top: 0.75rem !important; } .mr-xl-3 { margin-right: 0.75rem !important; } .mb-xl-3 { margin-bottom: 0.75rem !important; } .ml-xl-3 { margin-left: 0.75rem !important; } .mx-xl-3 { margin-right: 0.75rem !important; margin-left: 0.75rem !important; } .my-xl-3 { margin-top: 0.75rem !important; margin-bottom: 0.75rem !important; } .mxn-xl-3 { margin-right: -0.75rem !important; margin-left: -0.75rem !important; } } - -@media (min-width: 87.5rem) { .m-xl-4 { margin: 1rem !important; } .mt-xl-4 { margin-top: 1rem !important; } .mr-xl-4 { margin-right: 1rem !important; } .mb-xl-4 { margin-bottom: 1rem !important; } .ml-xl-4 { margin-left: 1rem !important; } .mx-xl-4 { margin-right: 1rem !important; margin-left: 1rem !important; } .my-xl-4 { margin-top: 1rem !important; margin-bottom: 1rem !important; } .mxn-xl-4 { margin-right: -1rem !important; margin-left: -1rem !important; } } - -@media (min-width: 87.5rem) { .m-xl-5 { margin: 1.5rem !important; } .mt-xl-5 { margin-top: 1.5rem !important; } .mr-xl-5 { margin-right: 1.5rem !important; } .mb-xl-5 { margin-bottom: 1.5rem !important; } .ml-xl-5 { margin-left: 1.5rem !important; } .mx-xl-5 { margin-right: 1.5rem !important; margin-left: 1.5rem !important; } .my-xl-5 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; } .mxn-xl-5 { margin-right: -1.5rem !important; margin-left: -1.5rem !important; } } - -@media (min-width: 87.5rem) { .m-xl-6 { margin: 2rem !important; } .mt-xl-6 { margin-top: 2rem !important; } .mr-xl-6 { margin-right: 2rem !important; } .mb-xl-6 { margin-bottom: 2rem !important; } .ml-xl-6 { margin-left: 2rem !important; } .mx-xl-6 { margin-right: 2rem !important; margin-left: 2rem !important; } .my-xl-6 { margin-top: 2rem !important; margin-bottom: 2rem !important; } .mxn-xl-6 { margin-right: -2rem !important; margin-left: -2rem !important; } } - -@media (min-width: 87.5rem) { .m-xl-7 { margin: 2.5rem !important; } .mt-xl-7 { margin-top: 2.5rem !important; } .mr-xl-7 { margin-right: 2.5rem !important; } .mb-xl-7 { margin-bottom: 2.5rem !important; } .ml-xl-7 { margin-left: 2.5rem !important; } .mx-xl-7 { margin-right: 2.5rem !important; margin-left: 2.5rem !important; } .my-xl-7 { margin-top: 2.5rem !important; margin-bottom: 2.5rem !important; } .mxn-xl-7 { margin-right: -2.5rem !important; margin-left: -2.5rem !important; } } - -@media (min-width: 87.5rem) { .m-xl-8 { margin: 3rem !important; } .mt-xl-8 { margin-top: 3rem !important; } .mr-xl-8 { margin-right: 3rem !important; } .mb-xl-8 { margin-bottom: 3rem !important; } .ml-xl-8 { margin-left: 3rem !important; } .mx-xl-8 { margin-right: 3rem !important; margin-left: 3rem !important; } .my-xl-8 { margin-top: 3rem !important; margin-bottom: 3rem !important; } .mxn-xl-8 { margin-right: -3rem !important; margin-left: -3rem !important; } } - -@media (min-width: 87.5rem) { .m-xl-9 { margin: 3.5rem !important; } .mt-xl-9 { margin-top: 3.5rem !important; } .mr-xl-9 { margin-right: 3.5rem !important; } .mb-xl-9 { margin-bottom: 3.5rem !important; } .ml-xl-9 { margin-left: 3.5rem !important; } .mx-xl-9 { margin-right: 3.5rem !important; margin-left: 3.5rem !important; } .my-xl-9 { margin-top: 3.5rem !important; margin-bottom: 3.5rem !important; } .mxn-xl-9 { margin-right: -3.5rem !important; margin-left: -3.5rem !important; } } - -@media (min-width: 87.5rem) { .m-xl-10 { margin: 4rem !important; } .mt-xl-10 { margin-top: 4rem !important; } .mr-xl-10 { margin-right: 4rem !important; } .mb-xl-10 { margin-bottom: 4rem !important; } .ml-xl-10 { margin-left: 4rem !important; } .mx-xl-10 { margin-right: 4rem !important; margin-left: 4rem !important; } .my-xl-10 { margin-top: 4rem !important; margin-bottom: 4rem !important; } .mxn-xl-10 { margin-right: -4rem !important; margin-left: -4rem !important; } } - -.p-0 { padding: 0 !important; } - -.pt-0 { padding-top: 0 !important; } - -.pr-0 { padding-right: 0 !important; } - -.pb-0 { padding-bottom: 0 !important; } - -.pl-0 { padding-left: 0 !important; } - -.px-0 { padding-right: 0 !important; padding-left: 0 !important; } - -.py-0 { padding-top: 0 !important; padding-bottom: 0 !important; } - -.p-1 { padding: 0.25rem !important; } - -.pt-1 { padding-top: 0.25rem !important; } - -.pr-1 { padding-right: 0.25rem !important; } - -.pb-1 { padding-bottom: 0.25rem !important; } - -.pl-1 { padding-left: 0.25rem !important; } - -.px-1 { padding-right: 0.25rem !important; padding-left: 0.25rem !important; } - -.py-1 { padding-top: 0.25rem !important; padding-bottom: 0.25rem !important; } - -.p-2 { padding: 0.5rem !important; } - -.pt-2 { padding-top: 0.5rem !important; } - -.pr-2 { padding-right: 0.5rem !important; } - -.pb-2 { padding-bottom: 0.5rem !important; } - -.pl-2 { padding-left: 0.5rem !important; } - -.px-2 { padding-right: 0.5rem !important; padding-left: 0.5rem !important; } - -.py-2 { padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; } - -.p-3 { padding: 0.75rem !important; } - -.pt-3 { padding-top: 0.75rem !important; } - -.pr-3 { padding-right: 0.75rem !important; } - -.pb-3 { padding-bottom: 0.75rem !important; } - -.pl-3 { padding-left: 0.75rem !important; } - -.px-3 { padding-right: 0.75rem !important; padding-left: 0.75rem !important; } - -.py-3 { padding-top: 0.75rem !important; padding-bottom: 0.75rem !important; } - -.p-4 { padding: 1rem !important; } - -.pt-4 { padding-top: 1rem !important; } - -.pr-4 { padding-right: 1rem !important; } - -.pb-4 { padding-bottom: 1rem !important; } - -.pl-4 { padding-left: 1rem !important; } - -.px-4 { padding-right: 1rem !important; padding-left: 1rem !important; } - -.py-4 { padding-top: 1rem !important; padding-bottom: 1rem !important; } - -.p-5 { padding: 1.5rem !important; } - -.pt-5 { padding-top: 1.5rem !important; } - -.pr-5 { padding-right: 1.5rem !important; } - -.pb-5 { padding-bottom: 1.5rem !important; } - -.pl-5 { padding-left: 1.5rem !important; } - -.px-5 { padding-right: 1.5rem !important; padding-left: 1.5rem !important; } - -.py-5 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; } - -.p-6 { padding: 2rem !important; } - -.pt-6 { padding-top: 2rem !important; } - -.pr-6 { padding-right: 2rem !important; } - -.pb-6 { padding-bottom: 2rem !important; } - -.pl-6 { padding-left: 2rem !important; } - -.px-6 { padding-right: 2rem !important; padding-left: 2rem !important; } - -.py-6 { padding-top: 2rem !important; padding-bottom: 2rem !important; } - -.p-7 { padding: 2.5rem !important; } - -.pt-7 { padding-top: 2.5rem !important; } - -.pr-7 { padding-right: 2.5rem !important; } - -.pb-7 { padding-bottom: 2.5rem !important; } - -.pl-7 { padding-left: 2.5rem !important; } - -.px-7 { padding-right: 2.5rem !important; padding-left: 2.5rem !important; } - -.py-7 { padding-top: 2.5rem !important; padding-bottom: 2.5rem !important; } - -.p-8 { padding: 3rem !important; } - -.pt-8 { padding-top: 3rem !important; } - -.pr-8 { padding-right: 3rem !important; } - -.pb-8 { padding-bottom: 3rem !important; } - -.pl-8 { padding-left: 3rem !important; } - -.px-8 { padding-right: 3rem !important; padding-left: 3rem !important; } - -.py-8 { padding-top: 3rem !important; padding-bottom: 3rem !important; } - -.p-9 { padding: 3.5rem !important; } - -.pt-9 { padding-top: 3.5rem !important; } - -.pr-9 { padding-right: 3.5rem !important; } - -.pb-9 { padding-bottom: 3.5rem !important; } - -.pl-9 { padding-left: 3.5rem !important; } - -.px-9 { padding-right: 3.5rem !important; padding-left: 3.5rem !important; } - -.py-9 { padding-top: 3.5rem !important; padding-bottom: 3.5rem !important; } - -.p-10 { padding: 4rem !important; } - -.pt-10 { padding-top: 4rem !important; } - -.pr-10 { padding-right: 4rem !important; } - -.pb-10 { padding-bottom: 4rem !important; } - -.pl-10 { padding-left: 4rem !important; } - -.px-10 { padding-right: 4rem !important; padding-left: 4rem !important; } - -.py-10 { padding-top: 4rem !important; padding-bottom: 4rem !important; } - -@media (min-width: 20rem) { .p-xs-0 { padding: 0 !important; } .pt-xs-0 { padding-top: 0 !important; } .pr-xs-0 { padding-right: 0 !important; } .pb-xs-0 { padding-bottom: 0 !important; } .pl-xs-0 { padding-left: 0 !important; } .px-xs-0 { padding-right: 0 !important; padding-left: 0 !important; } .py-xs-0 { padding-top: 0 !important; padding-bottom: 0 !important; } .p-xs-1 { padding: 0.25rem !important; } .pt-xs-1 { padding-top: 0.25rem !important; } .pr-xs-1 { padding-right: 0.25rem !important; } .pb-xs-1 { padding-bottom: 0.25rem !important; } .pl-xs-1 { padding-left: 0.25rem !important; } .px-xs-1 { padding-right: 0.25rem !important; padding-left: 0.25rem !important; } .py-xs-1 { padding-top: 0.25rem !important; padding-bottom: 0.25rem !important; } .p-xs-2 { padding: 0.5rem !important; } .pt-xs-2 { padding-top: 0.5rem !important; } .pr-xs-2 { padding-right: 0.5rem !important; } .pb-xs-2 { padding-bottom: 0.5rem !important; } .pl-xs-2 { padding-left: 0.5rem !important; } .px-xs-2 { padding-right: 0.5rem !important; padding-left: 0.5rem !important; } .py-xs-2 { padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; } .p-xs-3 { padding: 0.75rem !important; } .pt-xs-3 { padding-top: 0.75rem !important; } .pr-xs-3 { padding-right: 0.75rem !important; } .pb-xs-3 { padding-bottom: 0.75rem !important; } .pl-xs-3 { padding-left: 0.75rem !important; } .px-xs-3 { padding-right: 0.75rem !important; padding-left: 0.75rem !important; } .py-xs-3 { padding-top: 0.75rem !important; padding-bottom: 0.75rem !important; } .p-xs-4 { padding: 1rem !important; } .pt-xs-4 { padding-top: 1rem !important; } .pr-xs-4 { padding-right: 1rem !important; } .pb-xs-4 { padding-bottom: 1rem !important; } .pl-xs-4 { padding-left: 1rem !important; } .px-xs-4 { padding-right: 1rem !important; padding-left: 1rem !important; } .py-xs-4 { padding-top: 1rem !important; padding-bottom: 1rem !important; } .p-xs-5 { padding: 1.5rem !important; } .pt-xs-5 { padding-top: 1.5rem !important; } .pr-xs-5 { padding-right: 1.5rem !important; } .pb-xs-5 { padding-bottom: 1.5rem !important; } .pl-xs-5 { padding-left: 1.5rem !important; } .px-xs-5 { padding-right: 1.5rem !important; padding-left: 1.5rem !important; } .py-xs-5 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; } .p-xs-6 { padding: 2rem !important; } .pt-xs-6 { padding-top: 2rem !important; } .pr-xs-6 { padding-right: 2rem !important; } .pb-xs-6 { padding-bottom: 2rem !important; } .pl-xs-6 { padding-left: 2rem !important; } .px-xs-6 { padding-right: 2rem !important; padding-left: 2rem !important; } .py-xs-6 { padding-top: 2rem !important; padding-bottom: 2rem !important; } .p-xs-7 { padding: 2.5rem !important; } .pt-xs-7 { padding-top: 2.5rem !important; } .pr-xs-7 { padding-right: 2.5rem !important; } .pb-xs-7 { padding-bottom: 2.5rem !important; } .pl-xs-7 { padding-left: 2.5rem !important; } .px-xs-7 { padding-right: 2.5rem !important; padding-left: 2.5rem !important; } .py-xs-7 { padding-top: 2.5rem !important; padding-bottom: 2.5rem !important; } .p-xs-8 { padding: 3rem !important; } .pt-xs-8 { padding-top: 3rem !important; } .pr-xs-8 { padding-right: 3rem !important; } .pb-xs-8 { padding-bottom: 3rem !important; } .pl-xs-8 { padding-left: 3rem !important; } .px-xs-8 { padding-right: 3rem !important; padding-left: 3rem !important; } .py-xs-8 { padding-top: 3rem !important; padding-bottom: 3rem !important; } .p-xs-9 { padding: 3.5rem !important; } .pt-xs-9 { padding-top: 3.5rem !important; } .pr-xs-9 { padding-right: 3.5rem !important; } .pb-xs-9 { padding-bottom: 3.5rem !important; } .pl-xs-9 { padding-left: 3.5rem !important; } .px-xs-9 { padding-right: 3.5rem !important; padding-left: 3.5rem !important; } .py-xs-9 { padding-top: 3.5rem !important; padding-bottom: 3.5rem !important; } .p-xs-10 { padding: 4rem !important; } .pt-xs-10 { padding-top: 4rem !important; } .pr-xs-10 { padding-right: 4rem !important; } .pb-xs-10 { padding-bottom: 4rem !important; } .pl-xs-10 { padding-left: 4rem !important; } .px-xs-10 { padding-right: 4rem !important; padding-left: 4rem !important; } .py-xs-10 { padding-top: 4rem !important; padding-bottom: 4rem !important; } } - -@media (min-width: 31.25rem) { .p-sm-0 { padding: 0 !important; } .pt-sm-0 { padding-top: 0 !important; } .pr-sm-0 { padding-right: 0 !important; } .pb-sm-0 { padding-bottom: 0 !important; } .pl-sm-0 { padding-left: 0 !important; } .px-sm-0 { padding-right: 0 !important; padding-left: 0 !important; } .py-sm-0 { padding-top: 0 !important; padding-bottom: 0 !important; } .p-sm-1 { padding: 0.25rem !important; } .pt-sm-1 { padding-top: 0.25rem !important; } .pr-sm-1 { padding-right: 0.25rem !important; } .pb-sm-1 { padding-bottom: 0.25rem !important; } .pl-sm-1 { padding-left: 0.25rem !important; } .px-sm-1 { padding-right: 0.25rem !important; padding-left: 0.25rem !important; } .py-sm-1 { padding-top: 0.25rem !important; padding-bottom: 0.25rem !important; } .p-sm-2 { padding: 0.5rem !important; } .pt-sm-2 { padding-top: 0.5rem !important; } .pr-sm-2 { padding-right: 0.5rem !important; } .pb-sm-2 { padding-bottom: 0.5rem !important; } .pl-sm-2 { padding-left: 0.5rem !important; } .px-sm-2 { padding-right: 0.5rem !important; padding-left: 0.5rem !important; } .py-sm-2 { padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; } .p-sm-3 { padding: 0.75rem !important; } .pt-sm-3 { padding-top: 0.75rem !important; } .pr-sm-3 { padding-right: 0.75rem !important; } .pb-sm-3 { padding-bottom: 0.75rem !important; } .pl-sm-3 { padding-left: 0.75rem !important; } .px-sm-3 { padding-right: 0.75rem !important; padding-left: 0.75rem !important; } .py-sm-3 { padding-top: 0.75rem !important; padding-bottom: 0.75rem !important; } .p-sm-4 { padding: 1rem !important; } .pt-sm-4 { padding-top: 1rem !important; } .pr-sm-4 { padding-right: 1rem !important; } .pb-sm-4 { padding-bottom: 1rem !important; } .pl-sm-4 { padding-left: 1rem !important; } .px-sm-4 { padding-right: 1rem !important; padding-left: 1rem !important; } .py-sm-4 { padding-top: 1rem !important; padding-bottom: 1rem !important; } .p-sm-5 { padding: 1.5rem !important; } .pt-sm-5 { padding-top: 1.5rem !important; } .pr-sm-5 { padding-right: 1.5rem !important; } .pb-sm-5 { padding-bottom: 1.5rem !important; } .pl-sm-5 { padding-left: 1.5rem !important; } .px-sm-5 { padding-right: 1.5rem !important; padding-left: 1.5rem !important; } .py-sm-5 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; } .p-sm-6 { padding: 2rem !important; } .pt-sm-6 { padding-top: 2rem !important; } .pr-sm-6 { padding-right: 2rem !important; } .pb-sm-6 { padding-bottom: 2rem !important; } .pl-sm-6 { padding-left: 2rem !important; } .px-sm-6 { padding-right: 2rem !important; padding-left: 2rem !important; } .py-sm-6 { padding-top: 2rem !important; padding-bottom: 2rem !important; } .p-sm-7 { padding: 2.5rem !important; } .pt-sm-7 { padding-top: 2.5rem !important; } .pr-sm-7 { padding-right: 2.5rem !important; } .pb-sm-7 { padding-bottom: 2.5rem !important; } .pl-sm-7 { padding-left: 2.5rem !important; } .px-sm-7 { padding-right: 2.5rem !important; padding-left: 2.5rem !important; } .py-sm-7 { padding-top: 2.5rem !important; padding-bottom: 2.5rem !important; } .p-sm-8 { padding: 3rem !important; } .pt-sm-8 { padding-top: 3rem !important; } .pr-sm-8 { padding-right: 3rem !important; } .pb-sm-8 { padding-bottom: 3rem !important; } .pl-sm-8 { padding-left: 3rem !important; } .px-sm-8 { padding-right: 3rem !important; padding-left: 3rem !important; } .py-sm-8 { padding-top: 3rem !important; padding-bottom: 3rem !important; } .p-sm-9 { padding: 3.5rem !important; } .pt-sm-9 { padding-top: 3.5rem !important; } .pr-sm-9 { padding-right: 3.5rem !important; } .pb-sm-9 { padding-bottom: 3.5rem !important; } .pl-sm-9 { padding-left: 3.5rem !important; } .px-sm-9 { padding-right: 3.5rem !important; padding-left: 3.5rem !important; } .py-sm-9 { padding-top: 3.5rem !important; padding-bottom: 3.5rem !important; } .p-sm-10 { padding: 4rem !important; } .pt-sm-10 { padding-top: 4rem !important; } .pr-sm-10 { padding-right: 4rem !important; } .pb-sm-10 { padding-bottom: 4rem !important; } .pl-sm-10 { padding-left: 4rem !important; } .px-sm-10 { padding-right: 4rem !important; padding-left: 4rem !important; } .py-sm-10 { padding-top: 4rem !important; padding-bottom: 4rem !important; } } - -@media (min-width: 50rem) { .p-md-0 { padding: 0 !important; } .pt-md-0 { padding-top: 0 !important; } .pr-md-0 { padding-right: 0 !important; } .pb-md-0 { padding-bottom: 0 !important; } .pl-md-0 { padding-left: 0 !important; } .px-md-0 { padding-right: 0 !important; padding-left: 0 !important; } .py-md-0 { padding-top: 0 !important; padding-bottom: 0 !important; } .p-md-1 { padding: 0.25rem !important; } .pt-md-1 { padding-top: 0.25rem !important; } .pr-md-1 { padding-right: 0.25rem !important; } .pb-md-1 { padding-bottom: 0.25rem !important; } .pl-md-1 { padding-left: 0.25rem !important; } .px-md-1 { padding-right: 0.25rem !important; padding-left: 0.25rem !important; } .py-md-1 { padding-top: 0.25rem !important; padding-bottom: 0.25rem !important; } .p-md-2 { padding: 0.5rem !important; } .pt-md-2 { padding-top: 0.5rem !important; } .pr-md-2 { padding-right: 0.5rem !important; } .pb-md-2 { padding-bottom: 0.5rem !important; } .pl-md-2 { padding-left: 0.5rem !important; } .px-md-2 { padding-right: 0.5rem !important; padding-left: 0.5rem !important; } .py-md-2 { padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; } .p-md-3 { padding: 0.75rem !important; } .pt-md-3 { padding-top: 0.75rem !important; } .pr-md-3 { padding-right: 0.75rem !important; } .pb-md-3 { padding-bottom: 0.75rem !important; } .pl-md-3 { padding-left: 0.75rem !important; } .px-md-3 { padding-right: 0.75rem !important; padding-left: 0.75rem !important; } .py-md-3 { padding-top: 0.75rem !important; padding-bottom: 0.75rem !important; } .p-md-4 { padding: 1rem !important; } .pt-md-4 { padding-top: 1rem !important; } .pr-md-4 { padding-right: 1rem !important; } .pb-md-4 { padding-bottom: 1rem !important; } .pl-md-4 { padding-left: 1rem !important; } .px-md-4 { padding-right: 1rem !important; padding-left: 1rem !important; } .py-md-4 { padding-top: 1rem !important; padding-bottom: 1rem !important; } .p-md-5 { padding: 1.5rem !important; } .pt-md-5 { padding-top: 1.5rem !important; } .pr-md-5 { padding-right: 1.5rem !important; } .pb-md-5 { padding-bottom: 1.5rem !important; } .pl-md-5 { padding-left: 1.5rem !important; } .px-md-5 { padding-right: 1.5rem !important; padding-left: 1.5rem !important; } .py-md-5 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; } .p-md-6 { padding: 2rem !important; } .pt-md-6 { padding-top: 2rem !important; } .pr-md-6 { padding-right: 2rem !important; } .pb-md-6 { padding-bottom: 2rem !important; } .pl-md-6 { padding-left: 2rem !important; } .px-md-6 { padding-right: 2rem !important; padding-left: 2rem !important; } .py-md-6 { padding-top: 2rem !important; padding-bottom: 2rem !important; } .p-md-7 { padding: 2.5rem !important; } .pt-md-7 { padding-top: 2.5rem !important; } .pr-md-7 { padding-right: 2.5rem !important; } .pb-md-7 { padding-bottom: 2.5rem !important; } .pl-md-7 { padding-left: 2.5rem !important; } .px-md-7 { padding-right: 2.5rem !important; padding-left: 2.5rem !important; } .py-md-7 { padding-top: 2.5rem !important; padding-bottom: 2.5rem !important; } .p-md-8 { padding: 3rem !important; } .pt-md-8 { padding-top: 3rem !important; } .pr-md-8 { padding-right: 3rem !important; } .pb-md-8 { padding-bottom: 3rem !important; } .pl-md-8 { padding-left: 3rem !important; } .px-md-8 { padding-right: 3rem !important; padding-left: 3rem !important; } .py-md-8 { padding-top: 3rem !important; padding-bottom: 3rem !important; } .p-md-9 { padding: 3.5rem !important; } .pt-md-9 { padding-top: 3.5rem !important; } .pr-md-9 { padding-right: 3.5rem !important; } .pb-md-9 { padding-bottom: 3.5rem !important; } .pl-md-9 { padding-left: 3.5rem !important; } .px-md-9 { padding-right: 3.5rem !important; padding-left: 3.5rem !important; } .py-md-9 { padding-top: 3.5rem !important; padding-bottom: 3.5rem !important; } .p-md-10 { padding: 4rem !important; } .pt-md-10 { padding-top: 4rem !important; } .pr-md-10 { padding-right: 4rem !important; } .pb-md-10 { padding-bottom: 4rem !important; } .pl-md-10 { padding-left: 4rem !important; } .px-md-10 { padding-right: 4rem !important; padding-left: 4rem !important; } .py-md-10 { padding-top: 4rem !important; padding-bottom: 4rem !important; } } - -@media (min-width: 66.5rem) { .p-lg-0 { padding: 0 !important; } .pt-lg-0 { padding-top: 0 !important; } .pr-lg-0 { padding-right: 0 !important; } .pb-lg-0 { padding-bottom: 0 !important; } .pl-lg-0 { padding-left: 0 !important; } .px-lg-0 { padding-right: 0 !important; padding-left: 0 !important; } .py-lg-0 { padding-top: 0 !important; padding-bottom: 0 !important; } .p-lg-1 { padding: 0.25rem !important; } .pt-lg-1 { padding-top: 0.25rem !important; } .pr-lg-1 { padding-right: 0.25rem !important; } .pb-lg-1 { padding-bottom: 0.25rem !important; } .pl-lg-1 { padding-left: 0.25rem !important; } .px-lg-1 { padding-right: 0.25rem !important; padding-left: 0.25rem !important; } .py-lg-1 { padding-top: 0.25rem !important; padding-bottom: 0.25rem !important; } .p-lg-2 { padding: 0.5rem !important; } .pt-lg-2 { padding-top: 0.5rem !important; } .pr-lg-2 { padding-right: 0.5rem !important; } .pb-lg-2 { padding-bottom: 0.5rem !important; } .pl-lg-2 { padding-left: 0.5rem !important; } .px-lg-2 { padding-right: 0.5rem !important; padding-left: 0.5rem !important; } .py-lg-2 { padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; } .p-lg-3 { padding: 0.75rem !important; } .pt-lg-3 { padding-top: 0.75rem !important; } .pr-lg-3 { padding-right: 0.75rem !important; } .pb-lg-3 { padding-bottom: 0.75rem !important; } .pl-lg-3 { padding-left: 0.75rem !important; } .px-lg-3 { padding-right: 0.75rem !important; padding-left: 0.75rem !important; } .py-lg-3 { padding-top: 0.75rem !important; padding-bottom: 0.75rem !important; } .p-lg-4 { padding: 1rem !important; } .pt-lg-4 { padding-top: 1rem !important; } .pr-lg-4 { padding-right: 1rem !important; } .pb-lg-4 { padding-bottom: 1rem !important; } .pl-lg-4 { padding-left: 1rem !important; } .px-lg-4 { padding-right: 1rem !important; padding-left: 1rem !important; } .py-lg-4 { padding-top: 1rem !important; padding-bottom: 1rem !important; } .p-lg-5 { padding: 1.5rem !important; } .pt-lg-5 { padding-top: 1.5rem !important; } .pr-lg-5 { padding-right: 1.5rem !important; } .pb-lg-5 { padding-bottom: 1.5rem !important; } .pl-lg-5 { padding-left: 1.5rem !important; } .px-lg-5 { padding-right: 1.5rem !important; padding-left: 1.5rem !important; } .py-lg-5 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; } .p-lg-6 { padding: 2rem !important; } .pt-lg-6 { padding-top: 2rem !important; } .pr-lg-6 { padding-right: 2rem !important; } .pb-lg-6 { padding-bottom: 2rem !important; } .pl-lg-6 { padding-left: 2rem !important; } .px-lg-6 { padding-right: 2rem !important; padding-left: 2rem !important; } .py-lg-6 { padding-top: 2rem !important; padding-bottom: 2rem !important; } .p-lg-7 { padding: 2.5rem !important; } .pt-lg-7 { padding-top: 2.5rem !important; } .pr-lg-7 { padding-right: 2.5rem !important; } .pb-lg-7 { padding-bottom: 2.5rem !important; } .pl-lg-7 { padding-left: 2.5rem !important; } .px-lg-7 { padding-right: 2.5rem !important; padding-left: 2.5rem !important; } .py-lg-7 { padding-top: 2.5rem !important; padding-bottom: 2.5rem !important; } .p-lg-8 { padding: 3rem !important; } .pt-lg-8 { padding-top: 3rem !important; } .pr-lg-8 { padding-right: 3rem !important; } .pb-lg-8 { padding-bottom: 3rem !important; } .pl-lg-8 { padding-left: 3rem !important; } .px-lg-8 { padding-right: 3rem !important; padding-left: 3rem !important; } .py-lg-8 { padding-top: 3rem !important; padding-bottom: 3rem !important; } .p-lg-9 { padding: 3.5rem !important; } .pt-lg-9 { padding-top: 3.5rem !important; } .pr-lg-9 { padding-right: 3.5rem !important; } .pb-lg-9 { padding-bottom: 3.5rem !important; } .pl-lg-9 { padding-left: 3.5rem !important; } .px-lg-9 { padding-right: 3.5rem !important; padding-left: 3.5rem !important; } .py-lg-9 { padding-top: 3.5rem !important; padding-bottom: 3.5rem !important; } .p-lg-10 { padding: 4rem !important; } .pt-lg-10 { padding-top: 4rem !important; } .pr-lg-10 { padding-right: 4rem !important; } .pb-lg-10 { padding-bottom: 4rem !important; } .pl-lg-10 { padding-left: 4rem !important; } .px-lg-10 { padding-right: 4rem !important; padding-left: 4rem !important; } .py-lg-10 { padding-top: 4rem !important; padding-bottom: 4rem !important; } } - -@media (min-width: 87.5rem) { .p-xl-0 { padding: 0 !important; } .pt-xl-0 { padding-top: 0 !important; } .pr-xl-0 { padding-right: 0 !important; } .pb-xl-0 { padding-bottom: 0 !important; } .pl-xl-0 { padding-left: 0 !important; } .px-xl-0 { padding-right: 0 !important; padding-left: 0 !important; } .py-xl-0 { padding-top: 0 !important; padding-bottom: 0 !important; } .p-xl-1 { padding: 0.25rem !important; } .pt-xl-1 { padding-top: 0.25rem !important; } .pr-xl-1 { padding-right: 0.25rem !important; } .pb-xl-1 { padding-bottom: 0.25rem !important; } .pl-xl-1 { padding-left: 0.25rem !important; } .px-xl-1 { padding-right: 0.25rem !important; padding-left: 0.25rem !important; } .py-xl-1 { padding-top: 0.25rem !important; padding-bottom: 0.25rem !important; } .p-xl-2 { padding: 0.5rem !important; } .pt-xl-2 { padding-top: 0.5rem !important; } .pr-xl-2 { padding-right: 0.5rem !important; } .pb-xl-2 { padding-bottom: 0.5rem !important; } .pl-xl-2 { padding-left: 0.5rem !important; } .px-xl-2 { padding-right: 0.5rem !important; padding-left: 0.5rem !important; } .py-xl-2 { padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; } .p-xl-3 { padding: 0.75rem !important; } .pt-xl-3 { padding-top: 0.75rem !important; } .pr-xl-3 { padding-right: 0.75rem !important; } .pb-xl-3 { padding-bottom: 0.75rem !important; } .pl-xl-3 { padding-left: 0.75rem !important; } .px-xl-3 { padding-right: 0.75rem !important; padding-left: 0.75rem !important; } .py-xl-3 { padding-top: 0.75rem !important; padding-bottom: 0.75rem !important; } .p-xl-4 { padding: 1rem !important; } .pt-xl-4 { padding-top: 1rem !important; } .pr-xl-4 { padding-right: 1rem !important; } .pb-xl-4 { padding-bottom: 1rem !important; } .pl-xl-4 { padding-left: 1rem !important; } .px-xl-4 { padding-right: 1rem !important; padding-left: 1rem !important; } .py-xl-4 { padding-top: 1rem !important; padding-bottom: 1rem !important; } .p-xl-5 { padding: 1.5rem !important; } .pt-xl-5 { padding-top: 1.5rem !important; } .pr-xl-5 { padding-right: 1.5rem !important; } .pb-xl-5 { padding-bottom: 1.5rem !important; } .pl-xl-5 { padding-left: 1.5rem !important; } .px-xl-5 { padding-right: 1.5rem !important; padding-left: 1.5rem !important; } .py-xl-5 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; } .p-xl-6 { padding: 2rem !important; } .pt-xl-6 { padding-top: 2rem !important; } .pr-xl-6 { padding-right: 2rem !important; } .pb-xl-6 { padding-bottom: 2rem !important; } .pl-xl-6 { padding-left: 2rem !important; } .px-xl-6 { padding-right: 2rem !important; padding-left: 2rem !important; } .py-xl-6 { padding-top: 2rem !important; padding-bottom: 2rem !important; } .p-xl-7 { padding: 2.5rem !important; } .pt-xl-7 { padding-top: 2.5rem !important; } .pr-xl-7 { padding-right: 2.5rem !important; } .pb-xl-7 { padding-bottom: 2.5rem !important; } .pl-xl-7 { padding-left: 2.5rem !important; } .px-xl-7 { padding-right: 2.5rem !important; padding-left: 2.5rem !important; } .py-xl-7 { padding-top: 2.5rem !important; padding-bottom: 2.5rem !important; } .p-xl-8 { padding: 3rem !important; } .pt-xl-8 { padding-top: 3rem !important; } .pr-xl-8 { padding-right: 3rem !important; } .pb-xl-8 { padding-bottom: 3rem !important; } .pl-xl-8 { padding-left: 3rem !important; } .px-xl-8 { padding-right: 3rem !important; padding-left: 3rem !important; } .py-xl-8 { padding-top: 3rem !important; padding-bottom: 3rem !important; } .p-xl-9 { padding: 3.5rem !important; } .pt-xl-9 { padding-top: 3.5rem !important; } .pr-xl-9 { padding-right: 3.5rem !important; } .pb-xl-9 { padding-bottom: 3.5rem !important; } .pl-xl-9 { padding-left: 3.5rem !important; } .px-xl-9 { padding-right: 3.5rem !important; padding-left: 3.5rem !important; } .py-xl-9 { padding-top: 3.5rem !important; padding-bottom: 3.5rem !important; } .p-xl-10 { padding: 4rem !important; } .pt-xl-10 { padding-top: 4rem !important; } .pr-xl-10 { padding-right: 4rem !important; } .pb-xl-10 { padding-bottom: 4rem !important; } .pl-xl-10 { padding-left: 4rem !important; } .px-xl-10 { padding-right: 4rem !important; padding-left: 4rem !important; } .py-xl-10 { padding-top: 4rem !important; padding-bottom: 4rem !important; } } - -@media print { .site-footer, .site-button, #edit-this-page, #back-to-top, .site-nav, .main-header { display: none !important; } .side-bar { width: 100%; height: auto; border-right: 0 !important; } .site-header { border-bottom: 1px solid #eeebee; } .site-title { font-size: 16px !important; font-weight: 700 !important; } .text-small { font-size: 8pt !important; } pre.highlight { border: 1px solid #eeebee; } .main { max-width: none; margin-left: 0; } } - -/* Just The Docs theme style overrides https://pmarsceill.github.io/just-the-docs/docs/customization/#override-and-completely-custom-styles */ -a { /* Unset "nowrap" to prevent horzontal scrolling on mobile */ white-space: unset !important; } - -/* Remove column min-width */ -th, td { min-width: unset; } - -a.external:after { content: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAVklEQVR4Xn3PgQkAMQhDUXfqTu7kTtkpd5RA8AInfArtQ2iRXFWT2QedAfttj2FsPIOE1eCOlEuoWWjgzYaB/IkeGOrxXhqB+uA9Bfcm0lAZuh+YIeAD+cAqSz4kCMUAAAAASUVORK5CYII=); vertical-align: baseline; position: relative; top: -0.4em; left: 0.1em; } - -/*# sourceMappingURL=just-the-docs-light.css.map */ \ No newline at end of file diff --git a/assets/css/just-the-docs-light.css.map b/assets/css/just-the-docs-light.css.map deleted file mode 100644 index 8aec80ce4..000000000 --- a/assets/css/just-the-docs-light.css.map +++ /dev/null @@ -1,68 +0,0 @@ -{ - "version": 3, - "file": "just-the-docs-light.css", - "sources": [ - "just-the-docs-light.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/support/support.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/support/_variables.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/support/_functions.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/support/mixins/mixins.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/support/mixins/_layout.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/support/mixins/_buttons.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/support/mixins/_typography.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/color_schemes/light.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/modules.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/vendor/normalize.scss/normalize.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/base.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/layout.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/content.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/navigation.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/typography.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/labels.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/buttons.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/search.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/tables.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/code.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/utilities/utilities.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/utilities/_colors.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/utilities/_layout.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/utilities/_typography.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/utilities/_lists.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/utilities/_spacing.scss", - "vendor/bundle/ruby/2.7.0/gems/just-the-docs-0.3.1/_sass/print.scss", - "src/_sass/custom/custom.scss" - ], - "sourcesContent": [ - "\n@import \"./support/support\";\n@import \"./color_schemes/light\";\n@import \"./modules\";\n@import \"./custom/custom\";\n\n\n", - "@import \"./variables\";\n@import \"./functions\";\n@import \"./mixins/mixins\";\n", - "//\n// Typography\n//\n\n$body-font-family: -apple-system, BlinkMacSystemFont, \"helvetica neue\",\n helvetica, roboto, noto, \"segoe ui\", arial, sans-serif !default;\n$mono-font-family: \"SFMono-Regular\", Menlo, Consolas, Monospace !default;\n$root-font-size: 16px !default; // Base font-size for rems\n$body-line-height: 1.4 !default;\n$content-line-height: 1.6 !default;\n$body-heading-line-height: 1.25 !default;\n\n//\n// Colors\n//\n\n$white: #fff !default;\n\n$grey-dk-000: #959396 !default;\n$grey-dk-100: #5c5962 !default;\n$grey-dk-200: #44434d !default;\n$grey-dk-250: #302d36 !default;\n$grey-dk-300: #27262b !default;\n\n$grey-lt-000: #f5f6fa !default;\n$grey-lt-100: #eeebee !default;\n$grey-lt-200: #ecebed !default;\n$grey-lt-300: #e6e1e8 !default;\n\n$purple-000: #7253ed !default;\n$purple-100: #5e41d0 !default;\n$purple-200: #4e26af !default;\n$purple-300: #381885 !default;\n\n$blue-000: #2c84fa !default;\n$blue-100: #2869e6 !default;\n$blue-200: #264caf !default;\n$blue-300: #183385 !default;\n\n$green-000: #41d693 !default;\n$green-100: #11b584 !default;\n$green-200: #009c7b !default;\n$green-300: #026e57 !default;\n\n$yellow-000: #ffeb82 !default;\n$yellow-100: #fadf50 !default;\n$yellow-200: #f7d12e !default;\n$yellow-300: #e7af06 !default;\n\n$red-000: #f77e7e !default;\n$red-100: #f96e65 !default;\n$red-200: #e94c4c !default;\n$red-300: #dd2e2e !default;\n\n$body-background-color: $white !default;\n$sidebar-color: $grey-lt-000 !default;\n$search-background-color: $white !default;\n$table-background-color: $white !default;\n$code-background-color: $grey-lt-000 !default;\n$feedback-color: darken($sidebar-color, 3%) !default;\n\n$body-text-color: $grey-dk-100 !default;\n$body-heading-color: $grey-dk-300 !default;\n$search-result-preview-color: $grey-dk-000 !default;\n$nav-child-link-color: $grey-dk-100 !default;\n$link-color: $purple-000 !default;\n$btn-primary-color: $purple-100 !default;\n$base-button-color: #f7f7f7 !default;\n\n//\n// Spacing\n//\n\n$spacing-unit: 1rem; // 1rem == 16px\n\n$spacers: (\n sp-0: 0,\n sp-1: $spacing-unit * 0.25,\n sp-2: $spacing-unit * 0.5,\n sp-3: $spacing-unit * 0.75,\n sp-4: $spacing-unit,\n sp-5: $spacing-unit * 1.5,\n sp-6: $spacing-unit * 2,\n sp-7: $spacing-unit * 2.5,\n sp-8: $spacing-unit * 3,\n sp-9: $spacing-unit * 3.5,\n sp-10: $spacing-unit * 4,\n) !default;\n\n$sp-1: map-get($spacers, sp-1) !default; // 0.25 rem == 4px\n$sp-2: map-get($spacers, sp-2) !default; // 0.5 rem == 8px\n$sp-3: map-get($spacers, sp-3) !default; // 0.75 rem == 12px\n$sp-4: map-get($spacers, sp-4) !default; // 1 rem == 16px\n$sp-5: map-get($spacers, sp-5) !default; // 1.5 rem == 24px\n$sp-6: map-get($spacers, sp-6) !default; // 2 rem == 32px\n$sp-7: map-get($spacers, sp-7) !default; // 2.5 rem == 40px\n$sp-8: map-get($spacers, sp-8) !default; // 3 rem == 48px\n$sp-9: map-get($spacers, sp-9) !default; // 3.5 rem == 56px\n$sp-10: map-get($spacers, sp-10) !default; // 4 rem == 64px\n\n//\n// Borders\n//\n\n$border: 1px solid !default;\n$border-radius: 4px !default;\n$border-color: $grey-lt-100 !default;\n\n//\n// Grid system\n//\n\n$gutter-spacing: $sp-6 !default;\n$gutter-spacing-sm: $sp-4 !default;\n$nav-width: 264px !default;\n$nav-width-md: 248px !default;\n$nav-list-item-height: $sp-6 !default;\n$nav-list-item-height-sm: $sp-8 !default;\n$nav-list-expander-right: true;\n$content-width: 800px !default;\n$header-height: 60px !default;\n$search-results-width: $content-width - $nav-width !default;\n$transition-duration: 400ms;\n\n//\n// Media queries in pixels\n//\n\n$media-queries: (\n xs: 320px,\n sm: 500px,\n md: $content-width,\n lg: $content-width + $nav-width,\n xl: 1400px,\n) !default;\n", - "@function rem($size, $unit: \"\") {\n $remSize: $size / $root-font-size;\n\n @if ($unit == false) {\n @return #{$remSize};\n } @else {\n @return #{$remSize}rem;\n }\n}\n", - "@import \"./layout\";\n@import \"./buttons\";\n@import \"./typography\";\n", - "// Media query\n\n// Media query mixin\n// Usage:\n// @include mq(md) {\n// ..medium and up styles\n// }\n@mixin mq($name) {\n // Retrieves the value from the key\n $value: map-get($media-queries, $name);\n\n // If the key exists in the map\n @if $value != null {\n // Prints a media query based on the value\n @media (min-width: rem($value)) {\n @content;\n }\n } @else {\n @warn \"No value could be retrieved from `#{$media-query}`. \"\n + \"Please make sure it is defined in `$media-queries` map.\";\n }\n}\n\n// Responsive container\n\n@mixin container {\n padding-right: $gutter-spacing-sm;\n padding-left: $gutter-spacing-sm;\n\n @include mq(md) {\n padding-right: $gutter-spacing;\n padding-left: $gutter-spacing;\n }\n}\n", - "// Colored button\n\n@mixin btn-color($fg, $bg) {\n color: $fg;\n background-color: darken($bg, 2%);\n background-image: linear-gradient(lighten($bg, 5%), darken($bg, 2%));\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12);\n\n &:hover,\n &.zeroclipboard-is-hover {\n color: $fg;\n background-color: darken($bg, 4%);\n background-image: linear-gradient((lighten($bg, 2%), darken($bg, 4%)));\n }\n\n &:active,\n &.selected,\n &.zeroclipboard-is-active {\n background-color: darken($bg, 5%);\n background-image: none;\n box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);\n }\n\n &.selected:hover {\n background-color: darken($bg, 10%);\n }\n}\n", - "// Font size\n\n@mixin fs-1 {\n font-size: 9px !important;\n\n @include mq(sm) {\n font-size: 10px !important;\n }\n}\n\n@mixin fs-2 {\n font-size: 11px !important;\n\n @include mq(sm) {\n font-size: 12px !important;\n }\n}\n\n@mixin fs-3 {\n font-size: 12px !important;\n\n @include mq(sm) {\n font-size: 14px !important;\n }\n}\n\n@mixin fs-4 {\n font-size: 15px !important;\n\n @include mq(sm) {\n font-size: 16px !important;\n }\n}\n\n@mixin fs-5 {\n font-size: 16px !important;\n\n @include mq(sm) {\n font-size: 18px !important;\n }\n}\n\n@mixin fs-6 {\n font-size: 18px !important;\n\n @include mq(sm) {\n font-size: 24px !important;\n line-height: $body-heading-line-height;\n }\n}\n\n@mixin fs-7 {\n font-size: 24px !important;\n line-height: $body-heading-line-height;\n\n @include mq(sm) {\n font-size: 32px !important;\n }\n}\n\n@mixin fs-8 {\n font-size: 32px !important;\n line-height: $body-heading-line-height;\n\n @include mq(sm) {\n font-size: 36px !important;\n }\n}\n\n@mixin fs-9 {\n font-size: 36px !important;\n line-height: $body-heading-line-height;\n\n @include mq(sm) {\n font-size: 42px !important;\n }\n}\n\n@mixin fs-10 {\n font-size: 42px !important;\n line-height: $body-heading-line-height;\n\n @include mq(sm) {\n font-size: 48px !important;\n }\n}\n", - "", - "//\n// Import external dependencies\n//\n@import \"./vendor/normalize.scss/normalize.scss\";\n\n//\n// Modules\n//\n@import \"./base\";\n@import \"./layout\";\n@import \"./content\";\n@import \"./navigation\";\n@import \"./typography\";\n@import \"./labels\";\n@import \"./buttons\";\n@import \"./search\";\n@import \"./tables\";\n@import \"./code\";\n@import \"./utilities/utilities\";\n@import \"./print\";\n", - "/*! normalize.scss v0.1.0 | MIT License | based on git.io/normalize */\n\n/**\n * 1. Set default font family to sans-serif.\n * 2. Prevent iOS text size adjust after orientation change, without disabling\n * user zoom.\n */\n\nhtml {\n font-family: sans-serif; /* 1 */\n -ms-text-size-adjust: 100%; /* 2 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/**\n * Remove default margin.\n */\n\nbody {\n margin: 0;\n}\n\n/* HTML5 display definitions\n ========================================================================== */\n\n/**\n * Correct `block` display not defined for any HTML5 element in IE 8/9.\n * Correct `block` display not defined for `details` or `summary` in IE 10/11\n * and Firefox.\n * Correct `block` display not defined for `main` in IE 11.\n */\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\n\n/**\n * 1. Correct `inline-block` display not defined in IE 8/9.\n * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n */\n\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block; /* 1 */\n vertical-align: baseline; /* 2 */\n}\n\n/**\n * Prevent modern browsers from displaying `audio` without controls.\n * Remove excess height in iOS 5 devices.\n */\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\n/**\n * Address `[hidden]` styling not present in IE 8/9/10.\n * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.\n */\n\n[hidden],\ntemplate {\n display: none;\n}\n\n/* Links\n ========================================================================== */\n\n/**\n * Remove the gray background color from active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * Improve readability when focused and also mouse hovered in all browsers.\n */\n\na:active,\na:hover {\n outline: 0;\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Address styling not present in IE 8/9/10/11, Safari, and Chrome.\n */\n\nabbr[title] {\n border-bottom: 1px dotted;\n}\n\n/**\n * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n */\n\nb,\nstrong {\n font-weight: bold;\n}\n\n/**\n * Address styling not present in Safari and Chrome.\n */\n\ndfn {\n font-style: italic;\n}\n\n/**\n * Address variable `h1` font-size and margin within `section` and `article`\n * contexts in Firefox 4+, Safari, and Chrome.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/**\n * Address styling not present in IE 8/9.\n */\n\nmark {\n background: #ff0;\n color: #000;\n}\n\n/**\n * Address inconsistent and variable font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` affecting `line-height` in all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsup {\n top: -0.5em;\n}\n\nsub {\n bottom: -0.25em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove border when inside `a` element in IE 8/9/10.\n */\n\nimg {\n border: 0;\n}\n\n/**\n * Correct overflow not hidden in IE 9/10/11.\n */\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * Address margin not present in IE 8/9 and Safari.\n */\n\nfigure {\n margin: 1em 40px;\n}\n\n/**\n * Address differences between Firefox and other browsers.\n */\n\nhr {\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n height: 0;\n}\n\n/**\n * Contain overflow in all browsers.\n */\n\npre {\n overflow: auto;\n}\n\n/**\n * Address odd `em`-unit font size rendering in all browsers.\n */\n\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * Known limitation: by default, Chrome and Safari on OS X allow very limited\n * styling of `select`, unless a `border` property is set.\n */\n\n/**\n * 1. Correct color not being inherited.\n * Known issue: affects color of disabled elements.\n * 2. Correct font properties not being inherited.\n * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit; /* 1 */\n font: inherit; /* 2 */\n margin: 0; /* 3 */\n}\n\n/**\n * Address `overflow` set to `hidden` in IE 8/9/10/11.\n */\n\nbutton {\n overflow: visible;\n}\n\n/**\n * Address inconsistent `text-transform` inheritance for `button` and `select`.\n * All other form control elements do not inherit `text-transform` values.\n * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n * Correct `select` style inheritance in Firefox.\n */\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/**\n * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n * and `video` controls.\n * 2. Correct inability to style clickable `input` types in iOS.\n * 3. Improve usability and consistency of cursor style between image-type\n * `input` and others.\n */\n\nbutton,\nhtml input[type=\"button\"], /* 1 */\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button; /* 2 */\n cursor: pointer; /* 3 */\n}\n\n/**\n * Re-set default cursor for disabled elements.\n */\n\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n\n/**\n * Remove inner padding and border in Firefox 4+.\n */\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n/**\n * Address Firefox 4+ setting `line-height` on `input` using `!important` in\n * the UA stylesheet.\n */\n\ninput {\n line-height: normal;\n}\n\n/**\n * It's recommended that you don't attempt to style these elements.\n * Firefox's implementation doesn't respect box-sizing, padding, or width.\n *\n * 1. Address box sizing set to `content-box` in IE 8/9/10.\n * 2. Remove excess padding in IE 8/9/10.\n */\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Fix the cursor style for Chrome's increment/decrement buttons. For certain\n * `font-size` values of the `input`, it causes the cursor style of the\n * decrement button to change from `default` to `text`.\n */\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n * 2. Address `box-sizing` set to `border-box` in Safari and Chrome\n * (include `-moz` to future-proof).\n */\n\ninput[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n -moz-box-sizing: content-box;\n -webkit-box-sizing: content-box; /* 2 */\n box-sizing: content-box;\n}\n\n/**\n * Remove inner padding and search cancel button in Safari and Chrome on OS X.\n * Safari (but not Chrome) clips the cancel button when the search input has\n * padding (and `textfield` appearance).\n */\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * Define consistent border, margin, and padding.\n */\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\n/**\n * 1. Correct `color` not being inherited in IE 8/9/10/11.\n * 2. Remove padding so people aren't caught out if they zero out fieldsets.\n */\n\nlegend {\n border: 0; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Remove default vertical scrollbar in IE 8/9/10/11.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * Don't inherit the `font-weight` (applied by a rule above).\n * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n */\n\noptgroup {\n font-weight: bold;\n}\n\n/* Tables\n ========================================================================== */\n\n/**\n * Remove most spacing between table cells.\n */\n\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\ntd,\nth {\n padding: 0;\n}\n", - "//\n// Base element style overrides\n//\n// stylelint-disable selector-no-type, selector-max-type\n\n* {\n box-sizing: border-box;\n}\n\n::selection {\n color: $white;\n background: $link-color;\n}\n\nhtml {\n @include fs-4;\n scroll-behavior: smooth;\n}\n\nbody {\n font-family: $body-font-family;\n font-size: inherit;\n line-height: $body-line-height;\n color: $body-text-color;\n background-color: $body-background-color;\n}\n\nol,\nul,\ndl,\npre,\naddress,\nblockquote,\ntable,\ndiv,\nhr,\nform,\nfieldset,\nnoscript .table-wrapper {\n margin-top: 0;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n margin-top: 0;\n margin-bottom: 1em;\n font-weight: 500;\n line-height: $body-heading-line-height;\n color: $body-heading-color;\n}\n\np {\n margin-top: 1em;\n margin-bottom: 1em;\n}\n\na {\n color: $link-color;\n text-decoration: none;\n}\n\na:not([class]) {\n text-decoration: none;\n background-image: linear-gradient($border-color 0%, $border-color 100%);\n background-repeat: repeat-x;\n background-position: 0 100%;\n background-size: 1px 1px;\n\n &:hover {\n background-image: linear-gradient(\n rgba($link-color, 0.45) 0%,\n rgba($link-color, 0.45) 100%\n );\n background-size: 1px 1px;\n }\n}\n\ncode {\n font-family: $mono-font-family;\n font-size: 0.75em;\n line-height: $body-line-height;\n}\n\nfigure,\npre {\n margin: 0;\n}\n\nli {\n margin: 0.25em 0;\n}\n\nimg {\n max-width: 100%;\n height: auto;\n}\n\nhr {\n height: 1px;\n padding: 0;\n margin: $sp-6 0;\n background-color: $border-color;\n border: 0;\n}\n", - "//\n// The basic two column layout\n//\n\n.side-bar {\n z-index: 0;\n display: flex;\n flex-wrap: wrap;\n background-color: $sidebar-color;\n\n @include mq(md) {\n flex-wrap: nowrap;\n position: fixed;\n width: $nav-width-md;\n height: 100%;\n flex-direction: column;\n border-right: $border $border-color;\n align-items: flex-end;\n }\n\n @include mq(lg) {\n width: calc((100% - #{$nav-width + $content-width}) / 2 + #{$nav-width});\n min-width: $nav-width;\n }\n}\n\n.main {\n @include mq(md) {\n position: relative;\n max-width: $content-width;\n margin-left: $nav-width-md;\n }\n\n @include mq(lg) {\n margin-left: calc(\n (100% - #{$nav-width + $content-width}) / 2 + #{$nav-width}\n );\n }\n}\n\n.main-content-wrap {\n @include container;\n padding-top: $gutter-spacing-sm;\n padding-bottom: $gutter-spacing-sm;\n\n @include mq(md) {\n padding-top: $gutter-spacing;\n padding-bottom: $gutter-spacing;\n }\n}\n\n.main-header {\n z-index: 0;\n display: none;\n background-color: $sidebar-color;\n\n @include mq(md) {\n display: flex;\n justify-content: space-between;\n height: $header-height;\n background-color: $body-background-color;\n border-bottom: $border $border-color;\n }\n\n &.nav-open {\n display: block;\n\n @include mq(md) {\n display: flex;\n }\n }\n}\n\n.site-nav,\n.site-header,\n.site-footer {\n width: 100%;\n\n @include mq(lg) {\n width: $nav-width;\n }\n}\n\n.site-nav {\n display: none;\n\n &.nav-open {\n display: block;\n }\n\n @include mq(md) {\n display: block;\n padding-top: $sp-8;\n padding-bottom: $gutter-spacing-sm;\n overflow-y: auto;\n flex: 1 1 auto;\n }\n}\n\n.site-header {\n display: flex;\n min-height: $header-height;\n align-items: center;\n\n @include mq(md) {\n height: $header-height;\n max-height: $header-height;\n border-bottom: $border $border-color;\n }\n}\n\n.site-title {\n @include container;\n flex-grow: 1;\n display: flex;\n height: 100%;\n align-items: center;\n padding-top: $sp-3;\n padding-bottom: $sp-3;\n color: $body-heading-color;\n @include fs-6;\n\n @include mq(md) {\n padding-top: $sp-2;\n padding-bottom: $sp-2;\n }\n}\n\n@if variable-exists(logo) {\n .site-logo {\n width: 100%;\n height: 100%;\n background-image: url($logo);\n background-repeat: no-repeat;\n background-position: left center;\n background-size: contain;\n }\n}\n\n.site-button {\n display: flex;\n height: 100%;\n padding: $gutter-spacing-sm;\n align-items: center;\n}\n\n@include mq(md) {\n .site-header .site-button {\n display: none;\n }\n}\n\n.site-title:hover {\n background-image: linear-gradient(\n -90deg,\n rgba($feedback-color, 1) 0%,\n rgba($feedback-color, 0.8) 80%,\n rgba($feedback-color, 0) 100%\n );\n}\n\n.site-button:hover {\n background-image: linear-gradient(\n -90deg,\n rgba($feedback-color, 1) 0%,\n rgba($feedback-color, 0.8) 100%\n );\n}\n\n// stylelint-disable selector-max-type\n\nbody {\n position: relative;\n padding-bottom: $sp-10;\n overflow-y: scroll;\n\n @include mq(md) {\n position: static;\n padding-bottom: 0;\n }\n}\n\n// stylelint-enable selector-max-type\n\n.site-footer {\n @include container;\n position: absolute;\n bottom: 0;\n left: 0;\n padding-top: $sp-4;\n padding-bottom: $sp-4;\n color: $grey-dk-000;\n @include fs-2;\n\n @include mq(md) {\n position: static;\n justify-self: end;\n }\n}\n\n.icon {\n width: $sp-5;\n height: $sp-5;\n color: $link-color;\n}\n", - "@charset \"UTF-8\";\n\n//\n// Styles for rendered markdown in the .main-content container\n//\n// stylelint-disable selector-no-type, max-nesting-depth, selector-max-compound-selectors, selector-max-type\n\n.main-content {\n line-height: $content-line-height;\n\n ol,\n ul,\n dl,\n pre,\n address,\n blockquote,\n .table-wrapper {\n margin-top: 0.5em;\n }\n\n a {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n ul,\n ol {\n padding-left: 1.5em;\n }\n\n li {\n .highlight {\n margin-top: $sp-1;\n }\n }\n\n ol {\n list-style-type: none;\n counter-reset: step-counter;\n\n > li {\n position: relative;\n\n &::before {\n position: absolute;\n top: 0.2em;\n left: -1.6em;\n color: $grey-dk-000;\n content: counter(step-counter);\n counter-increment: step-counter;\n @include fs-3;\n\n @include mq(sm) {\n top: 0.11em;\n }\n }\n\n ol {\n counter-reset: sub-counter;\n\n li {\n &::before {\n content: counter(sub-counter, lower-alpha);\n counter-increment: sub-counter;\n }\n }\n }\n }\n }\n\n ul {\n list-style: none;\n\n > li {\n &::before {\n position: absolute;\n margin-left: -1.4em;\n color: $grey-dk-000;\n content: \"•\";\n }\n }\n }\n\n .task-list {\n padding-left: 0;\n }\n\n .task-list-item {\n display: flex;\n align-items: center;\n\n &::before {\n content: \"\";\n }\n }\n\n .task-list-item-checkbox {\n margin-right: 0.6em;\n }\n\n hr + * {\n margin-top: 0;\n }\n\n h1:first-of-type {\n margin-top: 0.5em;\n }\n\n dl {\n display: grid;\n grid-template-columns: max-content 1fr;\n }\n\n dt,\n dd {\n margin: 0.25em 0;\n }\n\n dt {\n text-align: right;\n\n &::after {\n content: \":\";\n }\n }\n\n dd {\n margin-left: 1em;\n font-weight: 500;\n }\n\n .anchor-heading {\n position: absolute;\n right: -$sp-4;\n width: $sp-5;\n height: 100%;\n padding-right: $sp-1;\n padding-left: $sp-1;\n overflow: visible;\n\n @include mq(md) {\n right: auto;\n left: -$sp-5;\n }\n\n svg {\n display: inline-block;\n width: 100%;\n height: 100%;\n color: $link-color;\n visibility: hidden;\n }\n }\n\n .anchor-heading:hover,\n h1:hover > .anchor-heading,\n h2:hover > .anchor-heading,\n h3:hover > .anchor-heading,\n h4:hover > .anchor-heading,\n h5:hover > .anchor-heading,\n h6:hover > .anchor-heading {\n svg {\n visibility: visible;\n }\n }\n\n summary {\n cursor: pointer;\n }\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n position: relative;\n margin-top: 1.5em;\n margin-bottom: 0.25em;\n\n &:first-child {\n margin-top: $sp-2;\n }\n\n + table,\n + .table-wrapper,\n + .code-example,\n + .highlighter-rouge {\n margin-top: 1em;\n }\n\n + p {\n margin-top: 0;\n }\n }\n}\n", - "//\n// Main nav, breadcrumb, etc...\n//\n// stylelint-disable selector-no-type, max-nesting-depth, selector-max-compound-selectors, selector-max-type, selector-max-specificity\n\n.nav-list {\n padding: 0;\n margin-top: 0;\n margin-bottom: 0;\n list-style: none;\n\n .nav-list-item {\n @include fs-4;\n position: relative;\n margin: 0;\n\n @include mq(md) {\n @include fs-3;\n }\n\n .nav-list-link {\n display: block;\n min-height: $nav-list-item-height-sm;\n padding-top: $sp-1;\n padding-bottom: $sp-1;\n line-height: #{$nav-list-item-height-sm - 2 * $sp-1};\n @if $nav-list-expander-right {\n padding-right: $nav-list-item-height-sm;\n padding-left: $gutter-spacing-sm;\n } @else {\n padding-right: $gutter-spacing-sm;\n padding-left: $nav-list-item-height-sm;\n }\n\n @include mq(md) {\n min-height: $nav-list-item-height;\n line-height: #{$nav-list-item-height - 2 * $sp-1};\n @if $nav-list-expander-right {\n padding-right: $nav-list-item-height;\n padding-left: $gutter-spacing;\n } @else {\n padding-right: $gutter-spacing;\n padding-left: $nav-list-item-height;\n }\n }\n\n &.active {\n font-weight: 600;\n text-decoration: none;\n }\n\n &:hover,\n &.active {\n background-image: linear-gradient(\n -90deg,\n rgba($feedback-color, 1) 0%,\n rgba($feedback-color, 0.8) 80%,\n rgba($feedback-color, 0) 100%\n );\n }\n }\n\n .nav-list-expander {\n position: absolute;\n @if $nav-list-expander-right {\n right: 0;\n }\n width: $nav-list-item-height-sm;\n height: $nav-list-item-height-sm;\n padding-top: #{$nav-list-item-height-sm / 4};\n padding-right: #{$nav-list-item-height-sm / 4};\n padding-bottom: #{$nav-list-item-height-sm / 4};\n padding-left: #{$nav-list-item-height-sm / 4};\n color: $link-color;\n\n @include mq(md) {\n width: $nav-list-item-height;\n height: $nav-list-item-height;\n padding-top: #{$nav-list-item-height / 4};\n padding-right: #{$nav-list-item-height / 4};\n padding-bottom: #{$nav-list-item-height / 4};\n padding-left: #{$nav-list-item-height / 4};\n }\n\n &:hover {\n background-image: linear-gradient(\n -90deg,\n rgba($feedback-color, 1) 0%,\n rgba($feedback-color, 0.8) 100%\n );\n }\n\n @if $nav-list-expander-right {\n svg {\n transform: rotate(90deg);\n }\n }\n }\n\n > .nav-list {\n display: none;\n padding-left: $sp-3;\n list-style: none;\n\n .nav-list-item {\n position: relative;\n\n .nav-list-link {\n color: $nav-child-link-color;\n }\n\n .nav-list-expander {\n color: $nav-child-link-color;\n }\n }\n }\n\n &.active {\n > .nav-list-expander svg {\n @if $nav-list-expander-right {\n transform: rotate(-90deg);\n } @else {\n transform: rotate(90deg);\n }\n }\n\n > .nav-list {\n display: block;\n }\n }\n }\n}\n\n// Aux nav\n\n.aux-nav {\n height: 100%;\n overflow-x: auto;\n @include fs-2;\n\n .aux-nav-list {\n display: flex;\n height: 100%;\n padding: 0;\n margin: 0;\n list-style: none;\n }\n\n .aux-nav-list-item {\n display: inline-block;\n height: 100%;\n padding: 0;\n margin: 0;\n }\n\n @include mq(md) {\n padding-right: $gutter-spacing-sm;\n }\n}\n\n// Breadcrumb nav\n\n.breadcrumb-nav {\n @include mq(md) {\n margin-top: -$sp-4;\n }\n}\n\n.breadcrumb-nav-list {\n padding-left: 0;\n margin-bottom: $sp-3;\n list-style: none;\n}\n\n.breadcrumb-nav-list-item {\n display: table-cell;\n @include fs-2;\n\n &::before {\n display: none;\n }\n\n &::after {\n display: inline-block;\n margin-right: $sp-2;\n margin-left: $sp-2;\n color: $grey-dk-000;\n content: \"/\";\n }\n\n &:last-child {\n &::after {\n content: \"\";\n }\n }\n}\n", - "//\n// Typography\n//\n// stylelint-disable primer/selector-no-utility, primer/no-override, selector-no-type, selector-max-type\n\nh1,\n.text-alpha {\n @include fs-8;\n font-weight: 300;\n}\n\nh2,\n.text-beta {\n @include fs-6;\n}\n\nh3,\n.text-gamma {\n @include fs-5;\n}\n\nh4,\n.text-delta {\n @include fs-2;\n font-weight: 400;\n text-transform: uppercase;\n letter-spacing: 0.1em;\n}\n\nh5,\n.text-epsilon {\n @include fs-3;\n color: $grey-dk-200;\n}\n\nh6,\n.text-zeta {\n @include fs-2;\n color: $grey-dk-200;\n}\n\n.text-small {\n @include fs-2;\n}\n\n.text-mono {\n font-family: $mono-font-family !important;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n", - "//\n// Labels (not the form kind)\n//\n\n.label,\n.label-blue {\n display: inline-block;\n padding-top: 0.16em;\n padding-right: 0.56em;\n padding-bottom: 0.16em;\n padding-left: 0.56em;\n margin-right: $sp-2;\n margin-left: $sp-2;\n color: $white;\n text-transform: uppercase;\n vertical-align: middle;\n background-color: $blue-100;\n @include fs-2;\n border-radius: 12px;\n}\n\n.label-green {\n background-color: $green-200;\n}\n\n.label-purple {\n background-color: $purple-100;\n}\n\n.label-red {\n background-color: $red-200;\n}\n\n.label-yellow {\n color: $grey-dk-200;\n background-color: $yellow-200;\n}\n", - "//\n// Buttons and things that look like buttons\n//\n// stylelint-disable color-named\n\n.btn {\n display: inline-block;\n box-sizing: border-box;\n padding-top: 0.3em;\n padding-right: 1em;\n padding-bottom: 0.3em;\n padding-left: 1em;\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n font-weight: 500;\n line-height: 1.5;\n color: $link-color;\n text-decoration: none;\n vertical-align: baseline;\n cursor: pointer;\n background-color: $base-button-color;\n border-width: 0;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n appearance: none;\n\n &:focus {\n text-decoration: none;\n outline: none;\n box-shadow: 0 0 0 3px rgba(blue, 0.25);\n }\n\n &:focus:hover,\n &.selected:focus {\n box-shadow: 0 0 0 3px rgba(blue, 0.25);\n }\n\n &:hover,\n &.zeroclipboard-is-hover {\n color: darken($link-color, 2%);\n }\n\n &:hover,\n &:active,\n &.zeroclipboard-is-hover,\n &.zeroclipboard-is-active {\n text-decoration: none;\n background-color: darken($base-button-color, 1%);\n }\n\n &:active,\n &.selected,\n &.zeroclipboard-is-active {\n background-color: darken($base-button-color, 3%);\n background-image: none;\n box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);\n }\n\n &.selected:hover {\n background-color: darken(#dcdcdc, 5%);\n }\n\n &:disabled,\n &.disabled {\n &,\n &:hover {\n color: rgba(102, 102, 102, 0.5);\n cursor: default;\n background-color: rgba(229, 229, 229, 0.5);\n background-image: none;\n box-shadow: none;\n }\n }\n}\n\n.btn-outline {\n color: $link-color;\n background: transparent;\n box-shadow: inset 0 0 0 2px $grey-lt-300;\n\n &:hover,\n &:active,\n &.zeroclipboard-is-hover,\n &.zeroclipboard-is-active {\n color: darken($link-color, 4%);\n text-decoration: none;\n background-color: transparent;\n box-shadow: inset 0 0 0 3px $grey-lt-300;\n }\n\n &:focus {\n text-decoration: none;\n outline: none;\n box-shadow: inset 0 0 0 2px $grey-dk-100, 0 0 0 3px rgba(blue, 0.25);\n }\n\n &:focus:hover,\n &.selected:focus {\n box-shadow: inset 0 0 0 2px $grey-dk-100;\n }\n}\n\n.btn-primary {\n @include btn-color($white, $btn-primary-color);\n}\n\n.btn-purple {\n @include btn-color($white, $purple-100);\n}\n\n.btn-blue {\n @include btn-color($white, $blue-000);\n}\n\n.btn-green {\n @include btn-color($white, $green-100);\n}\n", - "//\n// Search input and autocomplete\n//\n\n.search {\n position: relative;\n z-index: 2;\n flex-grow: 1;\n height: $sp-10;\n padding: $sp-2;\n transition: padding linear #{$transition-duration / 2};\n\n @include mq(md) {\n position: relative !important;\n width: auto !important;\n height: 100% !important;\n padding: 0;\n transition: none;\n }\n}\n\n.search-input-wrap {\n position: relative;\n z-index: 1;\n height: $sp-8;\n overflow: hidden;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n transition: height linear #{$transition-duration / 2};\n\n @include mq(md) {\n position: absolute;\n width: 100%;\n max-width: $search-results-width;\n height: 100% !important;\n border-radius: 0;\n box-shadow: none;\n transition: width ease $transition-duration;\n }\n}\n\n.search-input {\n position: absolute;\n width: 100%;\n height: 100%;\n padding-top: $sp-2;\n padding-right: $gutter-spacing-sm;\n padding-bottom: $sp-2;\n padding-left: #{$gutter-spacing-sm + $sp-5};\n font-size: 16px;\n background-color: $search-background-color;\n border-top: 0;\n border-right: 0;\n border-bottom: 0;\n border-left: 0;\n border-radius: 0;\n\n @include mq(md) {\n padding-top: $gutter-spacing-sm;\n padding-bottom: $gutter-spacing-sm;\n padding-left: #{$gutter-spacing + $sp-5};\n font-size: 14px;\n background-color: $body-background-color;\n transition: padding-left linear #{$transition-duration / 2};\n }\n\n &:focus {\n outline: 0;\n\n + .search-label .search-icon {\n color: $link-color;\n }\n }\n}\n\n.search-label {\n position: absolute;\n display: flex;\n height: 100%;\n padding-left: $gutter-spacing-sm;\n\n @include mq(md) {\n padding-left: $gutter-spacing;\n transition: padding-left linear #{$transition-duration / 2};\n }\n\n .search-icon {\n width: #{$sp-4 * 1.2};\n height: #{$sp-4 * 1.2};\n align-self: center;\n color: $grey-dk-000;\n }\n}\n\n.search-results {\n position: absolute;\n left: 0;\n display: none;\n width: 100%;\n max-height: calc(100% - #{$sp-10});\n overflow-y: auto;\n background-color: $search-background-color;\n border-bottom-right-radius: $border-radius;\n border-bottom-left-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n\n @include mq(md) {\n top: 100%;\n width: $search-results-width;\n max-height: calc(100vh - 200%) !important;\n }\n}\n\n.search-results-list {\n padding-left: 0;\n margin-bottom: $sp-1;\n list-style: none;\n @include fs-4;\n\n @include mq(md) {\n @include fs-3;\n }\n}\n\n.search-results-list-item {\n padding: 0;\n margin: 0;\n}\n\n.search-result {\n display: block;\n padding-top: $sp-1;\n padding-right: $sp-3;\n padding-bottom: $sp-1;\n padding-left: $sp-3;\n\n &:hover,\n &.active {\n background-color: $feedback-color;\n }\n}\n\n.search-result-title {\n display: block;\n padding-top: $sp-2;\n padding-bottom: $sp-2;\n\n @include mq(sm) {\n display: inline-block;\n width: 40%;\n padding-right: $sp-2;\n vertical-align: top;\n }\n}\n\n.search-result-doc {\n display: flex;\n align-items: center;\n word-wrap: break-word;\n\n &.search-result-doc-parent {\n opacity: 0.5;\n @include fs-3;\n\n @include mq(md) {\n @include fs-2;\n }\n }\n\n .search-result-icon {\n width: $sp-4;\n height: $sp-4;\n margin-right: $sp-2;\n color: $link-color;\n flex-shrink: 0;\n }\n\n .search-result-doc-title {\n overflow: auto;\n }\n}\n\n.search-result-section {\n margin-left: #{$sp-4 + $sp-2};\n word-wrap: break-word;\n}\n\n.search-result-rel-url {\n display: block;\n margin-left: #{$sp-4 + $sp-2};\n overflow: hidden;\n color: $search-result-preview-color;\n text-overflow: ellipsis;\n white-space: nowrap;\n @include fs-1;\n}\n\n.search-result-previews {\n display: block;\n padding-top: $sp-2;\n padding-bottom: $sp-2;\n padding-left: $sp-4;\n margin-left: $sp-2;\n color: $search-result-preview-color;\n word-wrap: break-word;\n border-left: $border;\n border-left-color: $border-color;\n @include fs-2;\n\n @include mq(sm) {\n display: inline-block;\n width: 60%;\n padding-left: $sp-2;\n margin-left: 0;\n vertical-align: top;\n }\n}\n\n.search-result-preview + .search-result-preview {\n margin-top: $sp-1;\n}\n\n.search-result-highlight {\n font-weight: bold;\n}\n\n.search-no-result {\n padding-top: $sp-2;\n padding-right: $sp-3;\n padding-bottom: $sp-2;\n padding-left: $sp-3;\n @include fs-3;\n}\n\n.search-button {\n position: fixed;\n right: $sp-4;\n bottom: $sp-4;\n display: flex;\n width: $sp-9;\n height: $sp-9;\n background-color: $search-background-color;\n border: 1px solid rgba($link-color, 0.3);\n border-radius: #{$sp-9 / 2};\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n align-items: center;\n justify-content: center;\n}\n\n.search-overlay {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1;\n width: 0;\n height: 0;\n background-color: rgba(0, 0, 0, 0.3);\n opacity: 0;\n transition: opacity ease $transition-duration, width 0s $transition-duration,\n height 0s $transition-duration;\n}\n\n.search-active {\n .search {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n padding: 0;\n }\n\n .search-input-wrap {\n height: $sp-10;\n border-radius: 0;\n\n @include mq(md) {\n width: $search-results-width;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n }\n }\n\n .search-input {\n background-color: $search-background-color;\n\n @include mq(md) {\n padding-left: #{$sp-4 * 1.25 + $sp-5};\n }\n }\n\n .search-label {\n @include mq(md) {\n padding-left: #{$sp-4 * 1.25};\n }\n }\n\n .search-results {\n display: block;\n }\n\n .search-overlay {\n width: 100%;\n height: 100%;\n opacity: 1;\n transition: opacity ease $transition-duration, width 0s, height 0s;\n }\n\n @include mq(md) {\n .main {\n position: fixed;\n right: 0;\n left: 0;\n }\n }\n\n .main-header {\n padding-top: $sp-10;\n\n @include mq(md) {\n padding-top: 0;\n }\n }\n}\n", - "//\n// Tables\n//\n// stylelint-disable max-nesting-depth, selector-no-type, selector-max-type\n\n.table-wrapper {\n display: block;\n width: 100%;\n max-width: 100%;\n margin-bottom: $sp-5;\n overflow-x: auto;\n border-radius: $border-radius;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);\n}\n\ntable {\n display: table;\n min-width: 100%;\n border-collapse: separate;\n}\n\nth,\ntd {\n @include fs-3;\n min-width: 120px;\n padding-top: $sp-2;\n padding-right: $sp-3;\n padding-bottom: $sp-2;\n padding-left: $sp-3;\n background-color: $table-background-color;\n border-bottom: $border rgba($border-color, 0.5);\n border-left: $border $border-color;\n\n &:first-of-type {\n border-left: 0;\n }\n}\n\ntbody {\n tr {\n &:last-of-type {\n th,\n td {\n border-bottom: 0;\n }\n\n td {\n padding-bottom: $sp-3;\n }\n }\n }\n}\n\nthead {\n th {\n border-bottom: $border $border-color;\n }\n}\n", - "//\n// Code and syntax highlighting\n//\n// stylelint-disable selector-no-qualifying-type, declaration-block-semicolon-newline-after,declaration-block-single-line-max-declarations, selector-no-type, selector-max-type\n\ncode {\n padding: 0.2em 0.15em;\n font-weight: 400;\n background-color: $code-background-color;\n border: $border $border-color;\n border-radius: $border-radius;\n}\n\npre.highlight,\nfigure.highlight {\n padding: $sp-3;\n margin-top: 0;\n margin-bottom: 0;\n background-color: $code-background-color;\n border-radius: $border-radius;\n -webkit-overflow-scrolling: touch;\n\n code {\n padding: 0;\n border: 0;\n }\n}\n\n.highlighter-rouge {\n margin-bottom: $sp-3;\n}\n\n.highlight .c {\n color: #586e75;\n} // comment //\n.highlight .err {\n color: #93a1a1;\n} // error //\n.highlight .g {\n color: #93a1a1;\n} // generic //\n.highlight .k {\n color: #859900;\n} // keyword //\n.highlight .l {\n color: #93a1a1;\n} // literal //\n.highlight .n {\n color: #93a1a1;\n} // name //\n.highlight .o {\n color: #859900;\n} // operator //\n.highlight .x {\n color: #cb4b16;\n} // other //\n.highlight .p {\n color: #93a1a1;\n} // punctuation //\n.highlight .cm {\n color: #586e75;\n} // comment.multiline //\n.highlight .cp {\n color: #859900;\n} // comment.preproc //\n.highlight .c1 {\n color: #586e75;\n} // comment.single //\n.highlight .cs {\n color: #859900;\n} // comment.special //\n.highlight .gd {\n color: #2aa198;\n} // generic.deleted //\n.highlight .ge {\n font-style: italic;\n color: #93a1a1;\n} // generic.emph //\n.highlight .gr {\n color: #dc322f;\n} // generic.error //\n.highlight .gh {\n color: #cb4b16;\n} // generic.heading //\n.highlight .gi {\n color: #859900;\n} // generic.inserted //\n.highlight .go {\n color: #93a1a1;\n} // generic.output //\n.highlight .gp {\n color: #93a1a1;\n} // generic.prompt //\n.highlight .gs {\n font-weight: bold;\n color: #93a1a1;\n} // generic.strong //\n.highlight .gu {\n color: #cb4b16;\n} // generic.subheading //\n.highlight .gt {\n color: #93a1a1;\n} // generic.traceback //\n.highlight .kc {\n color: #cb4b16;\n} // keyword.constant //\n.highlight .kd {\n color: #268bd2;\n} // keyword.declaration //\n.highlight .kn {\n color: #859900;\n} // keyword.namespace //\n.highlight .kp {\n color: #859900;\n} // keyword.pseudo //\n.highlight .kr {\n color: #268bd2;\n} // keyword.reserved //\n.highlight .kt {\n color: #dc322f;\n} // keyword.type //\n.highlight .ld {\n color: #93a1a1;\n} // literal.date //\n.highlight .m {\n color: #2aa198;\n} // literal.number //\n.highlight .s {\n color: #2aa198;\n} // literal.string //\n.highlight .na {\n color: #555;\n} // name.attribute //\n.highlight .nb {\n color: #b58900;\n} // name.builtin //\n.highlight .nc {\n color: #268bd2;\n} // name.class //\n.highlight .no {\n color: #cb4b16;\n} // name.constant //\n.highlight .nd {\n color: #268bd2;\n} // name.decorator //\n.highlight .ni {\n color: #cb4b16;\n} // name.entity //\n.highlight .ne {\n color: #cb4b16;\n} // name.exception //\n.highlight .nf {\n color: #268bd2;\n} // name.function //\n.highlight .nl {\n color: #555;\n} // name.label //\n.highlight .nn {\n color: #93a1a1;\n} // name.namespace //\n.highlight .nx {\n color: #555;\n} // name.other //\n.highlight .py {\n color: #93a1a1;\n} // name.property //\n.highlight .nt {\n color: #268bd2;\n} // name.tag //\n.highlight .nv {\n color: #268bd2;\n} // name.variable //\n.highlight .ow {\n color: #859900;\n} // operator.word //\n.highlight .w {\n color: #93a1a1;\n} // text.whitespace //\n.highlight .mf {\n color: #2aa198;\n} // literal.number.float //\n.highlight .mh {\n color: #2aa198;\n} // literal.number.hex //\n.highlight .mi {\n color: #2aa198;\n} // literal.number.integer //\n.highlight .mo {\n color: #2aa198;\n} // literal.number.oct //\n.highlight .sb {\n color: #586e75;\n} // literal.string.backtick //\n.highlight .sc {\n color: #2aa198;\n} // literal.string.char //\n.highlight .sd {\n color: #93a1a1;\n} // literal.string.doc //\n.highlight .s2 {\n color: #2aa198;\n} // literal.string.double //\n.highlight .se {\n color: #cb4b16;\n} // literal.string.escape //\n.highlight .sh {\n color: #93a1a1;\n} // literal.string.heredoc //\n.highlight .si {\n color: #2aa198;\n} // literal.string.interpol //\n.highlight .sx {\n color: #2aa198;\n} // literal.string.other //\n.highlight .sr {\n color: #dc322f;\n} // literal.string.regex //\n.highlight .s1 {\n color: #2aa198;\n} // literal.string.single //\n.highlight .ss {\n color: #2aa198;\n} // literal.string.symbol //\n.highlight .bp {\n color: #268bd2;\n} // name.builtin.pseudo //\n.highlight .vc {\n color: #268bd2;\n} // name.variable.class //\n.highlight .vg {\n color: #268bd2;\n} // name.variable.global //\n.highlight .vi {\n color: #268bd2;\n} // name.variable.instance //\n.highlight .il {\n color: #2aa198;\n} // literal.number.integer.long //\n\n//\n// Code examples (rendered)\n//\n\n.code-example {\n padding: $sp-3;\n margin-bottom: $sp-3;\n overflow: auto;\n border: 1px solid $border-color;\n border-radius: $border-radius;\n\n + .highlighter-rouge,\n + figure.highlight {\n position: relative;\n margin-top: -$sp-4;\n border-right: 1px solid $border-color;\n border-bottom: 1px solid $border-color;\n border-left: 1px solid $border-color;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n}\n", - "@import \"./colors\";\n@import \"./layout\";\n@import \"./typography\";\n@import \"./lists\";\n@import \"./spacing\";\n", - "//\n// Utility classes for colors\n//\n\n// Text colors\n\n.text-grey-dk-000 {\n color: $grey-dk-000 !important;\n}\n\n.text-grey-dk-100 {\n color: $grey-dk-100 !important;\n}\n\n.text-grey-dk-200 {\n color: $grey-dk-200 !important;\n}\n\n.text-grey-dk-250 {\n color: $grey-dk-250 !important;\n}\n\n.text-grey-dk-300 {\n color: $grey-dk-300 !important;\n}\n\n.text-grey-lt-000 {\n color: $grey-lt-000 !important;\n}\n\n.text-grey-lt-100 {\n color: $grey-lt-100 !important;\n}\n\n.text-grey-lt-200 {\n color: $grey-lt-200 !important;\n}\n\n.text-grey-lt-300 {\n color: $grey-lt-300 !important;\n}\n\n.text-blue-000 {\n color: $blue-000 !important;\n}\n\n.text-blue-100 {\n color: $blue-100 !important;\n}\n\n.text-blue-200 {\n color: $blue-200 !important;\n}\n\n.text-blue-300 {\n color: $blue-300 !important;\n}\n\n.text-green-000 {\n color: $green-000 !important;\n}\n\n.text-green-100 {\n color: $green-100 !important;\n}\n\n.text-green-200 {\n color: $green-200 !important;\n}\n\n.text-green-300 {\n color: $green-300 !important;\n}\n\n.text-purple-000 {\n color: $purple-000 !important;\n}\n\n.text-purple-100 {\n color: $purple-100 !important;\n}\n\n.text-purple-200 {\n color: $purple-200 !important;\n}\n\n.text-purple-300 {\n color: $purple-300 !important;\n}\n\n.text-yellow-000 {\n color: $yellow-000 !important;\n}\n\n.text-yellow-100 {\n color: $yellow-100 !important;\n}\n\n.text-yellow-200 {\n color: $yellow-200 !important;\n}\n\n.text-yellow-300 {\n color: $yellow-300 !important;\n}\n\n.text-red-000 {\n color: $red-000 !important;\n}\n\n.text-red-100 {\n color: $red-100 !important;\n}\n\n.text-red-200 {\n color: $red-200 !important;\n}\n\n.text-red-300 {\n color: $red-300 !important;\n}\n\n// Background colors\n\n.bg-grey-dk-000 {\n background-color: $grey-dk-000 !important;\n}\n\n.bg-grey-dk-100 {\n background-color: $grey-dk-100 !important;\n}\n\n.bg-grey-dk-200 {\n background-color: $grey-dk-200 !important;\n}\n\n.bg-grey-dk-250 {\n background-color: $grey-dk-250 !important;\n}\n\n.bg-grey-dk-300 {\n background-color: $grey-dk-300 !important;\n}\n\n.bg-grey-lt-000 {\n background-color: $grey-lt-000 !important;\n}\n\n.bg-grey-lt-100 {\n background-color: $grey-lt-100 !important;\n}\n\n.bg-grey-lt-200 {\n background-color: $grey-lt-200 !important;\n}\n\n.bg-grey-lt-300 {\n background-color: $grey-lt-300 !important;\n}\n\n.bg-blue-000 {\n background-color: $blue-000 !important;\n}\n\n.bg-blue-100 {\n background-color: $blue-100 !important;\n}\n\n.bg-blue-200 {\n background-color: $blue-200 !important;\n}\n\n.bg-blue-300 {\n background-color: $blue-300 !important;\n}\n\n.bg-green-000 {\n background-color: $green-000 !important;\n}\n\n.bg-green-100 {\n background-color: $green-100 !important;\n}\n\n.bg-green-200 {\n background-color: $green-200 !important;\n}\n\n.bg-green-300 {\n background-color: $green-300 !important;\n}\n\n.bg-purple-000 {\n background-color: $purple-000 !important;\n}\n\n.bg-purple-100 {\n background-color: $purple-100 !important;\n}\n\n.bg-purple-200 {\n background-color: $purple-200 !important;\n}\n\n.bg-purple-300 {\n background-color: $purple-300 !important;\n}\n\n.bg-yellow-000 {\n background-color: $yellow-000 !important;\n}\n\n.bg-yellow-100 {\n background-color: $yellow-100 !important;\n}\n\n.bg-yellow-200 {\n background-color: $yellow-200 !important;\n}\n\n.bg-yellow-300 {\n background-color: $yellow-300 !important;\n}\n\n.bg-red-000 {\n background-color: $red-000 !important;\n}\n\n.bg-red-100 {\n background-color: $red-100 !important;\n}\n\n.bg-red-200 {\n background-color: $red-200 !important;\n}\n\n.bg-red-300 {\n background-color: $red-300 !important;\n}\n", - "// stylelint-disable primer/selector-no-utility, primer/no-override\n//\n// Utility classes for layout\n//\n\n// Display\n\n.d-block {\n display: block !important;\n}\n.d-flex {\n display: flex !important;\n}\n.d-inline {\n display: inline !important;\n}\n.d-inline-block {\n display: inline-block !important;\n}\n.d-none {\n display: none !important;\n}\n\n@each $media-query in map-keys($media-queries) {\n @for $i from 1 through length($spacers) {\n @include mq($media-query) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .d-sm-block, .d-md-none, .d-lg-inline\n .d-#{$media-query}-block {\n display: block !important;\n }\n .d-#{$media-query}-flex {\n display: flex !important;\n }\n .d-#{$media-query}-inline {\n display: inline !important;\n }\n .d-#{$media-query}-inline-block {\n display: inline-block !important;\n }\n .d-#{$media-query}-none {\n display: none !important;\n }\n }\n }\n}\n\n// Horizontal alignment\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.flex-justify-start {\n justify-content: flex-start !important;\n}\n\n.flex-justify-end {\n justify-content: flex-end !important;\n}\n\n.flex-justify-between {\n justify-content: space-between !important;\n}\n\n.flex-justify-around {\n justify-content: space-around !important;\n}\n\n// Vertical alignment\n\n.v-align-baseline {\n vertical-align: baseline !important;\n}\n.v-align-bottom {\n vertical-align: bottom !important;\n}\n.v-align-middle {\n vertical-align: middle !important;\n}\n.v-align-text-bottom {\n vertical-align: text-bottom !important;\n}\n.v-align-text-top {\n vertical-align: text-top !important;\n}\n.v-align-top {\n vertical-align: top !important;\n}\n", - "//\n// Utility classes for typography\n//\n\n// stylelint-disable primer/selector-no-utility, primer/no-override\n\n.fs-1 {\n @include fs-1;\n}\n\n.fs-2 {\n @include fs-2;\n}\n\n.fs-3 {\n @include fs-3;\n}\n\n.fs-4 {\n @include fs-4;\n}\n\n.fs-5 {\n @include fs-5;\n}\n\n.fs-6 {\n @include fs-6;\n}\n\n.fs-7 {\n @include fs-7;\n}\n\n.fs-8 {\n @include fs-8;\n}\n\n.fs-9 {\n @include fs-9;\n}\n\n.fs-10 {\n @include fs-10;\n}\n\n.fw-300 {\n font-weight: 300 !important;\n}\n\n.fw-400 {\n font-weight: 400 !important;\n}\n\n.fw-500 {\n font-weight: 500 !important;\n}\n\n.fw-700 {\n font-weight: 700 !important;\n}\n\n.lh-0 {\n line-height: 0 !important;\n}\n\n.lh-default {\n line-height: $body-line-height;\n}\n\n.lh-tight {\n line-height: $body-heading-line-height;\n}\n\n.ls-5 {\n letter-spacing: 0.05em !important;\n}\n\n.ls-10 {\n letter-spacing: 0.1em !important;\n}\n\n.ls-0 {\n letter-spacing: 0 !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n// stylelint-enable primer/selector-no-utility\n", - "//\n// Utility classes for lists\n//\n\n// stylelint-disable primer/selector-no-utility, primer/no-override, selector-max-type\n\n.list-style-none {\n padding: 0 !important;\n margin: 0 !important;\n list-style: none !important;\n\n li {\n &::before {\n display: none !important;\n }\n }\n}\n", - "//\n// Utility classes for margins and padding\n//\n\n// scss-lint:disable SpaceAfterPropertyName\n// stylelint-disable block-opening-brace-space-after, block-opening-brace-space-before, primer/selector-no-utility, primer/no-override\n\n// Margin spacer utilities\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n@for $i from 1 through length($spacers) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .m-0, .m-1, .m-2...\n .m-#{$scale} {\n margin: #{$size} !important;\n }\n .mt-#{$scale} {\n margin-top: #{$size} !important;\n }\n .mr-#{$scale} {\n margin-right: #{$size} !important;\n }\n .mb-#{$scale} {\n margin-bottom: #{$size} !important;\n }\n .ml-#{$scale} {\n margin-left: #{$size} !important;\n }\n\n .mx-#{$scale} {\n margin-right: #{$size} !important;\n margin-left: #{$size} !important;\n }\n\n .my-#{$scale} {\n margin-top: #{$size} !important;\n margin-bottom: #{$size} !important;\n }\n\n .mxn-#{$scale} {\n margin-right: -#{$size} !important;\n margin-left: -#{$size} !important;\n }\n .mx-#{$scale}-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n}\n\n@each $media-query in map-keys($media-queries) {\n @for $i from 1 through length($spacers) {\n @include mq($media-query) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .m-sm-0, .m-md-1, .m-lg-2...\n .m-#{$media-query}-#{$scale} {\n margin: #{$size} !important;\n }\n .mt-#{$media-query}-#{$scale} {\n margin-top: #{$size} !important;\n }\n .mr-#{$media-query}-#{$scale} {\n margin-right: #{$size} !important;\n }\n .mb-#{$media-query}-#{$scale} {\n margin-bottom: #{$size} !important;\n }\n .ml-#{$media-query}-#{$scale} {\n margin-left: #{$size} !important;\n }\n\n .mx-#{$media-query}-#{$scale} {\n margin-right: #{$size} !important;\n margin-left: #{$size} !important;\n }\n\n .my-#{$media-query}-#{$scale} {\n margin-top: #{$size} !important;\n margin-bottom: #{$size} !important;\n }\n\n .mxn-#{$media-query}-#{$scale} {\n margin-right: -#{$size} !important;\n margin-left: -#{$size} !important;\n }\n }\n }\n}\n\n// Padding spacer utilities\n\n@for $i from 1 through length($spacers) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .p-0, .p-1, .p-2...\n .p-#{$scale} {\n padding: #{$size} !important;\n }\n .pt-#{$scale} {\n padding-top: #{$size} !important;\n }\n .pr-#{$scale} {\n padding-right: #{$size} !important;\n }\n .pb-#{$scale} {\n padding-bottom: #{$size} !important;\n }\n .pl-#{$scale} {\n padding-left: #{$size} !important;\n }\n\n .px-#{$scale} {\n padding-right: #{$size} !important;\n padding-left: #{$size} !important;\n }\n\n .py-#{$scale} {\n padding-top: #{$size} !important;\n padding-bottom: #{$size} !important;\n }\n}\n\n@each $media-query in map-keys($media-queries) {\n @include mq($media-query) {\n @for $i from 1 through length($spacers) {\n $size: #{map-get($spacers, sp-#{$i - 1})};\n $scale: #{$i - 1};\n\n // .p-sm-0, .p-md-1, .p-lg-2...\n .p-#{$media-query}-#{$scale} {\n padding: #{$size} !important;\n }\n .pt-#{$media-query}-#{$scale} {\n padding-top: #{$size} !important;\n }\n .pr-#{$media-query}-#{$scale} {\n padding-right: #{$size} !important;\n }\n .pb-#{$media-query}-#{$scale} {\n padding-bottom: #{$size} !important;\n }\n .pl-#{$media-query}-#{$scale} {\n padding-left: #{$size} !important;\n }\n\n .px-#{$media-query}-#{$scale} {\n padding-right: #{$size} !important;\n padding-left: #{$size} !important;\n }\n\n .py-#{$media-query}-#{$scale} {\n padding-top: #{$size} !important;\n padding-bottom: #{$size} !important;\n }\n }\n }\n}\n", - "// stylelint-disable selector-max-specificity, selector-max-id, selector-max-type, selector-no-qualifying-type, primer/no-override,\n\n@media print {\n .site-footer,\n .site-button,\n #edit-this-page,\n #back-to-top,\n .site-nav,\n .main-header {\n display: none !important;\n }\n\n .side-bar {\n width: 100%;\n height: auto;\n border-right: 0 !important;\n }\n\n .site-header {\n border-bottom: 1px solid $border-color;\n }\n\n .site-title {\n font-size: $root-font-size !important;\n font-weight: 700 !important;\n }\n\n .text-small {\n font-size: 8pt !important;\n }\n\n pre.highlight {\n border: 1px solid $border-color;\n }\n\n .main {\n max-width: none;\n margin-left: 0;\n }\n}\n", - "/*\n * Just The Docs theme style overrides\n *\n * https://pmarsceill.github.io/just-the-docs/docs/customization/#override-and-completely-custom-styles\n */\n\na {\n /* Unset \"nowrap\" to prevent horzontal scrolling on mobile */\n white-space: unset !important;\n}\n\n/*\n * Remove column min-width\n */\nth, td {\n min-width: unset;\n}\n\na.external:after {\n content: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAVklEQVR4Xn3PgQkAMQhDUXfqTu7kTtkpd5RA8AInfArtQ2iRXFWT2QedAfttj2FsPIOE1eCOlEuoWWjgzYaB/IkeGOrxXhqB+uA9Bfcm0lAZuh+YIeAD+cAqSz4kCMUAAAAASUVORK5CYII=);\n vertical-align: baseline;\n position: relative;\n top: -0.4em;\n left: 0.1em;\n}\n" - ], - "names": [], - "mappings": "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" -} \ No newline at end of file diff --git a/assets/discrete-assets.html b/assets/discrete-assets.html deleted file mode 100644 index f68988fd3..000000000 --- a/assets/discrete-assets.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - Redirecting… - - - - -

Redirecting…

- Click here if you are not redirected. - diff --git a/assets/images/just-the-docs.png b/assets/images/just-the-docs.png deleted file mode 100644 index 81c33065f2794814cbe1a53791d8bc4bfbb91cb1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20992 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 z 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 diff --git a/assets/images/search.svg b/assets/images/search.svg deleted file mode 100644 index 421ca4df0..000000000 --- a/assets/images/search.svg +++ /dev/null @@ -1 +0,0 @@ -Search diff --git a/assets/js/just-the-docs.js b/assets/js/just-the-docs.js deleted file mode 100644 index 1f8f2cf98..000000000 --- a/assets/js/just-the-docs.js +++ /dev/null @@ -1,454 +0,0 @@ -(function (jtd, undefined) { - -// Event handling - -jtd.addEvent = function(el, type, handler) { - if (el.attachEvent) el.attachEvent('on'+type, handler); else el.addEventListener(type, handler); -} -jtd.removeEvent = function(el, type, handler) { - if (el.detachEvent) el.detachEvent('on'+type, handler); else el.removeEventListener(type, handler); -} -jtd.onReady = function(ready) { - // in case the document is already rendered - if (document.readyState!='loading') ready(); - // modern browsers - else if (document.addEventListener) document.addEventListener('DOMContentLoaded', ready); - // IE <= 8 - else document.attachEvent('onreadystatechange', function(){ - if (document.readyState=='complete') ready(); - }); -} - -// Show/hide mobile menu - -function initNav() { - jtd.addEvent(document, 'click', function(e){ - var target = e.target; - while (target && !(target.classList && target.classList.contains('nav-list-expander'))) { - target = target.parentNode; - } - if (target) { - e.preventDefault(); - target.parentNode.classList.toggle('active'); - } - }); - - const siteNav = document.getElementById('site-nav'); - const mainHeader = document.getElementById('main-header'); - const menuButton = document.getElementById('menu-button'); - - jtd.addEvent(menuButton, 'click', function(e){ - e.preventDefault(); - - if (menuButton.classList.toggle('nav-open')) { - siteNav.classList.add('nav-open'); - mainHeader.classList.add('nav-open'); - } else { - siteNav.classList.remove('nav-open'); - mainHeader.classList.remove('nav-open'); - } - }); - const searchInput = document.getElementById('search-input'); - const searchButton = document.getElementById('search-button'); - - jtd.addEvent(searchButton, 'click', function(e){ - e.preventDefault(); - - mainHeader.classList.add('nav-open'); - searchInput.focus(); - }); -} -// Site search - -function initSearch() { - var request = new XMLHttpRequest(); - request.open('GET', '/assets/js/search-data.json', true); - - request.onload = function(){ - if (request.status >= 200 && request.status < 400) { - var docs = JSON.parse(request.responseText); - - lunr.tokenizer.separator = /[\s\-/]+/ - - var index = lunr(function(){ - this.ref('id'); - this.field('title', { boost: 200 }); - this.field('content', { boost: 2 }); - this.field('relUrl'); - this.metadataWhitelist = ['position'] - - for (var i in docs) { - this.add({ - id: i, - title: docs[i].title, - content: docs[i].content, - relUrl: docs[i].relUrl - }); - } - }); - - searchLoaded(index, docs); - } else { - console.log('Error loading ajax request. Request status:' + request.status); - } - }; - - request.onerror = function(){ - console.log('There was a connection error'); - }; - - request.send(); -} - -function searchLoaded(index, docs) { - var index = index; - var docs = docs; - var searchInput = document.getElementById('search-input'); - var searchResults = document.getElementById('search-results'); - var mainHeader = document.getElementById('main-header'); - var currentInput; - var currentSearchIndex = 0; - - function showSearch() { - document.documentElement.classList.add('search-active'); - } - - function hideSearch() { - document.documentElement.classList.remove('search-active'); - } - - function update() { - currentSearchIndex++; - - var input = searchInput.value; - if (input === '') { - hideSearch(); - } else { - showSearch(); - // scroll search input into view, workaround for iOS Safari - window.scroll(0, -1); - setTimeout(function(){ window.scroll(0, 0); }, 0); - } - if (input === currentInput) { - return; - } - currentInput = input; - searchResults.innerHTML = ''; - if (input === '') { - return; - } - - var results = index.query(function (query) { - var tokens = lunr.tokenizer(input) - query.term(tokens, { - boost: 10 - }); - query.term(tokens, { - wildcard: lunr.Query.wildcard.TRAILING - }); - }); - - if ((results.length == 0) && (input.length > 2)) { - var tokens = lunr.tokenizer(input).filter(function(token, i) { - return token.str.length < 20; - }) - if (tokens.length > 0) { - results = index.query(function (query) { - query.term(tokens, { - editDistance: Math.round(Math.sqrt(input.length / 2 - 1)) - }); - }); - } - } - - if (results.length == 0) { - var noResultsDiv = document.createElement('div'); - noResultsDiv.classList.add('search-no-result'); - noResultsDiv.innerText = 'No results found'; - searchResults.appendChild(noResultsDiv); - - } else { - var resultsList = document.createElement('ul'); - resultsList.classList.add('search-results-list'); - searchResults.appendChild(resultsList); - - addResults(resultsList, results, 0, 10, 100, currentSearchIndex); - } - - function addResults(resultsList, results, start, batchSize, batchMillis, searchIndex) { - if (searchIndex != currentSearchIndex) { - return; - } - for (var i = start; i < (start + batchSize); i++) { - if (i == results.length) { - return; - } - addResult(resultsList, results[i]); - } - setTimeout(function() { - addResults(resultsList, results, start + batchSize, batchSize, batchMillis, searchIndex); - }, batchMillis); - } - - function addResult(resultsList, result) { - var doc = docs[result.ref]; - - var resultsListItem = document.createElement('li'); - resultsListItem.classList.add('search-results-list-item'); - resultsList.appendChild(resultsListItem); - - var resultLink = document.createElement('a'); - resultLink.classList.add('search-result'); - resultLink.setAttribute('href', doc.url); - resultsListItem.appendChild(resultLink); - - var resultTitle = document.createElement('div'); - resultTitle.classList.add('search-result-title'); - resultLink.appendChild(resultTitle); - - var resultDoc = document.createElement('div'); - resultDoc.classList.add('search-result-doc'); - resultDoc.innerHTML = ''; - resultTitle.appendChild(resultDoc); - - var resultDocTitle = document.createElement('div'); - resultDocTitle.classList.add('search-result-doc-title'); - resultDocTitle.innerHTML = doc.doc; - resultDoc.appendChild(resultDocTitle); - var resultDocOrSection = resultDocTitle; - - if (doc.doc != doc.title) { - resultDoc.classList.add('search-result-doc-parent'); - var resultSection = document.createElement('div'); - resultSection.classList.add('search-result-section'); - resultSection.innerHTML = doc.title; - resultTitle.appendChild(resultSection); - resultDocOrSection = resultSection; - } - - var metadata = result.matchData.metadata; - var titlePositions = []; - var contentPositions = []; - for (var j in metadata) { - var meta = metadata[j]; - if (meta.title) { - var positions = meta.title.position; - for (var k in positions) { - titlePositions.push(positions[k]); - } - } - if (meta.content) { - var positions = meta.content.position; - for (var k in positions) { - var position = positions[k]; - var previewStart = position[0]; - var previewEnd = position[0] + position[1]; - var ellipsesBefore = true; - var ellipsesAfter = true; - for (var k = 0; k < 5; k++) { - var nextSpace = doc.content.lastIndexOf(' ', previewStart - 2); - var nextDot = doc.content.lastIndexOf('. ', previewStart - 2); - if ((nextDot >= 0) && (nextDot > nextSpace)) { - previewStart = nextDot + 1; - ellipsesBefore = false; - break; - } - if (nextSpace < 0) { - previewStart = 0; - ellipsesBefore = false; - break; - } - previewStart = nextSpace + 1; - } - for (var k = 0; k < 10; k++) { - var nextSpace = doc.content.indexOf(' ', previewEnd + 1); - var nextDot = doc.content.indexOf('. ', previewEnd + 1); - if ((nextDot >= 0) && (nextDot < nextSpace)) { - previewEnd = nextDot; - ellipsesAfter = false; - break; - } - if (nextSpace < 0) { - previewEnd = doc.content.length; - ellipsesAfter = false; - break; - } - previewEnd = nextSpace; - } - contentPositions.push({ - highlight: position, - previewStart: previewStart, previewEnd: previewEnd, - ellipsesBefore: ellipsesBefore, ellipsesAfter: ellipsesAfter - }); - } - } - } - - if (titlePositions.length > 0) { - titlePositions.sort(function(p1, p2){ return p1[0] - p2[0] }); - resultDocOrSection.innerHTML = ''; - addHighlightedText(resultDocOrSection, doc.title, 0, doc.title.length, titlePositions); - } - - if (contentPositions.length > 0) { - contentPositions.sort(function(p1, p2){ return p1.highlight[0] - p2.highlight[0] }); - var contentPosition = contentPositions[0]; - var previewPosition = { - highlight: [contentPosition.highlight], - previewStart: contentPosition.previewStart, previewEnd: contentPosition.previewEnd, - ellipsesBefore: contentPosition.ellipsesBefore, ellipsesAfter: contentPosition.ellipsesAfter - }; - var previewPositions = [previewPosition]; - for (var j = 1; j < contentPositions.length; j++) { - contentPosition = contentPositions[j]; - if (previewPosition.previewEnd < contentPosition.previewStart) { - previewPosition = { - highlight: [contentPosition.highlight], - previewStart: contentPosition.previewStart, previewEnd: contentPosition.previewEnd, - ellipsesBefore: contentPosition.ellipsesBefore, ellipsesAfter: contentPosition.ellipsesAfter - } - previewPositions.push(previewPosition); - } else { - previewPosition.highlight.push(contentPosition.highlight); - previewPosition.previewEnd = contentPosition.previewEnd; - previewPosition.ellipsesAfter = contentPosition.ellipsesAfter; - } - } - - var resultPreviews = document.createElement('div'); - resultPreviews.classList.add('search-result-previews'); - resultLink.appendChild(resultPreviews); - - var content = doc.content; - for (var j = 0; j < Math.min(previewPositions.length, 3); j++) { - var position = previewPositions[j]; - - var resultPreview = document.createElement('div'); - resultPreview.classList.add('search-result-preview'); - resultPreviews.appendChild(resultPreview); - - if (position.ellipsesBefore) { - resultPreview.appendChild(document.createTextNode('... ')); - } - addHighlightedText(resultPreview, content, position.previewStart, position.previewEnd, position.highlight); - if (position.ellipsesAfter) { - resultPreview.appendChild(document.createTextNode(' ...')); - } - } - } - var resultRelUrl = document.createElement('span'); - resultRelUrl.classList.add('search-result-rel-url'); - resultRelUrl.innerText = doc.relUrl; - resultTitle.appendChild(resultRelUrl); - } - - function addHighlightedText(parent, text, start, end, positions) { - var index = start; - for (var i in positions) { - var position = positions[i]; - var span = document.createElement('span'); - span.innerHTML = text.substring(index, position[0]); - parent.appendChild(span); - index = position[0] + position[1]; - var highlight = document.createElement('span'); - highlight.classList.add('search-result-highlight'); - highlight.innerHTML = text.substring(position[0], index); - parent.appendChild(highlight); - } - var span = document.createElement('span'); - span.innerHTML = text.substring(index, end); - parent.appendChild(span); - } - } - - jtd.addEvent(searchInput, 'focus', function(){ - setTimeout(update, 0); - }); - - jtd.addEvent(searchInput, 'keyup', function(e){ - switch (e.keyCode) { - case 27: // When esc key is pressed, hide the results and clear the field - searchInput.value = ''; - break; - case 38: // arrow up - case 40: // arrow down - case 13: // enter - e.preventDefault(); - return; - } - update(); - }); - - jtd.addEvent(searchInput, 'keydown', function(e){ - switch (e.keyCode) { - case 38: // arrow up - e.preventDefault(); - var active = document.querySelector('.search-result.active'); - if (active) { - active.classList.remove('active'); - if (active.parentElement.previousSibling) { - var previous = active.parentElement.previousSibling.querySelector('.search-result'); - previous.classList.add('active'); - } - } - return; - case 40: // arrow down - e.preventDefault(); - var active = document.querySelector('.search-result.active'); - if (active) { - if (active.parentElement.nextSibling) { - var next = active.parentElement.nextSibling.querySelector('.search-result'); - active.classList.remove('active'); - next.classList.add('active'); - } - } else { - var next = document.querySelector('.search-result'); - if (next) { - next.classList.add('active'); - } - } - return; - case 13: // enter - e.preventDefault(); - var active = document.querySelector('.search-result.active'); - if (active) { - active.click(); - } else { - var first = document.querySelector('.search-result'); - if (first) { - first.click(); - } - } - return; - } - }); - - jtd.addEvent(document, 'click', function(e){ - if (e.target != searchInput) { - hideSearch(); - } - }); -} - -// Switch theme - -jtd.getTheme = function() { - var cssFileHref = document.querySelector('[rel="stylesheet"]').getAttribute('href'); - return cssFileHref.substring(cssFileHref.lastIndexOf('-') + 1, cssFileHref.length - 4); -} - -jtd.setTheme = function(theme) { - var cssFile = document.querySelector('[rel="stylesheet"]'); - cssFile.setAttribute('href', '/assets/css/just-the-docs-' + theme + '.css'); -} - -// Document ready - -jtd.onReady(function(){ - initNav(); - initSearch(); -}); - -})(window.jtd = window.jtd || {}); - - diff --git a/assets/js/search-data.json b/assets/js/search-data.json deleted file mode 100644 index ec851d08f..000000000 --- a/assets/js/search-data.json +++ /dev/null @@ -1,1028 +0,0 @@ -{"0": { - "doc": "Account Memberships", - "title": "Account Memberships", - "content": "An Account Membership represents a user having access to a Centrapay Account. An Account Membership has a role which grants the user access to some or all of the operations and resources within the account. ", - "url": "/api/account-memberships", - "relUrl": "/api/account-memberships" - },"1": { - "doc": "Account Memberships", - "title": "Contents", - "content": ". | Models . | Account Member | . | Operations . | Add Member EXPERIMENTAL | List Members | Revoke Member | List Account Memberships for authenticated subject | List Account Memberships for specific user | . | . ", - "url": "/api/account-memberships#contents", - "relUrl": "/api/account-memberships#contents" - },"2": { - "doc": "Account Memberships", - "title": "Models", - "content": "Account Member . A Member contains extended information about an user’s access to an account. Required Fields . | Field | Type | Description | . | accountId | String | The id of the Account the Membership is scoped to. | . | accountType | String | The type of the Account the Membership is scoped to. | . | accountName | String | The name of the Account the Membership is scoped to. | . | userId | String | The id of the user the Membership belongs to. | . | role | String | The role governing Membership permissions. | . Optional Fields . | Field | Type | Description | . | subject | CRN | User or API key resource name for the membership. | . | createdAt | Timestamp | When the Membership was created. | . | createdBy | CRN | Resource that created the member. | . | modifiedAt | Timestamp | When the Membership was last modified. | . | modifiedBy | CRN | Resource that last modified the account member. | . | testAccount | Boolean | A flag which is present if the Account is test | . | firstName | String | First name of the user the membership belongs to. | . | lastName | String | Last name of the user the membership belongs to. | . | email | String | Email of the user the membership belongs to. | . ", - "url": "/api/account-memberships#models", - "relUrl": "/api/account-memberships#models" - },"3": { - "doc": "Account Memberships", - "title": "Operations", - "content": "Add Member EXPERIMENTAL . POST /api/accounts/{accountId}/members . curl -X POST https://service.centrapay.com/api/accounts/Jaim1Cu1Q55uooxSens6yk/members \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"userId\": \"da75ad90-9a5b-4df0-8374-f48b3a8fbfcc\", \"role\": \"account-owner\" }' . Example response payload . { \"accountId\": \"Jaim1Cu1Q55uooxSens6yk\", \"accountType\": \"org\", \"userId\": \"da75ad90-9a5b-4df0-8374-f48b3a8fbfcc\", \"role\": \"account-owner\", \"createdBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"createdAt\": \"2020-06-12T01:17:46.499Z\", \"modifiedAt\": \"2020-06-12T01:17:46.499Z\", \"modifiedBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\" } . List Members . GET /api/accounts/{accountId}/members . curl https://service.centrapay.com/api/accounts/Jaim1Cu1Q55uooxSens6yk/members \\ -H \"X-Api-Key: $api_key\" . Example response payload . [ { \"accountName\": \"Centrapay Cafe\", \"accountType\": \"org\", \"accountId\": \"Jaim1Cu1Q55uooxSens6yk\", \"userId\": \"b657195e-dc2f-11ea-8566-e7710d592c99\", \"createdAt\": \"2020-06-01T21:57:25.888Z\", \"role\": \"account-owner\", \"firstName\": \"John\", \"lastName\": \"Doe\", \"email\": \"john.doe@centrapay.com\" }, { \"accountName\": \"Centrapay Tea Warehouse\", \"accountType\": \"org\", \"accountId\": \"0f9nvqdcn5eaaDLefkg1Xt\", \"userId\": \"9f4b3bae-dc30-11ea-ab70-2743d9be3dd5\", \"createdAt\": \"2020-06-02T10:l4:33.021Z\", \"role\": \"account-owner\", \"firstName\": \"Jane\", \"lastName\": \"Doe\", \"email\": \"jane.doe@centrapay.com\" } ] . Revoke Member . DELETE /api/accounts/{accountId}/members/{userId} . curl -X DELETE https://service.centrapay.com/api/accounts/Jaim1Cu1Q55uooxSens6yk/members/45dwes-rf4h55-tyf45s-6st4gd \\ -H \"X-Api-Key: $api_key\" . Error Responses . | Status | Code | Description | . | 403 | LAST_OWNER_NOT_REVOKABLE | The last remaining membership to an account cannot be revoked. | . List Account Memberships for authenticated subject . GET /api/account-memberships . curl https://service.centrapay.com/api/account-memberships \\ -H \"X-Api-Key: $api_key\" . Example response payload . [ { \"accountName\": \"Centrapay Tea Warehouse\", \"accountId\": \"5uooxSens6ykJaim1Cu1Q5\", \"accountType\": \"org\", \"role\": \"account-owner\" } ] . List Account Memberships for specific user . GET /api/users/{userId}/account-memberships . curl https://service.centrapay.com/api/users/1234/account-memberships \\ -H \"X-Api-Key: $api_key\" . Example response payload . [ { \"accountName\": \"Centrapay Cafe\", \"accountId\": \"Jaim1Cu1Q55uooxSens6yk\", \"accountType\": \"org\", \"role\": \"account-owner\" }, { \"accountName\": \"Centrapay Tea Warehouse\", \"accountId\": \"5uooxSens6ykJaim1Cu1Q5\", \"accountType\": \"org\", \"role\": \"account-owner\" } ] . ", - "url": "/api/account-memberships#operations", - "relUrl": "/api/account-memberships#operations" - },"4": { - "doc": "Accounts", - "title": "Accounts", - "content": "An Account represents a permission boundary around Centrapay resources. Accounts can have API Keys and Account Memberships which grant access to the resources. Accounts are classified as either “individual” or “org”. Individual accounts can only have a single member and Centrapay users can only be a member of a single individual account. ", - "url": "/api/accounts", - "relUrl": "/api/accounts" - },"5": { - "doc": "Accounts", - "title": "Contents", - "content": ". | Models . | Account | Subscription | . | Operations . | Create an Account | Get an Account | Update an Account | Update Subscriptions | . | . ", - "url": "/api/accounts#contents", - "relUrl": "/api/accounts#contents" - },"6": { - "doc": "Accounts", - "title": "Models", - "content": "Account . | Field | Type | Description | . | id | String | The unique identifier. | . | type | String | Account type, must be either ‘org’ or ‘individual’. | . | name | String | The display name of the Account. | . | region | String | The region that the Account will operate in. Only defined for ‘org’ Accounts. | . | test | Boolean | A flag which is only present if the Account is for testing. | . | createdAt | Timestamp | When the Account was created. | . | modifiedAt | Timestamp | When the Account was updated. | . | createdBy | CRN | The User or API Key that created the Account. | . | modifiedBy | CRN | The User or API Key that updated the Account. | . | subscriptions | Array | A list of Subscriptions on the Account. | . Subscription . | Field | Type | Description | . | name | String | The name of the Subscription. | . ", - "url": "/api/accounts#models", - "relUrl": "/api/accounts#models" - },"7": { - "doc": "Accounts", - "title": "Operations", - "content": "Create an Account . POST /api/accounts . curl -X POST https://service.centrapay.com/api/accounts \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"name\": \"Centrapay Cafe\", \"type\": \"org\" }' . Required Fields . | Field | Type | Description | . | name | String | The name of the Account. | . | type | String | Account type, must be either “org” or “individual”. | . Optional Fields . | Field | Type | Description | . | owner | String | Id of user to add as member with “account-owner” role. | . | test | Boolean | A flag indicating if the Account is for testing. | . | region | String | The region that the Account will operate in. Required for ‘org’ Accounts, not allowed for ‘individual’ Accounts. Can be “NZ”, “AU”, or “US”. | . Example response payload . { \"id\": \"Jaim1Cu1Q55uooxSens6yk\", \"name\": \"Centrapay Cafe\", \"type\": \"org\", \"region\": \"NZ\", \"createdBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"createdAt\": \"2020-06-12T01:17:46.499Z\", \"modifiedAt\": \"2020-06-12T01:17:46.499Z\", \"modifiedBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"version\": \"1\", \"subscriptions\": [ ] } . Get an Account . GET /api/accounts/{accountId} . curl https://service.centrapay.com/api/accounts/Jaim1Cu1Q55uooxSens6yk \\ -H \"X-Api-Key: $api_key\" . Example response payload . { \"id\": \"Jaim1Cu1Q55uooxSens6yk\", \"name\": \"Centrapay Cafe\", \"type\": \"org\", \"region\": \"NZ\", \"createdBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"createdAt\": \"2020-06-12T01:17:46.499Z\", \"modifiedAt\": \"2020-06-12T01:17:46.499Z\", \"modifiedBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"version\": \"1\", \"subscriptions\": [ ] } . Update an Account . PUT /api/accounts/{accountId} . curl -X PUT https://service.centrapay.com/api/accounts/Jaim1Cu1Q55uooxSens6yk \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"name\": \"Shortland St Cafe\" }' . Required Fields . | Field | Type | Description | . | name | String | The name of the account | . Example response payload . { \"id\": \"Jaim1Cu1Q55uooxSens6yk\", \"name\": \"Shortland St Cafe\", \"type\": \"org\", \"region\": \"NZ\", \"createdBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"createdAt\": \"2020-06-12T01:17:46.499Z\", \"modifiedAt\": \"2020-06-12T02:35:12.112Z\", \"modifiedBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"version\": \"2\", \"subscriptions\": [ ] } . Update Subscriptions . PUT /api/accounts/{accountId}/subscriptions . curl -X PUT https://service.centrapay.com/api/accounts/Jaim1Cu1Q55uooxSens6yk/subscriptions \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"subscriptions\": [ \"quartz\" ] }' . Required Fields . | Field | Type | Description | . | subscriptions | Array | The list of subscriptions to assign to the account. | . Example response payload . { \"subscriptions\": [ \"quartz\" ] } . Error Responses . | Status | Code | Description | . | 403 | INVALID_ACCOUNT_ID | The account does not exist. | . | 403 | INVALID_SUBSCRIPTION | One of the subscriptions in the list is not valid. | . ", - "url": "/api/accounts#operations", - "relUrl": "/api/accounts#operations" - },"8": { - "doc": "API Keys", - "title": "API Keys", - "content": "API keys provide enduring access to a single Centrapay Account. ", - "url": "/api/api-keys", - "relUrl": "/api/api-keys" - },"9": { - "doc": "API Keys", - "title": "Contents", - "content": ". | Models . | API Key | . | Operations . | Create an API Key | List API Keys | Update an API Key | . | . ", - "url": "/api/api-keys#contents", - "relUrl": "/api/api-keys#contents" - },"10": { - "doc": "API Keys", - "title": "Models", - "content": "API Key . Mandatory Fields . | Field | Type | Description | . | accountId | String | The id of the Centrapay Account the API Key is scoped to. | . | name | String | The alphanumeric name of the API key, must be unique within the account. | . | role | String | Supported roles are: “account-owner” and “merchant-terminal”. See Auth Permissions for role details. | . | enabled | Boolean | Flag indicating the API Key is usable for authentication. | . | createdAt | Timestamp | When the API Key was created. | . Roles and Permissions . ", - "url": "/api/api-keys#models", - "relUrl": "/api/api-keys#models" - },"11": { - "doc": "API Keys", - "title": "Operations", - "content": ". Create an API Key . POST /api/accounts/{accountId}/api-keys . curl -X POST https://service.centrapay.com/api/accounts/Jaim1Cu1Q55uooxSens6yk/api-keys \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"name\": \"MyAPIkey\", \"role\": \"merchant-terminal\" }' . Example response payload . { \"name\": \"MyAPIkey\", \"createdAt\": \"2020-06-01T22:32:56.631Z\", \"enabled\": true, \"role\": \"merchant-terminal\", \"accountId\": \"Jaim1Cu1Q55uooxSens6yk\", \"secret\": \"EoaEL7skkedBBy9MzrBSyxG95vUAKjYkiFvWEfiAx\" } . List API Keys . GET /api/accounts/{accountId}/api-keys . curl https://service.centrapay.com/api/accounts/Jaim1Cu1Q55uooxSens6yk/api-keys \\ -H \"X-Api-Key: $api_key\" . Example response payload . [ { \"accountId\": \"Jaim1Cu1Q55uooxSens6yk\", \"name\": \"MyOtherAPIkey\", \"createdAt\": \"2020-06-01T21:57:25.888Z\", \"enabled\": false, \"role\": \"merchant-terminal\" }, { \"accountId\": \"Jaim1Cu1Q55uooxSens6yk\", \"name\": \"MyAPIkey\", \"createdAt\": \"2020-06-01T22:34:31.308Z\", \"enabled\": true, \"role\": \"merchant-terminal\" } ] . Update an API Key . PUT /api/accounts/{accountId}/api-keys/{apiKeyName} . curl -X PUT https://service.centrapay.com/api/accounts/Jaim1Cu1Q55uooxSens6yk/api-keys/MyAPIkey \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"enabled\": false }' . Required Fields . | Field | Type | Description | . | enabled | Boolean | Enable/Disable API key | . Example response payload . { \"accountId\": \"Jaim1Cu1Q55uooxSens6yk\", \"name\": \"MyAPIkey\", \"createdAt\": \"2020-06-01T22:34:31.308Z\", \"enabled\": false, \"role\": \"merchant-terminal\" } . ", - "url": "/api/api-keys#operations", - "relUrl": "/api/api-keys#operations" - },"12": { - "doc": "Asset Transfers", - "title": "Asset Transfers", - "content": "An asset transfer is an asynchronous exchange of an asset or an amount to a recipient. A recipient is an existing Centrapay user or someone who can create an account to claim the asset transfer by verifying their phone number. After an asset transfer is completed the recipientAlias, lastSentTo and message fields are scrubbed to avoid storing PII. ", - "url": "/api/asset-transfers", - "relUrl": "/api/asset-transfers" - },"13": { - "doc": "Asset Transfers", - "title": "Contents", - "content": ". | Asset Transfer lifecycle | Create an Asset Transfer | Get an Asset Transfer | Get an Asset Transfer Summary | Resolve claimable assets EXPERIMENTAL | List Asset Transfers EXPERIMENTAL | . ", - "url": "/api/asset-transfers#contents", - "relUrl": "/api/asset-transfers#contents" - },"14": { - "doc": "Asset Transfers", - "title": "Asset Transfer lifecycle", - "content": "Asset Transfer goes through different lifecycle stages. | State | Description | . | created | Asset transfer successfully created | . | sent | Asset transfer notification (sms, email) was sent to a new user | . | expired | Asset transfer expired as new user didn’t create his account and claimed the asset. This is very short lived state | . | returned | Asset transfer expired and was returned to original owner | . | claimed | Asset transfer was successfully completed | . ", - "url": "/api/asset-transfers#asset-transfer-lifecycle", - "relUrl": "/api/asset-transfers#asset-transfer-lifecycle" - },"15": { - "doc": "Asset Transfers", - "title": "Create an Asset Transfer", - "content": "Transfer an asset to a recipient. Some assets can be transfered only in whole (eg giftcards or tokens) while others can be transfered only in part (eg money). Some assets can be transferred without supplying a recipient. A url field will be returned in these cases. The url will link to a page to claim the asset. POST /api/asset-transfers Whole asset transfer . curl -X POST https://service.centrapay.com/api/asset-transfers \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"assetId\": \"YGRo6TYYSxH3js7\", \"recipientAlias\": \"+642212312\" }' . Partial asset transfer . curl -X POST https://service.centrapay.com/api/asset-transfers \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"assetId\": \"sai2Pai7ohgongo\", \"value\": \"6000\", \"recipientAlias\": \"+642212312\" }' . Without Recipient . curl -X POST https://service.centrapay.com/api/asset-transfers \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"assetId\": \"sai2Pai7ohgongo\" }' . Required Fields . | Parameter | Type | Description | . | assetId | String | Id of a discrete asset to transfer or wallet to draw from. | . Optional Parameters . | Parameter | Type | Description | . | recipientAlias | String | Phone number, email or handle of receiver. | . | description | String | Shows up in transaction history against the transfer. 200 character limit. | . | message | String | A message which shows up in the SMS of the receiver. 100 character limit. | . | value | BigNumber | Amount to send. Required for money transfers. Units depend on the asset type. | . | senderName | String | Human readable name for the sender. 30 character limit. | . | suppressNotifications | Boolean | Suppress notifications from Centrapay (SMS/Email). | . Example response payload (With Recipient) . { \"id\": \"M7Kn2stAxNa6ri7h\", \"status\": \"created\", \"value\": \"1000\", \"assetId\": \"YGRo6TYYSxH3js7\", \"assetType\": \"epay.nzd.main\", \"description\": \"$60 Giftcard\", \"message\": \"Happy birthday\", \"senderName\": \"My Cafe\", \"recipientAccountId\": \"9EDxUT91TMsUjoqoQeBuLQ\", \"claimedByAccountId\": \"9EDxUT91TMsUjoqoQeBuLQ\", \"recipientAlias\": \"+64212312345\", \"createdAt\": \"2020-05-01T12:30:00.000Z\", \"updatedAt\": \"2020-05-02T01:03:37.222Z\", \"suppressNotifications\": false } . The above example has $10 left on a $60 dollar giftcard at the time of transfer. Example response payload (Without Recipient) . { \"id\": \"M7Kn2stAxNa6ri7h\", \"status\": \"created\", \"value\": \"1000\", \"assetId\": \"YGRo6TYYSxH3js7\", \"assetType\": \"centrapay.token.main\", \"description\": \"Centrapay Token\", \"message\": \"Happy birthday\", \"senderName\": \"CentraCafe\", \"createdAt\": \"2020-05-01T12:30:00.000Z\", \"updatedAt\": \"2020-05-02T01:03:37.222Z\", \"suppressNotifications\": false, \"url\": \"https://app.centrapay.com/transfer/M7Kn2stAxNa6ri7h\" } . Error Responses . | Status | Code | Description | . | 403 | INSUFFICIENT_WALLET_BALANCE | The value of the asset-transfer exceeds the balance on the wallet | . | 403 | QUOTA_EXCEEDED | The transfer exceeds one or more spend quota limits. See Quota Error Response. | . | 403 | ASSET_NOT_ACTIVE | The asset is not active and cannot be transferred. | . | 403 | RECIPIENT_MISSING | The asset must be transferred with a recipient supplied. | . ", - "url": "/api/asset-transfers#create-an-asset-transfer", - "relUrl": "/api/asset-transfers#create-an-asset-transfer" - },"16": { - "doc": "Asset Transfers", - "title": "Get an Asset Transfer", - "content": "GET /api/asset-transfers/{assetTransferId} . curl https://service.centrapay.com/api/asset-transfers/M7Kn2stAxNa6ri7h \\ -H \"X-Api-Key: $api_key\" . Example response payload (In-progress money transfer) . { \"id\": \"M7Kn2stAxNa6ri7h\", \"status\": \"sent\", \"value\": \"6000\", \"assetId\": \"sai2Pai7ohgongo\", \"assetType\": \"centrapay.nzd.main\", \"message\": \"Happy birthday\", \"senderName\": \"My Cafe\", \"lastSentTo\": \"+64212312345\", \"senderAccountId\": \"aBc932S9182qwCDqwer\", \"recipientAccountId\": \"oS3Xom2au3Ooy9aihai\", \"claimedByAccountId\": \"9EDxUT91TMsUjoqoQeBuLQ\", \"recipientAlias\": \"+64212312345\", \"createdAt\": \"2020-05-01T12:30:00.000Z\", \"updatedAt\": \"2020-05-02T01:03:37.222Z\", \"suppressNotifications\": false } . Example response payload (completed giftcard transfer) . { \"id\": \"M7Kn2stAxNa6ri7h\", \"status\": \"claimed\", \"value\": \"6000\", \"assetId\": \"YGRo6TYYSxH3js7\", \"assetType\": \"epay.nzd.main\", \"description\": \"$60 Giftcard\", \"message\": \"Happy birthday\", \"senderName\": \"My Cafe\", \"recipientAccountId\": \"9EDxUT91TMsUjoqoQeBuLQ\", \"claimedByAccountId\": \"9EDxUT91TMsUjoqoQeBuLQ\", \"recipientAlias\": \"+64******2345\", \"createdAt\": \"2020-05-01T12:30:00.000Z\", \"updatedAt\": \"2020-05-02T01:03:37.222Z\", \"suppressNotifications\": false } . ", - "url": "/api/asset-transfers#get-an-asset-transfer", - "relUrl": "/api/asset-transfers#get-an-asset-transfer" - },"17": { - "doc": "Asset Transfers", - "title": "Get an Asset Transfer Summary", - "content": "GET /api/asset-transfers/{assetTransferId}/summary . curl https://service.centrapay.com/api/asset-transfers/M7Kn2stAxNa6ri7h/summary . Example response payload . { \"id\": \"M7Kn2stAxNa6ri7h\", \"status\": \"created\", \"assetId\": \"YGRo6TYYSxH3js7\", \"message\": \"Happy birthday\", \"senderName\": \"My Cafe\", \"createdAt\": \"2020-05-01T12:30:00.000Z\" } . ", - "url": "/api/asset-transfers#get-an-asset-transfer-summary", - "relUrl": "/api/asset-transfers#get-an-asset-transfer-summary" - },"18": { - "doc": "Asset Transfers", - "title": "Resolve claimable assets EXPERIMENTAL", - "content": "When you send another centrapay user cash or assets, they’re automatically assigned to them. However, if they’re not signed up yet then these assets are not immediately assigned. If unclaimed, asset transfers are returned after 2 weeks. New accounts should call this endpoint to allocate assets that you’ve been sent. POST /api/me/resolve-claimable-assets . curl -X POST https://service.centrapay.com/api/me/resolve-claimable-assets \\ -H \"X-Api-Key: $api_key\" . Example response payload . { } . ", - "url": "/api/asset-transfers#resolve-claimable-assets-experimental", - "relUrl": "/api/asset-transfers#resolve-claimable-assets-experimental" - },"19": { - "doc": "Asset Transfers", - "title": "List Asset Transfers EXPERIMENTAL", - "content": "Returns a paginated list of Asset Transfers. GET /api/asset-transfers List asset transfers received . curl -G https://service.centrapay.com/api/asset-transfers \\ -H \"X-Api-Key: $api_key\" \\ -d recipientAccountId=oS3Xom2au3Ooy9aihai . List asset transfers sent . curl -G https://service.centrapay.com/api/asset-transfers \\ -H \"X-Api-Key: $api_key\" \\ -d senderAccountId=aBc932S9182qwCDqwer . Example response payload . { \"items\": [ { \"id\": \"M7Kn2stAxNa6ri7h\", \"status\": \"created\", \"value\": \"6000\", \"assetId\": \"YGRo6TYYSxH3js7\", \"description\": \"$60 Giftcard\", \"message\": \"Happy birthday\", \"senderName\": \"My Cafe\", \"senderAccountId\": \"aBc932S9182qwCDqwer\", \"recipientAccountId\": \"9EDxUT91TMsUjoqoQeBuLQ\", \"claimedByAccountId\": \"9EDxUT91TMsUjoqoQeBuLQ\", \"recipientAlias\": \"+64*****2345\", \"createdAt\": \"2020-05-01T12:30:00.000Z\", \"updatedAt\": \"2020-05-02T01:03:37.222Z\", \"suppressNotifications\": false } ] } . ", - "url": "/api/asset-transfers#list-asset-transfers-experimental", - "relUrl": "/api/asset-transfers#list-asset-transfers-experimental" - },"20": { - "doc": "Asset Types", - "title": "Supported Asset Types", - "content": "The following table describes the Asset Types supported for payments. The Category column refers to the Centrapay asset type representation if applicable. When blank, the Asset is not managed by a Centrapay Account. | Asset Type | Description | Category | Currencies | Flags | . | bitcoin.main | Bitcoin |   | NZD, AUD |   | . | cca.coke.main | Coke tokens | Token | NZD | 🚫 | . | cca.coke.test | Coke tokens | Token | NZD | 🅃 🚫 | . | centrapay.nzd.main | Centrapay NZD wallet | Money | NZD |   | . | centrapay.nzd.test | Centrapay NZD wallet | Money | NZD | 🅃 | . | centrapay.token.main | Centrapay tokens | Token | NZD |   | . | centrapay.token.test | Centrapay tokens | Token | NZD | 🅃 | . | epay.nzd.main | EPay NZ giftcards | Giftcard | NZD |   | . | epay.nzd.test | EPay NZ giftcards | Giftcard | NZD | 🅃 | . | farmlands.nzd.main | Farmlands | Money | NZD | 💸💼 | . | farmlands.nzd.test | Farmlands | Money | NZD | 🅃💸💼 | . | paypal.main | PayPal |   | USD | 💸 | . | paypal.test | PayPal |   | USD | 🅃 💸 | . | quartz.nzd.main | Quartz NZD asset |   | NZD |   | . | quartz.nzd.test | Quartz NZD asset |   | NZD | 🅃 | . | venmo.main | Venmo |   | USD | 💸 | . | venmo.test | Venmo |   | USD | 🅃 💸 | . | uplinkapi.test | Uplink API Test asset |   | NZD | 🅃 | . | stadius.main | Stadius |   | NZD, AUD, USD, CAD, EUR |   | . | stadius.test | Stadius |   | NZD, AUD, USD, CAD, EUR | 🅃 | . Flags . | 🅃 : Test Asset – Cannot be assigned to Merchants without the test flag. | 🚫 : Restricted Asset – Cannot be used to pay for “restricted” Line Items. | 💸 : Supports Quick Pay – Can be used to quick pay a Payment Request. | 💼 : Requires Tax Number – Tax Number must exist on the Merchant’s Business to transact this asset type. | . ", - "url": "/api/asset-types#supported-asset-types", - "relUrl": "/api/asset-types#supported-asset-types" - },"21": { - "doc": "Asset Types", - "title": "Asset Types", - "content": " ", - "url": "/api/asset-types", - "relUrl": "/api/asset-types" - },"22": { - "doc": "Assets", - "title": "Assets", - "content": "Centrapay digital assets are resources that represent the ability for a Centrapay account to perform transactions where value is exchanged. Assets can be spent to satisfy Payment Requests, withdrawn to a bank account via Funds Transfers and sent to other Centrapay users via Asset Transfers. Assets are categorized as either Money, Gift Cards or Tokens. Depending on its asset category, an asset will have different attributes available and different rules governing how it can be obtained, shared or spent. ", - "url": "/api/assets", - "relUrl": "/api/assets" - },"23": { - "doc": "Assets", - "title": "Contents", - "content": ". | Models . | Asset | Money | Gift Cards | Tokens (EXPERIMENTAL) | . | Operations . | Get Asset | Get Asset Summary | List Assets for Account | Listing Asset Transactions EXPERIMENTAL | Archive Asset | . | . ", - "url": "/api/assets#contents", - "relUrl": "/api/assets#contents" - },"24": { - "doc": "Assets", - "title": "Models", - "content": "Asset . All assets have the following fields along with the additional fields that are specific to its category. Assets which don’t have a category are considered EXPERIMENTAL and the model may change. Fields . | Field | Type | Description | . | id | String | The Asset’s unique identifier. | . | accountId | String | The Asset’s owning Centrapay Account id. | . | category | String Optional | Asset category (“money”, “giftcard”, “token”). | . | type | String | Asset Type id used by payment option asset types. | . | liveness | String | Either “main” (live payments allowed) or “test”. | . | description | String | Displayable asset description. | . | createdAt | Timestamp | Date when the asset was created or issued. | . | status | String | “active” if the asset can be used for payments. | . | meta | Object Optional | EXPERIMENTAL Additional data that may only appear in the Get Asset response. | . Money . Money assets, being backed by real currency, are the most flexible asset types. Money is accepted for most payment requests, can be sent in arbitrary amounts and does not expire. Money assets have the following fields along with the base asset fields. Fields . | Field | Type | Description | . | currency | String | Currency code, eg “NZD” | . | balance | BigNumber | Current balance in the currency’s smallest denomination (ie. cents). | . | availableBalance | BigNumber | The balance of the asset that is available for transfers or purchases. | . | settlement | Boolean Optional | EXPERIMENTAL The asset is configured for Settlements. | . Gift Cards . Gift cards are similar to money but have greater spending restrictions and are not always backed by real currency. Gift cards usually have an expiry date, are typically tied to a small number of merchants, and can only be sent in their entirety. Gift cards have the following fields along with the base asset fields. Fields . | Field | Type | Description | . | issuer | String | The identifier for the issuer of the gift card. | . | currency | String | Currency code, eg “NZD” | . | balance | BigNumber | Current balance in the currency’s smallest denomination (ie. cents). | . | availableBalance | BigNumber | The balance of the asset that is available for transfers or purchases. | . | initialBalance | BigNumber | The balance when the asset was created. | . | externalId | String Optional | The asset identifier from the issuing system. | . | expiresAt | Timestamp Optional | The date when the asset expires. | . | balanceUpdatedAt | Timestamp Optional | The date when the balance was last observed to be updated. | . | productCode | String Optional | EXPERIMENTAL The unique code which must match a merchant’s payment option for redemption. | . | img | String Optional | EXPERIMENTAL The img URL of the gift card. | . | brandName | String Optional | EXPERIMENTAL The name of the brand that the gift card belongs to. | . | brandImg | String Optional | EXPERIMENTAL The img URL of the brand that the gift card belongs to. | . | brandWebsite | String Optional | EXPERIMENTAL The URL of the brand that the gift card belongs to. | . | issuerWebsite | String Optional | EXPERIMENTAL The URL of the issuer of the gift card. | . Tokens (EXPERIMENTAL) . Tokens are assets which can only be spent in full. Every token is associated with a collection, which defines the branding and general rules for the tokens, such as active duration. Tokens have the following fields along with the base asset fields. Fields . | Field | Type | Description | . | collectionId | String | The token collection that will govern the branding and redemption rules for the token. | . | createdBy | CRN | The identity that created the activity. | . | value | Array Optional | The Monetary Amounts representing the token’s nominal value in its supported currencies. DEPRECATED | . | activeFrom | Timestamp Optional | The date when the asset becomes spendable. | . | expiresAt | Timestamp Optional | The date when the asset expires. | . | img | String Optional | The img URL of the token. | . | issuer | String Optional | The name of the Business that issued the token. | . | issuerWebsite | String Optional | The URL of the issuer of the token. | . | issuerImg | String Optional | The img URL of the issuer that the token belongs to. | . | externalId | String Optional | The asset identifier from the issuing system. | . ", - "url": "/api/assets#models", - "relUrl": "/api/assets#models" - },"25": { - "doc": "Assets", - "title": "Operations", - "content": "Get Asset . GET /api/assets/{assetId} . curl https://service.centrapay.com/api/assets/L75M3L56N2PtBSt8g7uXLU \\ -H \"X-Api-Key: $api_key\" . Example response payload . { \"id\": \"L75M3L56N2PtBSt8g7uXLU\", \"accountId\": \"Te2uDM7xhDLWGVJU3nzwnh\", \"category\": \"giftcard\", \"type\": \"epay.nzd.main\", \"issuer\": \"ezipay\", \"externalId\": \"23403283262\", \"description\": \"$60 Acme Giftcard\", \"productCode\": \"23403\", \"initialBalance\": \"6000\", \"balance\": \"6000\", \"availableBalance\": \"6000\", \"balanceUpdatedAt\": \"2021-01-01T00:00:00.000Z\", \"expiresAt\": \"2020-12-31T00:00:00.000Z\", \"createdAt\": \"2020-05-01T12:30:00.000Z\" } . Get Asset Summary . GET /api/assets/{assetId}/summary . curl https://service.centrapay.com/api/assets/L75M3L56N2PtBSt8g7uXLU/summary . Example response payload . { \"id\": \"L75M3L56N2PtBSt8g7uXLU\", \"issuer\": \"Centraperk Cafe\", \"description\": \"Free Coffee\", \"expiresAt\": \"2020-12-31T00:00:00.000Z\", \"img\": \"https://static.centrapay.com/assets/brands/centraperk/cafe-token.png\", \"liveness\": \"test\" } . List Assets for Account . Returns a paginated list of Assets for an account. This will not return archived assets. GET /api/accounts/{accountId}/assets List Assets for Account . curl https://service.centrapay.com/api/accounts/Te2uDM7xhDLWGVJU3nzwnh/assets \\ -H \"X-Api-Key: $api_key\" . List Assets for Account by externalId . curl -G https://service.centrapay.com/api/accounts/Te2uDM7xhDLWGVJU3nzwnh/assets \\ -H \"X-Api-Key: $api_key\" \\ -d externalId=QZnc7ehZGub1PHAUBjzVxo . Example response payload . { \"items\": [ { \"id\": \"L75M3L56N2PtBSt8g7uXLU\", \"accountId\": \"Te2uDM7xhDLWGVJU3nzwnh\", \"category\": \"giftcard\", \"type\": \"epay.nzd.main\", \"issuer\": \"ezipay\", \"externalId\": \"23403283262\", \"description\": \"$60 Acme Giftcard\", \"productCode\": \"23403\", \"initialBalance\": \"6000\", \"balance\": \"6000\", \"availableBalance\": \"6000\", \"balanceUpdatedAt\": \"2021-01-01T00:00:00.000Z\", \"expiresAt\": \"2020-12-31T00:00:00.000Z\", \"createdAt\": \"2020-05-01T12:30:00.000Z\" }, { \"id\": \"WRhAxxWpTKb5U7pXyxQjjY\", \"accountId\": \"Te2uDM7xhDLWGVJU3nzwnh\", \"category\": \"money\", \"type\": \"centrapay.nzd.main\", \"liveness\": \"main\", \"description\": \"NZD\", \"createdAt\": \"2021-01-01T00:00:00.000Z\", \"status\": \"active\", \"currency\": \"NZD\", \"balance\": \"2000\" }, { \"id\": \"Aj7rtHmd7rDeWoJgw9MPHe\", \"accountId\": \"Te2uDM7xhDLWGVJU3nzwnh\", \"type\": \"cca.coke.main\", \"description\": \"Coke™ Token\", \"category\": \"token\", \"value\": [ { \"currency\": \"NZD\", \"amount\": \"400\" } ], \"expiresAt\": \"2020-12-31T00:00:00.000Z\", \"createdAt\": \"2020-05-01T12:30:00.000Z\" } ] } . Listing Asset Transactions EXPERIMENTAL . Returns a paginated list of Asset Transactions. This endpoint is currently only supported for quartz asset types. GET /api/assets/{assetId}/transactions . curl https://service.centrapay.com/api/assets/WRhAxxWpTKb5U7pXyxQjjY/transactions \\ -H \"X-Api-Key: $api_key\" . Transaction Fields . | Field | Type | Description | . | ref | String | ID of the Centrapay resource that initiated this transaction. | . | refType | String | Name of the Centrapay resource that initiated this transaction. | . | type | String | Type of the Asset Transaction. Supported values are increment-balance, decrement-balance and transfer. | . | kind | String | Human readable value indicating the reason for this transaction. | . | srcAssetId | String Optional | ID of the source asset if applicable. | . | destAssetId | String Optional | ID of the destination asset if applicable. | . | srcParty | String Optional | Display value for party providing funds if applicable. See note below. | . | destParty | String Optional | Display value for party receiving funds if applicable. See note below. | . | otherParty | String Optional | Display value for party providing or receiving funds if applicable. See note below. | . | amount | String | Amount of transaction in cents. | . | activityType | String | Indicating whether the asset gained or lost value. Supported types are value-in and value-out. | . | activityNumber | String | Unique sequential Asset transaction number. | . Party Values . The “destParty” and “srcParty” are optionally provided only on transactions of type transfer. Values may include a merchant name, user handle, masked user email, masked user phone, or bank account. The “otherParty” is optionally provided only on transactions of type increment-balance and decrement-balance. Values may include bank account number. Example response payload . { \"items\": [ { \"ref\": \"adRGJqMyMhmGfnDXasRZ\", \"type\": \"transfer\", \"kind\": \"refund\", \"refType\": \"payment-request\", \"assetId\": \"WRhAxxWpTKb5U7pXyxQjjY\", \"srcParty\": \"Coffee Ltd\", \"destParty\": \"crn::user:5a3b1ba7-d01k-409f-ld0a-jd81k0ald\", \"createdAt\": \"2022-03-31T20:36:08.562Z\", \"createdBy\": \"crn::service:payments-api\", \"srcAssetId\": \"Jd9a89ZESjjCuUD9DJD9Al\", \"destAssetId\": \"WRhAxxWpTKb5U7pXyxQjjY\", \"amount\": \"2000\", \"activityType\": \"value-in\", \"activityNumber\": \"3\" }, { \"ref\": \"adRGJqMyMhmGfnDXasRZ\", \"type\": \"transfer\", \"kind\": \"payment\", \"refType\": \"payment-request\", \"assetId\": \"WRhAxxWpTKb5U7pXyxQjjY\", \"srcParty\": \"crn::user:5a3b1ba7-d01k-409f-ld0a-jd81k0ald\", \"destParty\": \"Coffee Ltd\", \"createdAt\": \"2022-03-31T20:35:54.717Z\", \"createdBy\": \"crn::service:payments-api\", \"srcAssetId\": \"WRhAxxWpTKb5U7pXyxQjjY\", \"destAssetId\": \"Jd9a89ZESjjCuUD9DJD9Al\", \"amount\": \"3000\", \"activityType\": \"value-out\", \"activityNumber\": \"2\" }, { \"ref\": \"H4SZKwMcU9VCmnGEqDA7Mn\", \"type\": \"increment-balance\", \"kind\": \"topup\", \"refType\": \"topup\", \"assetId\": \"WRhAxxWpTKb5U7pXyxQjjY\", \"createdAt\": \"2022-03-31T02:37:47.207Z\", \"createdBy\": \"crn::application:rhea\", \"destAssetId\": \"WRhAxxWpTKb5U7pXyxQjjY\", \"amount\": \"7600\", \"activityType\": \"value-in\", \"activityNumber\": \"1\" } ] } . Archive Asset . Archive supported asset types by asset id. Currently only gift cards may be archived. POST /api/assets/{assetId}/archive . curl -X POST https://service.centrapay.com/api/assets/L75M3L56N2PtBSt8g7uXLU/archive \\ -H \"X-Api-Key: $api_key\" . Example response payload . { \"id\": \"L75M3L56N2PtBSt8g7uXLU\", \"accountId\": \"Te2uDM7xhDLWGVJU3nzwnh\", \"category\": \"giftcard\", \"type\": \"epay.nzd.main\", \"issuer\": \"ezipay\", \"externalId\": \"23403283262\", \"description\": \"$60 Acme Giftcard\", \"initialBalance\": \"6000\", \"balance\": \"0\", \"balanceUpdatedAt\": \"2021-01-01T00:00:00.000Z\", \"expiresAt\": \"2020-12-31T00:00:00.000Z\", \"createdAt\": \"2020-05-01T12:30:00.000Z\", \"status\": \"archived\" } . Error Responses . | Status | Code | Description | . | 403 | UNSUPPORTED_ASSET_TYPE | Asset type can not be archived | . ", - "url": "/api/assets#operations", - "relUrl": "/api/assets#operations" - },"26": { - "doc": "Auth", - "title": "Auth", - "content": " ", - "url": "/api/auth", - "relUrl": "/api/auth" - },"27": { - "doc": "Auth", - "title": "Contents", - "content": ". | Authenticating API Calls | API Keys | User Access Tokens . | Claims | . | Roles and Permissions . | Account Flags | Permissions | . | . ", - "url": "/api/auth#contents", - "relUrl": "/api/auth#contents" - },"28": { - "doc": "Auth", - "title": "Authenticating API Calls", - "content": "API calls can be authenticated by either providing an API key in the “X-Api-Key” header or by providing a user access token in the “Authorization” header. Org Accounts accessed with a user access token require the “X-Centrapay-Account” header to be provided. The “X-Centrapay-Account” header specifies the unique identifier of the Centrapay Org Account. Authenticate with API key . curl https://service.centrapay.com/api/account-memberships \\ -H \"X-Api-Key: $api_key\" . Authenticate with user access token . curl https://service.centrapay.com/api/account-memberships \\ -H \"Authorization: $jwt\" . Authenticate org account with user access token . curl https://service.centrapay.com/api/accounts/Jaim1Cu1Q55uooxSens6yk/bank-accounts \\ -H \"Authorization: $jwt\" \\ -H \"X-Centrapay-Account: Jaim1Cu1Q55uooxSens6yk\" . ", - "url": "/api/auth#authenticating-api-calls", - "relUrl": "/api/auth#authenticating-api-calls" - },"29": { - "doc": "Auth", - "title": "API Keys", - "content": "API Keys provide enduring access to a single Centrapay account. The Centrapay test merchant API key is available to test creating payment requests: f32c5497297084e5354b47c40d5ccacb109ce483. ", - "url": "/api/auth#api-keys", - "relUrl": "/api/auth#api-keys" - },"30": { - "doc": "Auth", - "title": "User Access Tokens", - "content": "User access tokens provide time-limited access to all Centrapay accounts for which the user is a member. Access tokens are issued using OIDC code flow via the Centrapay OAuth authorization server and login page at auth.centrapay.com. After successfully negotiating the OIDC code flow your application will have access to three tokens: . | Id Token | JWT containing user attributes such as id, phone and email. | . | Access Token | JWT granting access to Centrapay APIs. Expires after 1 hour. | . | Refresh Token | Token for OIDC token exchange. Expires after 60 days or when revoked. | . A good starting point for learning more about OIDC is Okta’s OAuth OIDC Illustrated Guide. When initiating a login request, a valid redirect URI must be provided. To obtain a dedicated OAuth client id with your application’s redirect URI(s) whitelisted please contact Centrapay support. Your callback URI can be for a website (such as “https://yourapp.example.com/oidc-callback”) or mobile app (such as “com.example.yourapp://oidc-callback”). Your application can use any OIDC client to negotiate the authentication flow but it must support OIDC authorization code flow with PKCE. See the Example OIDC Consumer guide for a working example using the “oidc-client” JavaScript library. The Centrapay authorization server configuration can be interrogated via https://auth.centrapay.com/.well-known/openid-configuration. When handling the OIDC callback, browser based applications should slurp the callback parameters by performing a location.replace() so they are not available in the browser’s location bar or browsing history. If your application needs to talk directly to service.centrapay.com from a browser then it will also need to be whitelisted for cross-origin requests. Claims . The following table lists the claims which may be be included in a user id token. At minimum, the “sub” claim and one of “phone_number” or “email” will be present. | Name | Description | . | sub | Centrapay user id | . | email | email address | . | phone_number | phone number | . | given_name | given name(s) | . | family_name | surname | . | preferred_username | Centrapay user handle | . | phone_number_verified | phone number has been verified (can be used for account recovery) | . | email_verified | email has been verified (can be used for account recovery) | . ", - "url": "/api/auth#user-access-tokens", - "relUrl": "/api/auth#user-access-tokens" - },"31": { - "doc": "Auth", - "title": "Roles and Permissions", - "content": "Users and API keys are assigned a role for their associated Centrapay account(s). The permissions granted to the roles are shown in the table below. Most permissions apply only to resources owned by the associated account. Some permissions, such as payment-requests:pay, apply globally to all resources regardless of the account the resource belongs to. The global permissions are indicated below with a star (✸). Account Flags . Some permissions require an additional flag associated to their individual account or the targeted account that owns the resource (they may be the same account). For each permission, if there is a flag associated to it then at least one of them must be met. | Symbol | Description | . | 👤 | A trusted user flag on the individual account, obtained by verifying a NZ phone number. | . | 🧀 | An external-asset-issuer subscription on the targeted Account, obtained by contacting centrapay. | . | 🗄 | The targeted account must be of type org. | . | 🪙 | A collection-manager subscription on the targeted Account, obtained by contacting centrapay. | . Permissions . | Permission | Account Owner | Anon Consumer | Merchant Terminal | External Asset Provider | Cashier | . | accounts:create | ✅ |   |   |   |   | . | accounts:read | ✅ |   |   | ✅ | ✅ | . | accounts:update | ✅ |   |   |   |   | . | api-keys:create | ✅ |   |   |   |   | . | api-keys:list | ✅ |   |   |   |   | . | api-keys:update | ✅ |   |   |   |   | . | asset-transfers:claim | ✅ |   |   | ✅ |   | . | asset-transfers:create 👤 🧀 | ✅ |   |   | ✅ |   | . | asset-transfers:read | ✅ |   |   | ✅ |   | . | assets:read | ✅ |   |   | ✅ |   | . | assets:spend 👤 | ✅ |   |   |   |   | . | bank-account-approvals:create | ✅ |   |   |   |   | . | bank-account-requests:authorize | ✅ |   |   |   |   | . | bank-account-requests:create | ✅ |   |   |   |   | . | bank-accounts:create | ✅ |   |   |   |   | . | bank-accounts:read | ✅ |   |   |   |   | . | business:create | ✅ |   |   |   |   | . | business:update | ✅ |   |   |   |   | . | business:read | ✅ |   |   |   |   | . | collections:create 🪙 | ✅ |   |   |   |   | . | collections:read 🪙 | ✅ |   |   |   |   | . | external-assets:create 👤 🧀 | ✅ |   |   | ✅ |   | . | external-assets:update | ✅ |   |   | ✅ |   | . | integration-requests:configure |   |   |   |   |   | . | integration-requests:create 🗄 | ✅ |   |   |   |   | . | integration-requests:read 🗄 | ✅ |   |   |   |   | . | invitations:accept | ✅ ✸ |   |   |   |   | . | invitations:read | ✅ ✸ |   |   |   |   | . | media-uploads:create | ✅ |   |   |   |   | . | memberships:delete 🗄 | ✅ |   |   |   |   | . | memberships:update | ✅ |   |   |   |   | . | merchants:create 🗄 | ✅ |   |   |   |   | . | merchants:list 🗄 | ✅ |   |   |   | ✅ | . | merchants:read 🗄 | ✅ |   |   |   | ✅ | . | merchants:update 🗄 | ✅ |   |   |   |   | . | patron-codes:create | ✅ |   |   |   |   | . | patron-codes:read | ✅ |   | ✅ |   | ✅ | . | payment-activities:read | ✅ |   | ✅ |   | ✅ | . | payment-conditions:approve | ✅ |   | ✅ |   | ✅ | . | payment-requests:cancel 🗄 | ✅ |   | ✅ |   | ✅ | . | payment-requests:create 🗄 | ✅ |   | ✅ ✸ |   | ✅ | . | payment-requests:pay 🗄 | ✅ ✸ | ✅ ✸ | ✅ |   | ✅ ✸ | . | payment-requests:read | ✅ ✸ | ✅ ✸ | ✅ ✸ |   | ✅ ✸ | . | payment-requests:read-by-shortcode | ✅ |   | ✅ |   | ✅ | . | payment-requests:refund 🗄 | ✅ |   | ✅ |   | ✅ | . | payment-requests:void 🗄 | ✅ |   | ✅ |   | ✅ | . | payment-requests:release 🗄 | ✅ |   | ✅ |   | ✅ | . | payment-requests:confirm 🗄 | ✅ |   | ✅ |   | ✅ | . | quotas:read | ✅ |   |   |   |   | . | quotas:read | ✅ |   |   |   |   | . | redemption-conditions:create 🪙 | ✅ |   |   |   |   | . | scanned-code:decode | ✅ |   | ✅ |   | ✅ | . | tokens:create 🪙 | ✅ |   |   |   |   | . | topups:create 👤 | ✅ |   |   |   |   | . | topups:read | ✅ |   |   |   |   | . | wallets:create | ✅ |   |   |   |   | . | wallets:deposit | ✅ |   |   |   |   | . | wallets:read | ✅ |   |   |   |   | . | wallets:transfer 👤 | ✅ |   |   |   |   | . | wallets:withdraw | ✅ |   |   |   |   | . ", - "url": "/api/auth#roles-and-permissions", - "relUrl": "/api/auth#roles-and-permissions" - },"32": { - "doc": "Bank Account Approvals", - "title": "Bank Account Approvals", - "content": "A Bank Account Approval represents any added authorization on a Bank Account. This may be an approval from Centrapay or a consent from a Centrapay Account owner that allows access to a third-party system. See Bank Account Approval Types. ", - "url": "/api/bank-account-approvals", - "relUrl": "/api/bank-account-approvals" - },"33": { - "doc": "Bank Account Approvals", - "title": "Contents", - "content": ". | Models . | Bank Account Approval | Bank Account Approval Activity | Bank Account Approval Types | . | Operations . | Request Bank Account Approval EXPERIMENTAL | Get Bank Account Approval EXPERIMENTAL | Accept a Bank Account Approval EXPERIMENTAL | Decline a Bank Account Approval EXPERIMENTAL | List Bank Account Approvals EXPERIMENTAL | . | . ", - "url": "/api/bank-account-approvals#contents", - "relUrl": "/api/bank-account-approvals#contents" - },"34": { - "doc": "Bank Account Approvals", - "title": "Models", - "content": "Bank Account Approval . Fields . | Field | Type | Description | . | id | String | The Bank Account Approval’s unique identifier. | . | bankAccountId | String | The id of the associated Bank Account. | . | accountId | String | The id of the owning Centrapay Account. | . | type | String | The type of Bank Account Approval. See Bank Account Approval Types. | . | status | String | The current status of the Bank Account Approval. Supported values are created, pending, approved, declined and done. | . | createdAt | Timestamp | When the Bank Account Approval was created. | . | createdBy | CRN | The User or API Key that created the Bank Account Approval. | . | modifiedAt | Timestamp | When the Bank Account Approval was updated. | . | modifiedBy | CRN | The User or API Key that updated the Bank Account Approval. | . | approvalActivities | Array | An array of Bank Account Approval Activity associated with the Bank Account Approval. | . | mediaUploadId | String Optional | The id of the associated Media Upload. Required for type settlement. | . | refreshToken | String Optional | A long lived access token for access to a third-party system. Required for type account-consent and payment-consent. | . | consentId | String Optional | A unique identifier for an authorization in a third-party system. | . Bank Account Approval Activity . Fields . | Field | Type | Description | . | activityNumber | Number | Unique sequential Bank Account Approval Activity number. | . | approvalId | String | The id of the associated Bank Account Approval. | . | activityType | String | The type of the Bank Account Approval Activity. | . | createdAt | Timestamp | When the Bank Account Approval Activity was created. | . | createdBy | CRN | The User or API Key that created the Bank Account Approval Activity. | . Bank Account Approval Types . | Name | description | . | settlement | An approved Bank Account Approval of type settlement is required for the funds in a Settlement Wallet to be released. A Media Upload is uploaded by the user to provide evidence of ownership of the Bank Account to be approved. | . | account-consent | An approved Bank Account Approval of type account-consent provides an access token to read account details from a third-party. | . | payment-consent | An approved Bank Account Approval of type payment-consent provides an access token for creating payments with a third-party. | . ", - "url": "/api/bank-account-approvals#models", - "relUrl": "/api/bank-account-approvals#models" - },"35": { - "doc": "Bank Account Approvals", - "title": "Operations", - "content": "Request Bank Account Approval EXPERIMENTAL . POST /api/bank-account-approvals . curl -X POST https://service.centrapay.com/api/bank-account-approvals \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"mediaUploadId\": \"uooxSens6ykJaim1Cu1Q55\", \"bankAccountId\": \"WRhAxxWpTKb5U7pXyxQjjY\", \"type\": \"settlement\" }' . Required Fields . | Field | Type | Description | . | mediaUploadId | String | The id of the associated Media Upload. | . | bankAccountId | String | The id of the associated Bank Account. | . | type | String | The Bank Account Approval Type. A Bank Account Approval can only be requested for type settlement. | . Example response payload . { \"id\": \"DcTs3U38HdhfEqwF1GKoT3\", \"mediaUploadId\": \"uooxSens6ykJaim1Cu1Q55\", \"bankAccountId\": \"WRhAxxWpTKb5U7pXyxQjjY\", \"accountId\": \"Jaim1Cu1Q55uooxSens6yk\", \"type\": \"settlement\", \"status\": \"created\", \"createdAt\": \"2021-11-08T21:52:39.915Z\", \"createdBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"modifiedAt\": \"2021-11-08T21:52:39.915Z\", \"modifiedBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\" } . Error Responses . | Status | Code | Description | . | 403 | APPROVAL_ALREADY_IN_PROGRESS | There is already a Bank Account Approval in progress that is awaiting review from Centrapay. | . Get Bank Account Approval EXPERIMENTAL . GET /api/bank-account-approvals/{bankAccountApprovalId} . curl https://service.centrapay.com/api/bank-account-approvals/bbab9a768921019cb856 \\ -H \"X-Api-Key: $api_key\" . Example response payload . { \"id\": \"bbab9a768921019cb856\", \"bankAccountId\": \"WRhAxxWpTKb5U7pXyxQjjY\", \"accountId\": \"Jaim1Cu1Q55uooxSens6yk\", \"type\": \"account-consent\", \"status\": \"approved\", \"createdAt\": \"2021-11-08T21:52:39.915Z\", \"createdBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"modifiedAt\": \"2021-11-08T21:52:39.915Z\", \"modifiedBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"refreshToken\": \"y04Njk3LTRjNmZkYjBhMzRiZSIsIm5vbmNlIjoiOTg3MTJjMGNkZmFiNWZjNzMwM2MxMzNl\", \"consentId\": \"d24dbe-e2bc46ac-d924e38af112\" } . Accept a Bank Account Approval EXPERIMENTAL . POST /api/bank-account-approvals/{bankAccountApprovalId}/accept . curl -X POST https://service.centrapay.com/api/bank-account-approvals/DcTs3U38HdhfEqwF1GKoT3/accept \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"reason\": \"All details match\" }' . Optional Fields . | Field | Type | Description | . | reason | String | The reason for accepting the Bank Account Approval. | . Example response payload . { } . Error Responses . | Status | Code | Description | . | 403 | APPROVAL_ALREADY_REVIEWED | The Bank Account Approval has already been accepted or declined. | . Decline a Bank Account Approval EXPERIMENTAL . POST /api/bank-account-approvals/{bankAccountApprovalId}/decline . curl -X POST https://service.centrapay.com/api/bank-account-approvals/DcTs3U38HdhfEqwF1GKoT3/decline \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"reason\": \"All details match\" }' . Required Fields . | Field | Type | Description | . | reason | String | The reason for declining the Bank Account Approval. | . Example response payload . { } . Error Responses . | Status | Code | Description | . | 403 | APPROVAL_ALREADY_REVIEWED | The Bank Account Approval has already been accepted or declined. | . List Bank Account Approvals EXPERIMENTAL . GET /api/bank-accounts/{bankAccountId}/approvals . curl https://service.centrapay.com/api/bank-accounts/5vpkxjn6z787LiAKCqwuf9/approvals \\ -H \"X-Api-Key: $api_key\" . Example response payload . { \"items\": [ { \"id\": \"PJ6jTgDNv1xfFAooCoWZLe\", \"bankAccountId\": \"5vpkxjn6z787LiAKCqwuf9\", \"createdAt\": \"2022-08-21T21:41:46.361Z\", \"modifiedAt\": \"2022-08-21T21:41:46.361Z\", \"accountId\": \"TEZiZWAtX6v1hJucU4fGKx\", \"createdBy\": \"crn::user:7c0a034a-c36e-4645-b12b-57dec339ab47\", \"modifiedBy\": \"crn::user:7c0a034a-c36e-4645-b12b-57dec339ab47\", \"type\": \"account-consent\", \"status\": \"approved\", \"refreshToken\": \"tXC4dFm3yNAQbLrm4JxY6pynGoEG8vSJ\", \"consentId\": \"fFAoo-CoWZLea8-4dFm3yNAoWZLe\" }, { \"id\": \"WiFna4hCc7k4KYUxncFPg4\", \"bankAccountId\": \"5vpkxjn6z787LiAKCqwuf9\", \"createdAt\": \"2022-08-11T20:53:57.337Z\", \"modifiedAt\": \"2022-08-11T20:53:57.337Z\", \"accountId\": \"TEZiZWAtX6v1hJucU4fGKx\", \"createdBy\": \"crn::user:7c0a034a-c36e-4645-b12b-57dec339ab47\", \"modifiedBy\": \"crn::user:7c0a034a-c36e-4645-b12b-57dec339ab47\", \"type\": \"payment-consent\", \"status\": \"approved\", \"refreshToken\": \"dAGLl8AfnNCGEKEmBm1FryaDyW1JBh28\", \"consentId\": \"4KYUx-ncFPg4a8-Ll8AfnNCcFPg4\" }, { \"id\": \"SoQkkv4rWRwrknrdkYbBuB\", \"bankAccountId\": \"5vpkxjn6z787LiAKCqwuf9\", \"createdAt\": \"2022-08-21T21:41:22.345Z\", \"modifiedAt\": \"2022-08-21T21:41:22.345Z\", \"accountId\": \"TEZiZWAtX6v1hJucU4fGKx\", \"createdBy\": \"crn::user:7c0a034a-c36e-4645-b12b-57dec339ab47\", \"modifiedBy\": \"crn::user:7c0a034a-c36e-4645-b12b-57dec339ab47\", \"type\": \"account-consent\", \"status\": \"declined\", \"refreshToken\": \"rX3MNTxFwKIU2lhyZOrq87Aw74ASSHUM\", \"consentId\": \"rknrd-kYbBuBa8-MNTxFwKIYbBuB\" } ] } . ", - "url": "/api/bank-account-approvals#operations", - "relUrl": "/api/bank-account-approvals#operations" - },"36": { - "doc": "Bank Account Connection Intents", - "title": "Bank Account Connection Intents", - "content": "A Bank Account Connection Intent facilitates user authorization of access to Bank Accounts, for example, using Open Banking flows. Typically the authorization will follow an OAuth flow where the user is redirected to a third-party system to authenticate and select one or more bank accounts. ", - "url": "/api/bank-account-connection-intents", - "relUrl": "/api/bank-account-connection-intents" - },"37": { - "doc": "Bank Account Connection Intents", - "title": "Contents", - "content": ". | Models . | Bank Account Connection Intent | Bank Account Connection Intent Types | . | Operations . | Create Bank Account Connection Intent EXPERIMENTAL | Authorize Bank Account Connection Intent EXPERIMENTAL | . | . ", - "url": "/api/bank-account-connection-intents#contents", - "relUrl": "/api/bank-account-connection-intents#contents" - },"38": { - "doc": "Bank Account Connection Intents", - "title": "Models", - "content": "Bank Account Connection Intent . Fields . | Field | Type | Description | . | id | String | The Bank Account Connection Intent’s unique identifier. | . | accountId | String | The id of the owning Centrapay Account. | . | type | String | The type of Bank Account Connection Intent. See Bank Account Connection Intent Types. | . | status | String | The current status of the Bank Account Connection Intent. Supported values are created, authorized and failed. | . | createdAt | Timestamp | When the Bank Account Connection Intent was created. | . | createdBy | CRN | The User or API Key that created the Bank Account Connection Intent. | . | updatedAt | Timestamp | When the Bank Account Connection Intent was updated. | . | updatedBy | CRN | The User or API Key that updated the Bank Account Connection Intent. | . | authorizationUrl | String | A URL to the third-party beginning the authorization flow. | . | test | Boolean Optional | A flag which is present if the intention is to connect with a Bank Account used for testing. | . Bank Account Connection Intent Types . | Name | description | . | quartz-accounts | Initiates an authorization flow for authorizing access to bank account details. After a Bank Account Connection Intent has been authorized, one or more Centrapay Bank Account resources may be created. | . | quartz-payment | Initiates an authorization flow for authorizing access to create payments. | . ", - "url": "/api/bank-account-connection-intents#models", - "relUrl": "/api/bank-account-connection-intents#models" - },"39": { - "doc": "Bank Account Connection Intents", - "title": "Operations", - "content": "Create Bank Account Connection Intent EXPERIMENTAL . POST /api/bank-account-connection-intents . curl -X POST https://service.centrapay.com/api/bank-account-connection-intents \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"accountId\": \"uooxSens6ykJaim1Cu1Q55\", \"type\": \"quartz-accounts\", \"test\": true }' . Fields . | Field | Type | Description | . | accountId | String | The id of the owning Account. | . | type | String | The type of Bank Account Connection Intent. | . | bankAccountId | String Optional | The id of the associated Bank Account. Required if type is quartz-payment. | . | test | Boolean Optional | A flag which is present if the intention is to connect with a Bank Account used for testing. | . Example response payload . { \"id\": \"3KVjuKW2CZCJeJVqPxwkX7\", \"accountId\": \"B4u4WZCu3joZFVWT3XjWW3\", \"type\": \"quartz-accounts\", \"status\": \"created\", \"createdAt\": \"2022-03-31 02:56:29 UTC\", \"createdBy\": \"crn:B4u4WZCu3joZFVWT3XjWW3:api-key:MyApiKey\", \"updatedAt\": \"2022-03-31 02:56:29 UTC\", \"updatedBy\": \"crn:B4u4WZCu3joZFVWT3XjWW3:api-key:MyApiKey\", \"authorizationUrl\": \"https://example.com/authorization-url\", \"test\": true } . Error Responses . | Status | Code | Description | . | 403 | LIVENESS_MISMATCH | Only Bank Account Connection Intents with the test flag can be associated with test Bank Accounts, and vice versa. | . Authorize Bank Account Connection Intent EXPERIMENTAL . POST /api/bank-account-connection-intents/{bankAccountConnectionIntentId}/authorize . curl -X POST https://service.centrapay.com/api/bank-account-connection-intents/3KVjuKW2CZCJeJVqPxwkX7/authorize \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"code\": \"hKpKupTM391pE10xfQiorMxXarRKAHRhTfH_x\" }' . Fields . | Field | Type | Description | . | code | String | Authorization code returned from third-party. | . Example response payload . { } . ", - "url": "/api/bank-account-connection-intents#operations", - "relUrl": "/api/bank-account-connection-intents#operations" - },"40": { - "doc": "Bank Accounts", - "title": "Bank Accounts", - "content": "Bank Accounts are used to get money in and out of a Centrapay Account. Money is moved by creating “Top Up” or “Withdrawal” Funds Transfers. Bank Accounts must be “direct debit authorized” before they can be used for a Top Up and they must be “verified” before top up funds are released. Bank Accounts do not require “direct debit authorization” or “verification” in order to perform a Withdrawal. A 4-digit code from any recent Centrapay-initiated bank transaction can be used to verify a bank account. ", - "url": "/api/bank-accounts", - "relUrl": "/api/bank-accounts" - },"41": { - "doc": "Bank Accounts", - "title": "Contents", - "content": ". | Models . | Bank Account | Bank Account Approval Type Summary EXPERIMENTAL | Bank Account Type EXPERIMENTAL | Bank Account Balance EXPERIMENTAL | . | Operations . | Creating a Bank Account | Adding a direct debit authority to a Bank Account | Get information about a Bank Account | Get Bank Account Balance EXPERIMENTAL | Verify a Bank Account | Verify a Bank Authority DEPRECATED | List Bank Accounts | List Bank Authorities DEPRECATED | Creating a Bank Authority DEPRECATED | Get information about a Bank Authority DEPRECATED | . | . ", - "url": "/api/bank-accounts#contents", - "relUrl": "/api/bank-accounts#contents" - },"42": { - "doc": "Bank Accounts", - "title": "Models", - "content": "Bank Account . Mandatory Fields . | Field | Type | Description | . | id | String | The Bank Account’s unique identifier. | . | bankAccountNumber | String | The user’s Bank Account number. | . | bankAccountName | String | The name on the Bank Account provided by the user. | . | accountId | String | The id of the owning Centrapay Account. | . | status | String | The current status of the Bank Account. | . | verified | Boolean | Flag indicating the Bank Account is verified, allowing it to be used to Top Up. | . | type | String | The Bank Account Type of the bank, defaults to centrapay. | . | directDebitAuthorized | Boolean | Flag indicating the user accepts our Direct Debit terms and has authority to operate this account. | . | approvals | Array | A list of Bank Account Approval Type Summaries. | . | createdAt | Timestamp | When the Bank Account was created. | . | createdBy | CRN | The User or API Key that created the Bank Account. | . | modifiedAt | Timestamp | When the Bank Account was updated. | . | modifiedBy | CRN | The User or API Key that updated the Bank Account. | . Optional Fields . | Field | Type | Description | . | phoneNumber | String | The user’s phone number. | . | fullName | String | The first and last name of the user. | . | emailAddress | String | The user’s email address. | . | test | Boolean | A flag which is present if the Bank Account is for testing. | . Bank Account Approval Type Summary EXPERIMENTAL . A summary of the Bank Account Approvals for a Bank Account. There is one object per type of Bank Account Approval, which provides a summary of the approval status. Fields . | Name | Type | Description | . | type | String | The type of Bank Account Approval Summary. | . | status | String | The summarized status of the Bank Account Approvals. Supported values are pending, approved and declined. | . | updatedAt | Timestamp | When the Bank Account Approval Summary was updated. | . Bank Account Type EXPERIMENTAL . Types of bank accounts to allow access to different Asset Types. | Type | Description | . | centrapay | Allows topup and withdrawal of the centrapay.nzd asset type. | . | quartz | Allows usage of the quartz.nzd asset type. | . Bank Account Balance EXPERIMENTAL . The Bank Account balance, retrieved using Open Banking flows. The supported Bank Account type is quartz. | Name | Type | Description | . | bankAccountId | String | The unique identifier of the Centrapay Bank Account. | . | balance | BigNumber | The Open Banking Bank Account balance. | . | currency | String | Currency code (eg. “NZD”). | . ", - "url": "/api/bank-accounts#models", - "relUrl": "/api/bank-accounts#models" - },"43": { - "doc": "Bank Accounts", - "title": "Operations", - "content": ". Creating a Bank Account . A Bank Account can be created with or without direct debit authorized. By including directDebitAuthority, the user accepts our Direct Debit terms and has authority to operate this account. POST /api/bank-accounts Create without direct debit authorized . curl -X POST https://service.centrapay.com/api/bank-accounts \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"accountId\": \"Jaim1Cu1Q55uooxSens6yk\", \"bankAccountNumber\": \"12-1234-1234567-123\", \"bankAccountName\": \"John Doe\" }' . Create with direct debit authorized . curl -X POST https://service.centrapay.com/api/bank-accounts \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"accountId\": \"Jaim1Cu1Q55uooxSens6yk\", \"bankAccountNumber\": \"12-1234-1234567-123\", \"bankAccountName\": \"John Doe\", \"directDebitAuthority\": { \"phoneNumber\": \"+64212345678\", \"fullName\": \"John Doe\", \"emailAddress\": \"john.doe@gmail.com\" } }' . Required Fields . | Field | Type | Description | . | accountId | String | The id of the owning Centrapay Account. | . | bankAccountNumber | String | The user’s Bank Account number. | . | bankAccountName | String | The name on the Bank Account provided by the user. | . Optional Fields . Note, fields which have a star (✩) create a direct-debit authority and are required for Top Up. All fields below when specified are required together. | Field | Type | Description | . | phoneNumber | String | ✩ The user’s phone number. | . | fullName | String | ✩ The first and last name of the user. | . | emailAddress | String | ✩ The user’s email address. | . | type | String | The Bank Account Type to be created. | . | test | Boolean | A flag which is present if the Bank Account is for testing. | . Example response payload . { \"id\": \"WRhAxxWpTKb5U7pXyxQjjY\", \"accountId\": \"Jaim1Cu1Q55uooxSens6yk\", \"bankAccountNumber\": \"12-1234-1234567-123\", \"bankAccountName\": \"John Doe\", \"directDebitAuthorized\": true, \"status\": \"created\", \"verified\": false, \"type\": \"centrapay\", \"createdAt\": \"2020-06-12T01:17:46.499Z\", \"createdBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"modifiedAt\": \"2020-06-12T01:17:46.499Z\", \"modifiedBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"approvals\": [ ] } . Error Responses . | Status | Code | Description | . | 403 | BANK_ACCOUNT_LIMIT_EXCEEDED | The Centrapay account already has the max amount of directDebitAuthorized enabled Bank Accounts. | . | 403 | BANK_ACCOUNT_HOLDER_LIMIT_EXCEEDED | The global maximum Bank Accounts for the provided Bank Account number has been reached. | . | 403 | DUPLICATE_BANK_ACCOUNT | The Centrapay account already holds this Bank Account. | . Adding a direct debit authority to a Bank Account . By using this endpoint, the user accepts our Direct Debit terms and has authority to operate this account. POST /api/bank-accounts/{bankAccountId}/direct-debit-authorities . curl -X POST https://service.centrapay.com/api/bank-accounts/WRhAxxWpTKb5U7pXyxQjjY/direct-debit-authorities \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"phoneNumber\": \"+64212345678\", \"fullName\": \"John Doe\", \"emailAddress\": \"john@doe.org\" }' . Example response payload . { \"id\": \"WRhAxxWpTKb5U7pXyxQjjY\", \"accountId\": \"Jaim1Cu1Q55uooxSens6yk\", \"bankAccountNumber\": \"12-1234-1234567-123\", \"bankAccountName\": \"John Doe\", \"directDebitAuthorized\": true, \"status\": \"created\", \"verified\": false, \"type\": \"centrapay\", \"createdAt\": \"2020-06-12T01:17:46.499Z\", \"createdBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"modifiedAt\": \"2020-06-12T01:17:46.499Z\", \"modifiedBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"approvals\": [ ] } . Required Fields . Note, fields which have a star (✩) are required for Top Up. All fields below when specified are required together. | Field | Type | Description | . | phoneNumber | String | ✩ The user’s phone number. | . | fullName | String | ✩ The first and last name of the user. | . | emailAddress | String | ✩ The user’s email address. | . Error Responses . | Status | Code | Description | . | 403 | DIRECT_DEBIT_ALREADY_AUTHORIZED | This bank authority cannot be changed as all fields have been set. | . | 403 | DIRECT_DEBIT_LIMIT_EXCEEDED | The Centrapay account already has the max amount of directDebitAuthorized enabled Bank Accounts. | . Get information about a Bank Account . GET /api/bank-accounts/{bankAccountId} . curl https://service.centrapay.com/api/bank-accounts/d4a7cbd6818a87c51b97 \\ -H \"X-Api-Key: $api_key\" . Example response payload . { \"id\": \"d4a7cbd6818a87c51b97\", \"accountId\": \"Jaim1Cu1Q55uooxSens6yk\", \"status\": \"created\", \"bankAccountNumber\": \"12-1234-1234567-123\", \"bankAccountName\": \"John Doe\", \"directDebitAuthorized\": false, \"bankRegion\": \"nz\", \"createdBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"createdAt\": \"2022-07-18T02:26:39.477Z\", \"verified\": false, \"modifiedBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"modifiedAt\": \"2022-07-18T02:26:39.477Z\", \"approvals\": [ { \"type\": \"account-consent\", \"status\": \"approved\", \"updatedAt\": \"2021-11-08T21:52:39.915Z\" } ], \"type\": \"quartz\", \"test\": true } . Get Bank Account Balance EXPERIMENTAL . GET /api/bank-accounts/{bankAccountId}/balance . curl https://service.centrapay.com/api/bank-accounts/d4a7cbd6818a87c51b97/balance \\ -H \"X-Api-Key: $api_key\" . Example response payload . { \"bankAccountId\": \"d4a7cbd6818a87c51b97\", \"balance\": 1000, \"currency\": \"NZD\" } . Error Responses . | Status | Code | Description | . | 403 | BANK_BALANCE_NOT_SUPPORTED | The Bank Account Type does not support retrieval of a balance using Open Banking flows. | . | 403 | BANK_AUTHORIZATION_INVALID | The access token to retrieve the Bank Account Balance is no longer valid. | . Verify a Bank Account . Verification codes show up on statements when a user makes withdrawals and deposits. To verify an account, you need to direct the user to make a Top Up or Withdrawal and then check their statement. POST /api/bank-accounts/{bankAccountId}/verify . curl -X POST https://service.centrapay.com/api/bank-accounts/WRhAxxWpTKb5U7pXyxQjjY/verify \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"verificationCode\": \"1111\" }' . Required Fields . | Field | Type | Description | . | verificationCode | String | The code on the user’s bank statement. | . Example response payload . { \"verificationCode\": \"1111\" } . Error Responses . | Status | Code | Description | . | 403 | BANK_ACCOUNT_ALREADY_VERIFIED | The bank account is already verified. | . | 403 | VERIFICATION_CODE_INVALID | The verification code is incorrect. | . | 403 | BANK_ACCOUNT_VERIFICATION_ATTEMPTS_EXCEEDED | The bank account’s maximum failed verification attempts has been reached. | . | 403 | ACCOUNT_MISMATCH | The top up / withdrawal and the bank account do not belong to the same account. | . Verify a Bank Authority DEPRECATED . If you’re creating new interfaces, please work with our verify endpoint for Bank Accounts. POST /api/bank-authorities/{bankAccountId}/verify . curl -X POST https://service.centrapay.com/api/bank-authorities/WRhAxxWpTKb5U7pXyxQjjY/verify \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"verificationCode\": \"1111\" }' . Required Fields . | Field | Type | Description | . | verificationCode | String | The code on the user’s bank statement | . Example response payload . { \"verificationCode\": \"1111\" } . Example response payload . { \"id\": \"WRhAxxWpTKb5U7pXyxQjjY\", \"accountId\": \"Jaim1Cu1Q55uooxSens6yk\", \"bankAccountNumber\": \"12-1234-1234567-123\", \"bankAccountName\": \"John Doe\", \"status\": \"created\", \"directDebitAuthorized\": true, \"verified\": false, \"createdAt\": \"2020-06-12T01:17:46.499Z\", \"createdBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"modifiedAt\": \"2020-06-12T01:17:46.499Z\", \"modifiedBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"approvals\": [ ] } . List Bank Accounts . GET /api/accounts/{accountId}/bank-accounts . curl https://service.centrapay.com/api/accounts/Jaim1Cu1Q55uooxSens6yk/bank-accounts \\ -H \"X-Api-Key: $api_key\" . Example response payload . [ { \"id\": \"XZbPLViMzekVBbF7QMqgaY\", \"accountId\": \"Jaim1Cu1Q55uooxSens6yk\", \"status\": \"created\", \"bankAccountNumber\": \"02-0500-0568903-097\", \"bankAccountName\": \"Pocket Money\", \"directDebitAuthorized\": false, \"bankRegion\": \"nz\", \"createdBy\": \"crn::user:57142ecc-e5e4-456a-8312-1fad4fdef3c7\", \"createdAt\": \"2022-04-19T05:43:40.425Z\", \"verified\": false, \"modifiedBy\": \"crn::user:57142ecc-e5e4-456a-8312-1fad4fdef3c7\", \"modifiedAt\": \"2022-04-19T05:43:40.425Z\", \"approvals\": [ ], \"type\": \"quartz\", \"test\": true }, { \"id\": \"3Kfdm8cuW1W6f8AoWJREs4\", \"accountId\": \"Jaim1Cu1Q55uooxSens6yk\", \"status\": \"created\", \"bankAccountNumber\": \"00-1213-1231299-999\", \"bankAccountName\": \"Jean\", \"directDebitAuthorized\": false, \"bankRegion\": \"nz\", \"createdBy\": \"crn::user:57142ecc-e5e4-456a-8312-1fad4fdef3c7\", \"createdAt\": \"2022-02-22T03:27:57.138Z\", \"verified\": false, \"modifiedBy\": \"crn::user:57142ecc-e5e4-456a-8312-1fad4fdef3c7\", \"modifiedAt\": \"2022-02-22T03:27:57.138Z\", \"approvals\": [ { \"type\": \"settlement\", \"status\": \"pending\", \"updatedAt\": \"2021-11-08T21:52:39.915Z\" } ], \"type\": \"centrapay\" } ] . List Bank Authorities DEPRECATED . If you’re creating new interfaces, please work with our list endpoint for Bank Accounts. GET /api/bank-authorities . curl https://service.centrapay.com/api/bank-authorities \\ -H \"X-Api-Key: $api_key\" . Example response payload . [ { \"id\": \"WRhAxxWpTKb5U7pXyxQjjY\", \"accountId\": \"Jaim1Cu1Q55uooxSens6yk\", \"bankAccountNumber\": \"12-1234-1234567-123\", \"bankAccountName\": \"John Doe\", \"status\": \"created\", \"verified\": false, \"directDebitAuthorized\": true, \"createdAt\": \"2020-06-12T01:17:46.499Z\", \"approvals\": [ ] }, { \"id\": \"b5URhAxxWpTKyxQjjY7pXW\", \"accountId\": \"Jaim1Cu1Q55uooxSens6yk\", \"bankAccountNumber\": \"12-1234-1234567-123\", \"bankAccountName\": \"Jane Doe\", \"status\": \"active\", \"verified\": true, \"directDebitAuthorized\": true, \"createdAt\": \"2020-06-12T01:17:46.499Z\", \"approvals\": [ { \"type\": \"settlement\", \"status\": \"pending\", \"updatedAt\": \"2021-11-08T21:52:39.915Z\" } ] } ] . Creating a Bank Authority DEPRECATED . If you’re creating new interfaces, please work with our create endpoint for Bank Accounts. Creating a Bank Authority both creates a new Bank Account and a direct debit authority. By using this endpoint, the user accepts our Direct Debit terms and has authority to operate this account. POST /api/bank-authorities . curl -X POST https://service.centrapay.com/api/bank-authorities \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"fullName\": \"John Doe\", \"accountId\": \"Jaim1Cu1Q55uooxSens6yk\", \"phoneNumber\": \"+64212345\", \"directDebitAuthorized\": true, \"emailAddress\": \"John.doe@email.com\", \"bankAccountNumber\": \"12-1234-1234567-123\", \"bankAccountName\": \"John Doe\" }' . Required Fields . | Field | Type | Description | . | accountId | String | The id of the owning Centrapay Account. | . | fullName | String | The first and last name of the user | . | phoneNumber | String | The user’s phone number | . | emailAddress | String | The user’s email address | . | bankAccountNumber | String | The user’s bank account number | . | bankAccountName | String | The name on the bank account provided by the user | . Example response payload . { \"id\": \"WRhAxxWpTKb5U7pXyxQjjY\", \"accountId\": \"Jaim1Cu1Q55uooxSens6yk\", \"bankAccountNumber\": \"12-1234-1234567-123\", \"bankAccountName\": \"John Doe\", \"status\": \"created\", \"verified\": false, \"directDebitAuthorized\": true, \"createdAt\": \"2020-06-12T01:17:46.499Z\", \"createdBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"modifiedAt\": \"2020-06-12T01:17:46.499Z\", \"modifiedBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"approvals\": [ ] } . Error Responses . | Status | Code | Description | . | 403 | BANK_AUTHORITY_LIMIT_EXCEEDED | The account already has the max amount of bank accounts. | . | 403 | BANK_AUTHORITIES_FOR_BANK_ACCOUNT_EXCEEDED | There are already two bank accounts for the provided bank account number, which is the maximum allowed. | . Get information about a Bank Authority DEPRECATED . If you’re creating new interfaces, please work with our get endpoint for Bank Accounts. GET /api/bank-authorities/{bankAccountId} . curl https://service.centrapay.com/api/bank-authorities/WRhAxxWpTKb5U7pXyxQjjY \\ -H \"X-Api-Key: $api_key\" . Example response payload . { \"id\": \"WRhAxxWpTKb5U7pXyxQjjY\", \"accountId\": \"Jaim1Cu1Q55uooxSens6yk\", \"bankAccountNumber\": \"12-1234-1234567-123\", \"bankAccountName\": \"John Doe\", \"status\": \"created\", \"directDebitAuthorized\": true, \"verified\": false, \"createdAt\": \"2020-06-12T01:17:46.499Z\", \"createdBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"modifiedAt\": \"2020-06-12T01:17:46.499Z\", \"modifiedBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"approvals\": [ ] } . ", - "url": "/api/bank-accounts#operations", - "relUrl": "/api/bank-accounts#operations" - },"44": { - "doc": "Batches", - "title": "Batches", - "content": "Batches enable bulk loading of resource onto the Centrapay platform. ", - "url": "/api/batches", - "relUrl": "/api/batches" - },"45": { - "doc": "Batches", - "title": "Contents", - "content": ". | Models . | Batch | Batch Lifecycle | Batch Types | Error | . | Operations . | Create Batch EXPERIMENTAL | Get Batch EXPERIMENTAL | . | . ", - "url": "/api/batches#contents", - "relUrl": "/api/batches#contents" - },"46": { - "doc": "Batches", - "title": "Models", - "content": ". Batch . The batch model represents the progression for loading of a file. Fields . | Field | Type | Description | . | id | String | The Batch’s unique identifier. | . | status | String | The current Lifecycle Stage of the batch. | . | type | String | Batch Type id used to describe the batch content. | . | totalCount | BigNumber | The number of items processed. | . | errorCount | BigNumber | Total Error counted. | . | errors | Array | Error list for the batch. | . | test | Boolean Optional | true if the batch is for testing purposes only. | . Batch Lifecycle . Different stages of a Batch’s lifecycle. | Status | Description | . | created | The batch has successfully been submitted. | . | copied | The file has been transferred to Centrapay. | . | chunked | The batch has been broken up for processing. | . | complete | The batch has been processed and may include errors. | . | error | There is an error accessing or reading the file, preventing processing. | . Batch Types . The following table describes the Batch Types supported for loading. | Type | Description | . | farmlands-external-asset | Farmlands External Asset Batch. | . | verifone-terminal-status | Verifone Terminal Status Batch. | . Error . An Error represents the complete or partial failure of the batch. This could be caused by the contents, access or file format. Fields . | Field | Type | Description | . | message | String | A description of what caused the Error. | . | externalId | String Optional | Field used in debugging in reference to an id from the file. | . | index | BigNumber Optional | Item offset where the Error was identified in the file. | . ", - "url": "/api/batches#models", - "relUrl": "/api/batches#models" - },"47": { - "doc": "Batches", - "title": "Operations", - "content": "Create Batch EXPERIMENTAL . Initialize loading of entities from a batch file. POST /api/batches . curl -X POST https://service.centrapay.com/api/batches \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"type\": \"farmlands-external-asset\", \"url\": \"https://azurebuckets.com/1234\", \"accountId\": \"C4QnjXvj8At6SMsEN4LRi9\", \"test\": true }' . Fields . | Field | Type | Description | . | type | String | Batch Type used to describe the batch content. | . | url | String | The url where the file is located. | . | accountId | String | Centrapay Account Id that submitted the Batch. | . | test | Boolean Optional | true if the batch is for testing purposes only. | . Example Response Payload . { \"id\": \"AVH5uG4gRLYK6YR8JyrViN\", \"accountId\": \"1mdj7bj95gjo92r0ux6wfy69gj3h77\", \"status\": \"created\", \"type\": \"farmlands-external-asset\", \"url\": \"https://azurebuckets.com/1234\", \"test\": true, \"count\": \"0\", \"errorCount\": \"0\", \"errors\": [ ] } . Error Responses . | Status | Code | Description | . | 403 | LIVENESS_MISSMATCH | accountId “test” flag is not the same as submitted Batch’s “test” flag. | . Get Batch EXPERIMENTAL . GET /api/batches/{id} . curl https://service.centrapay.com/api/batches/AVH5uG4gRLYK6YR8JyrViN \\ -H \"X-Api-Key: $api_key\" . Example Response Payload . { \"id\": \"AVH5uG4gRLYK6YR8JyrViN\", \"accountId\": \"1mdj7bj95gjo92r0ux6wfy69gj3h77\", \"status\": \"complete\", \"type\": \"farmlands-external-asset\", \"url\": \"https://azurebuckets.com/1234\", \"test\": true, \"count\": \"160000\", \"errorCount\": \"1\", \"errors\": [ { \"externalId\": \"69d64d80-f9bd-4057-bc5b-1c55685d995b\", \"index\": \"1954\", \"message\": \"INVALID_BARCODE_LENGTH\" } ] } . ", - "url": "/api/batches#operations", - "relUrl": "/api/batches#operations" - },"48": { - "doc": "Businesses", - "title": "Businesses", - "content": "A Business represents a company registered with the New Zealand Companies Office. A Business is associated with a single Account. ", - "url": "/api/businesses", - "relUrl": "/api/businesses" - },"49": { - "doc": "Businesses", - "title": "Contents", - "content": ". | Models . | Business | Tax Number | . | Operations . | Create a Business EXPERIMENTAL | Update a Business EXPERIMENTAL | Get a Business by Account id EXPERIMENTAL | Search NZ Company Register EXPERIMENTAL | Get Business Details from NZ Company Register EXPERIMENTAL | Set Business Onboarding Status | . | . ", - "url": "/api/businesses#contents", - "relUrl": "/api/businesses#contents" - },"50": { - "doc": "Businesses", - "title": "Models", - "content": "Business . | Field | Type | Description | . | id | String | The unique identifier. | . | accountId | String | The Centrapay accountId for an org account. | . | accountName | String | The Centrapay account name for an org account. | . | test | Boolean | A flag which is present if the Account is test | . | nzbn | String | The unique NZBN identifier. | . | name | String | Legal name recorded in the Companies Register. | . | tradingName | String | Trading name recorded in the Companies Register. | . | companyNumber | String | Company number recorded in the Companies Register. | . | createdAt | Timestamp | When the Business was created. | . | updatedAt | Timestamp | When the Business was updated. | . | createdBy | CRN | The User or API Key that created the Business. | . | updatedBy | CRN | The User or API Key that updated the Business. | . | taxNumber | Tax Number Optional | The value-added tax configuration for the Business. | . | onboardingStatus | String | The onboarding status of the Business. See Onboarding Statuses for possible values. | . | onboardingStatusReason | String | The reason associated with the Onboarding Status. See Onboarding Status Reasons for possible values. | . Tax Number . | Field | Type | Description | . | value | String | The tax number. | . | type | String | Type of value-added tax. Can be nz-gst. | . Onboarding Statuses . | Status | Description | Allowed Reasons | . | applied | Identifies businesses that have registered to be activated for the Centrapay service. |   | . | provisioning | Identifies businesses that are in the process of being activated for the Centrapay service. |   | . | active | Identifies businesses that have been activated for Centrapay services successfully (i.e. they have successfully created a Payment Request). |   | . | deactivated | Identifies businesses that have been de-registered for the Centrapay service. | data-quality-issues,change-of-ownership, centrapay-discontinued, duplicate, blocked | . | on-hold | Identifies businesses that have been placed on hold. | seasonal-business-closure, no-response | . Onboarding Status Reasons . | Reason | Description | . | duplicate | The business already exists in the Centrapay system. | . | data-quality-issues | Data quality issues are preventing the business from onboarding. | . | no-response | No response has been received from the business. | . | change-of-ownership | The business has changed ownership. | . | centrapay-discontinued | The business is no longer using Centrapay. | . | seasonal-business-closure | The business has closed temporarily. | . ", - "url": "/api/businesses#models", - "relUrl": "/api/businesses#models" - },"51": { - "doc": "Businesses", - "title": "Operations", - "content": "Create a Business EXPERIMENTAL . If accountId is not provided when creating a business, then a new org account will be created and associated to the business. POST /api/businesses . curl -X POST https://service.centrapay.com/api/businesses \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"nzbn\": \"9429046246448\", \"taxNumber\": { \"value\": \"123-456-789\", \"type\": \"nz-gst\" } }' . Required Fields . | Field | Type | Description | . | nzbn | String | The unique NZBN identifier. | . Optional Fields . | Field | Type | Description | . | accountId | String | The Centrapay accountId. | . | test | String | The created Centrapay org account will have the test flag. | . | taxNumber | Tax Number | The value-added tax configuration. | . Example response payload . { \"id\": \"DKTs3U38hdhfEqwF1JKoT2\", \"accountId\": \"Jaim1Cu1Q55uooxSens6yk\", \"accountName\": \"Centrapay\", \"nzbn\": \"9429046246448\", \"name\": \"CENTRAPAY LIMITED\", \"tradingName\": \"CentraPay\", \"companyNumber\": \"6340244\", \"createdAt\": \"2020-06-12T01:17:46.499Z\", \"updatedAt\": \"2020-06-12T01:17:46.499Z\", \"createdBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"updatedBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"taxNumber\": { \"value\": \"123-456-789\", \"type\": \"nz-gst\" }, \"onboardingStatus\": \"applied\" } . Error Responses . | Status | Code | Description | . | 403 | INVALID_ACCOUNT | Account does not exist, is not authorized, is of the wrong type, or is not in the NZ region. | . | 403 | INVALID_NZBN | The NZBN provided does not match any NZ business. | . Update a Business EXPERIMENTAL . PUT /api/businesses/{businessId} . curl -X PUT https://service.centrapay.com/api/businesses/DKTs3U38hdhfEqwF1JKoT2 \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"taxNumber\": { \"value\": \"123-456-789\", \"type\": \"nz-gst\" }, \"farmlandsBusinessNumber\": \"12345678\" }' . Optional Fields . | Field | Type | Description | . | taxNumber | Tax Number | The value-added tax configuration. | . | farmlandsBusinessNumber | String | The number associated with your Farmlands business. | . Example response payload . { \"id\": \"DKTs3U38hdhfEqwF1JKoT2\", \"accountId\": \"Jaim1Cu1Q55uooxSens6yk\", \"accountName\": \"Centrapay\", \"nzbn\": \"9429046246448\", \"name\": \"CENTRAPAY LIMITED\", \"tradingName\": \"CentraPay\", \"companyNumber\": \"6340244\", \"createdAt\": \"2020-06-12T01:17:46.499Z\", \"updatedAt\": \"2020-06-12T01:17:46.499Z\", \"createdBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"updatedBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"taxNumber\": { \"value\": \"123-456-789\", \"type\": \"nz-gst\" }, \"farmlandsBusinessNumber\": \"12345678\", \"onboardingStatus\": \"applied\" } . Error Responses . | Status | Code | Description | . | 403 | INVALID_ACCOUNT | Account does not exist, is not authorized, is of the wrong type, or is not in the NZ region. | . | 403 | INVALID_NZBN | The NZBN provided does not match any NZ business. | . Get a Business by Account id EXPERIMENTAL . GET /api/accounts/{accountId}/business . curl https://service.centrapay.com/api/accounts/Jaim1Cu1Q55uooxSens6yk/business \\ -H \"X-Api-Key: $api_key\" . Example response payload . { \"id\": \"DKTs3U38hdhfEqwF1JKoT2\", \"accountId\": \"Jaim1Cu1Q55uooxSens6yk\", \"accountName\": \"Centrapay\", \"nzbn\": \"9429046246448\", \"name\": \"CENTRAPAY LIMITED\", \"tradingName\": \"CentraPay\", \"companyNumber\": \"6340244\", \"createdAt\": \"2020-06-12T01:17:46.499Z\", \"updatedAt\": \"2020-06-12T01:17:46.499Z\", \"createdBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"updatedBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\" } . Search NZ Company Register EXPERIMENTAL . Returns a list of companies that match the queried param on company name, nzbn number or company number. Results are paginated and ordered by relevance. GET /api/nzbn-search . curl -G https://service.centrapay.com/api/nzbn-search \\ -H \"X-Api-Key: $api_key\" \\ -d q=centrapay . Query Parameters . | Parameter | Description | . | q | Company name, number or NZBN to search for. | . Example response payload . { \"items\": [ { \"nzbn\": \"9429046246448\", \"companyName\": \"CENTRAPAY LIMITED\", \"companyNumber\": \"6340244\" } ] } . Get Business Details from NZ Company Register EXPERIMENTAL . GET /api/nzbn/{nzbn} . curl https://service.centrapay.com/api/nzbn/9429046246448 \\ -H \"X-Api-Key: $api_key\" . Example response payload . { \"nzbn\": \"9429046246448\", \"companyName\": \"CENTRAPAY LIMITED\", \"tradingName\": \"CentraPay\", \"companyNumber\": \"6340244\", \"directors\": [ { \"firstName\": \"John\", \"lastName\": \"DOE\", \"addressLines\": [ \"7 Tara Street\", \"Downmore\", \"Auckland\" ] }, { \"firstName\": \"Jane\", \"lastName\": \"DOE\", \"addressLines\": [ \"82 Greatwood Road\", \"Northclover\", \"Auckland\" ] } ] } . Set Business Onboarding Status . POST /api/businesses/{businessId}/set-onboarding-status . curl -X POST https://service.centrapay.com/api/businesses/DKTs3U38hdhfEqwF1JKoT2/set-onboarding-status \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"onboardingStatus\": \"deactivated\", \"onboardingStatusReason\": \"change-of-ownership\" }' . Example response payload . { \"type\": \"set-onboarding-status\", \"onboardingStatus\": \"deactivated\", \"onboardingStatusReason\": \"change-of-ownership\", \"businessId\": \"DKTs3U38hdhfEqwF1JKoT2\", \"createdAt\": \"2020-06-12T01:17:46.499Z\", \"createdBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"activityNumber\": 2 } . ", - "url": "/api/businesses#operations", - "relUrl": "/api/businesses#operations" - },"52": { - "doc": "Data Types", - "title": "Data Types", - "content": " ", - "url": "/api/data-types", - "relUrl": "/api/data-types" - },"53": { - "doc": "Data Types", - "title": "Timestamp", - "content": "A point in time, usually with millisecond precision, represented as an ISO 8601 date string (eg “2021-06-11T02:51:11.000Z”). Timestamps are in the UTC timezone as denoted by the “Z” suffix. ", - "url": "/api/data-types#timestamp", - "relUrl": "/api/data-types#timestamp" - },"54": { - "doc": "Data Types", - "title": "BigNumber", - "content": "A number, represented as a String, which can have arbitrary size or precision. Most Centrapay APIs that deal with transactable value (ie. assets, payments, etc) represent the value as BigNumbers. Depending on the context, a BigNumber may be used to represent an integer or a decimal amount. ", - "url": "/api/data-types#bignumber", - "relUrl": "/api/data-types#bignumber" - },"55": { - "doc": "Data Types", - "title": "Monetary", - "content": "A monetary amount in a currency, represented as an Object. The amount is usually an integer in the smallest denomination for the currency (ie cents) but may be a decimal value for some currencies (eg Bitcoin). The currency is typically represented as an ISO 4217 code. Fields . | Name | Type | Description | . | amount | BigNumber | Value in the currency’s smallest denomination (eg. cents). | . | currency | String | Currency code (eg. “NZD”). | . ", - "url": "/api/data-types#monetary", - "relUrl": "/api/data-types#monetary" - },"56": { - "doc": "Data Types", - "title": "CRN", - "content": "A Centrapay Resource Name (CRN) is a colon-delimited String that uniquely identifies any Centrapay resource. The format is crn:{account}:{type}:{id} where “account” is the optional Centrapay account that owns the resource, “type” is the resource type, and “id” is the resource identifier. CRN is often used to refer to Users and API keys. For example: . | User: crn::user:e2837e88-d408-11eb-8eac-3e22fb52e878 | API Key: crn:1234abc:api-key:MyAccountOwner | . ", - "url": "/api/data-types#crn", - "relUrl": "/api/data-types#crn" - },"57": { - "doc": "Data Types", - "title": "Location", - "content": "A location’s represented as an Object with properties to denote the location both absolute and by locality. Required Fields . | Name | Type | Description | . | street | String | Unit, number, and name of street address | . | city | String | City of location | . | country | String | ISO 3166 Country code. (eg. “NZ”) | . Optional Fields . | Name | Type | Description | . | lat | Number | Absolute latitude coordinate. If you don’t provide this, we will automatically infer this from your address. | . | lng | Number | Absolute longitude coordinate. If you don’t provide this, we will automatically infer this from your address. | . | suburb | String | Suburb of location | . | postCode | String | Post or Zip code of location | . | state | String | The state or region of the location (eg. “Auckland”) | . ", - "url": "/api/data-types#location", - "relUrl": "/api/data-types#location" - },"58": { - "doc": "Data Types", - "title": "PhoneNumber", - "content": "A phone number, represented in E.123 international notation (eg “+6421537663”). We usually use this for receiving text messages. ", - "url": "/api/data-types#phonenumber", - "relUrl": "/api/data-types#phonenumber" - },"59": { - "doc": "External Assets", - "title": "External Assets", - "content": "External assets are Assets which are issued by a third-party. ", - "url": "/api/external-assets", - "relUrl": "/api/external-assets" - },"60": { - "doc": "External Assets", - "title": "Contents", - "content": ". | Load an External Asset | . ", - "url": "/api/external-assets#contents", - "relUrl": "/api/external-assets#contents" - },"61": { - "doc": "External Assets", - "title": "Load an External Asset", - "content": "Load an asset from a supported third-party issuer. Asset details will be obtained from the issuer. POST /api/external-assets . curl -X POST https://service.centrapay.com/api/external-assets \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"accountId\": \"Jaim1Cu1Q55uooxSens6yk\", \"category\": \"giftcard\", \"type\": \"epay.nzd.test\", \"issuer\": \"ezipay\", \"externalId\": \"23403321042\", \"pin\": \"3771\" }' . Required Fields . | Parameter | Type | Description | . | accountId | String | The Centrapay account which will own the asset. | . | category | String | The category an asset will be grouped by. Valid values: “giftcard”. | . | type | String | The Centrapay ledger corresponding to the asset. Valid values: “epay.nzd.main”, “epay.nzd.test”. | . | issuer | String | The asset issuer. Valid values: “ezipay”. | . | externalId | String | The issuer’s asset id such as card number. | . Optional Parameters . | Parameter | Type | Description | . | pin | String | Additional secret required by the issuer for loading or redeeming the asset. | . | description | String | Description of the asset, eg: “$60 Acme Giftcard”. | . Example response payload . { \"id\": \"L75M3L56N2PtBSt8g7uXLU\", \"category\": \"giftcard\", \"type\": \"epay.nzd.main\", \"accountId\": \"Te2uDM7xhDLWGVJU3nzwnh\", \"issuer\": \"ezipay\", \"externalId\": \"************60119\", \"description\": \"$60 Acme Giftcard\", \"productCode\": \"23403\", \"currency\": \"NZD\", \"initialBalance\": \"7000\", \"balance\": \"6000\", \"availableBalance\": \"6000\", \"balanceUpdatedAt\": \"2020-06-10T15:30:00.000Z\", \"expiresAt\": \"2020-12-31T00:00:00.000Z\", \"createdAt\": \"2020-05-01T12:30:00.000Z\" } . Error Responses . | Status | Code | Description | . | 403 | UNKNOWN_ASSET | Asset id or PIN is incorrect. | . | 403 | DUPLICATE_ASSET | Asset already claimed by another account. | . | 403 | UNSUPPORTED_ASSET_TYPE | Unsupported asset type, origin, or issuer. | . | 403 | DENIED_BY_ASSET_PROVIDER | Asset exists, but is not enabled for use through centrapay. | . | 403 | EXPIRED_BY_ASSET_PROVIDER | Asset exists, but it’s expired. | . ", - "url": "/api/external-assets#load-an-external-asset", - "relUrl": "/api/external-assets#load-an-external-asset" - },"62": { - "doc": "Farmlands External Asset Batch", - "title": "Farmlands External Asset Batch", - "content": "Loads Farmlands Card data into Centrapay as external assets. | Type Name | farmlands-external-asset | . | File Format | JSONL | . | Record Type | Account | . ", - "url": "/api/batch-types/farmlands-external-asset", - "relUrl": "/api/batch-types/farmlands-external-asset" - },"63": { - "doc": "Farmlands External Asset Batch", - "title": "Contents", - "content": ". | Models . | Account | Contact | Card | . | Example JSONL File | Example Models | . ", - "url": "/api/batch-types/farmlands-external-asset#contents", - "relUrl": "/api/batch-types/farmlands-external-asset#contents" - },"64": { - "doc": "Farmlands External Asset Batch", - "title": "Models", - "content": ". Account . Exported Farmlands Account used for importing and updating of a Centrapay Asset. Fields . | Field | Type | Description | . | externalId | String | Id used for keeping imported Centrapay Asset up to date. | . | accountNumber | String | Farmlands account identifier attached to the Centrapay Asset. | . | availableBalance | BigNumber Optional | Current spendable balance of Centrapay Asset in cents. When not specified, defaults to 0. | . | contacts | Array Optional | Contact List for the imported Centrapay Asset. When empty all Contacts are removed. | . Contact . Exported Farmlands Contact and Card information used for authentication, correspondence and payment. Fields . | Field | Type | Description | . | externalId | String | Id used for keeping imported Centrapay Contact details up to date. | . | name | String Optional | The full name used to address the individual. | . | mobile | PhoneNumber Optional | Mobile number used for authentication and correspondence, must start with +64. | . | email | String Optional | Email address used for authentication and correspondence. | . | primary | Boolean Optional | true if the Contact is the owner of the Farmlands Account. | . | cards | Array Optional | Card list used for payment for the authenticated subject. When empty all Cards are removed. | . Card . Exported Farmlands Credit Card information used for importing and updating of a Patron Code. Fields . | Field | Type | Description | . | externalId | String Optional | Farmlands unique identifier for the card. | . | barcode | BigNumber | Unique 9 digit field to display in barcode format to pay by Patron Code. | . | status | String | Current state of the Card. Valid values are “active”, “inactive” and “archived”. | . | expiry | Timestamp | Payments will be accepted until this time. | . | farmlandsStatus | String Optional | Private field used in all Farmlands payment transaction notifications. | . ", - "url": "/api/batch-types/farmlands-external-asset#models", - "relUrl": "/api/batch-types/farmlands-external-asset#models" - },"65": { - "doc": "Farmlands External Asset Batch", - "title": "Example JSONL File", - "content": "A complete batch example with all batch types included. For more legible examples please refer to Example Models. {\"externalId\":\"9b2ec6d1-c83b-496a-8e52-2989f23d9076\",\"accountNumber\":\"012345678\",\"availableBalance\":\"1000\",\"contacts\":[]} {\"externalId\":\"d0d7e14d-4ce5-4f42-8a4c-d604a9609f66\",\"accountNumber\":\"012345678\",\"availableBalance\":\"1000\"} {\"externalId\":\"69d64d80-f9bd-4057-bc5b-1c55685d995b\",\"accountNumber\":\"012345678\",\"contacts\":[{\"externalId\":\"6e496c2a-1dae-4036-847d-c53bf6c6d410\",\"name\":\"Road Runner\",\"mobile\":\"+64221105598\",\"email\":\"road@runner.net\",\"primary\":true,\"cards\":[{\"externalId\":\"9b2ec6d1-c83b-496a-8e52-2989f23d9076\",\"barcode\":\"976238759\",\"status\":\"active\",\"expiry\":\"2022-10-01T22:32:56.631Z\"},{\"externalId\":\"74e4f94c-8316-42e7-9aa1-eb1539528894\",\"barcode\":\"957813964\",\"status\":\"inactive\",\"expiry\":\"2022-08-01T22:32:56.631Z\"}]}]} {\"externalId\":\"b5fde0e0-357c-4fda-a90f-fd857f2be999\",\"accountNumber\":\"830578479\",\"availableBalance\":\"12000\",\"contacts\":[{\"externalId\":\"6e496c2a-1dae-4036-847d-c53bf6c6d410\",\"name\":\"Road Runner\",\"mobile\":\"+64221102598\",\"email\":\"road@runner.net\",\"primary\":true,\"cards\":[{\"externalId\":\"65e701c3-6973-4322-8fa6-4560a489417f\",\"barcode\":\"458028560\",\"status\":\"active\",\"expiry\":\"2023-06-01T22:32:56.631Z\"},{\"externalId\":\"69d64d80-f9bd-4057-bc5b-1c55685d995b\",\"barcode\":\"635570865\",\"status\":\"inactive\",\"farmlandsStatus\":\"Suspended by customer\",\"expiry\":\"2022-04-01T22:32:56.631Z\"}]},{\"externalId\":\"6e4813e6-7a18-47ea-b92e-add36c8815ca\",\"name\":\"Yosemite Sam\",\"mobile\":\"+64220002598\",\"email\":\"yosemite@runner.net\",\"primary\":false,\"cards\":[{\"externalId\":\"74e4f94c-8316-42e7-9aa1-eb1539528894\",\"barcode\":\"137628567\",\"status\":\"active\",\"expiry\":\"2022-04-01T22:32:56.631Z\"}]},{\"externalId\":\"82bdb041-ea79-448c-816f-77af8b6750b2\",\"name\":\"Wile E. Coyote\",\"mobile\":\"+64221102598\",\"email\":\"while@e-cyote.net\",\"primary\":false,\"cards\":[{\"externalId\":\"62904b86-b4cc-45a9-b3c9-287a00ae9ef5\",\"barcode\":\"722798445\",\"status\":\"active\",\"expiry\":\"2022-04-01T22:32:56.631Z\"}]}]} . ", - "url": "/api/batch-types/farmlands-external-asset#example-jsonl-file", - "relUrl": "/api/batch-types/farmlands-external-asset#example-jsonl-file" - },"66": { - "doc": "Farmlands External Asset Batch", - "title": "Example Models", - "content": "Centrapay matches previously created resources using externalId and records get created or updated based on these IDs. In some cases, fields may be omitted to only update some fields. Warning: Below our records have newlines for legibility. When submitting a batch file you must only use newlines to separate records. An example of a Centrapay Asset complete with availableBalance, contacts and cards. { \"externalId\": \"b5fde0e0-357c-4fda-a90f-fd857f2be999\", \"accountNumber\": \"830578479\", \"availableBalance\": \"12000\", \"contacts\": [ { \"externalId\": \"6e496c2a-1dae-4036-847d-c53bf6c6d410\", \"name\": \"Road Runner\", \"mobile\": \"+64221102598\", \"email\": \"road@runner.net\", \"primary\": true, \"cards\": [ { \"externalId\": \"65e701c3-6973-4322-8fa6-4560a489417f\", \"barcode\": \"458028560\", \"status\": \"active\", \"expiry\": \"2023-06-01T22:32:56.631Z\" }, { \"externalId\": \"69d64d80-f9bd-4057-bc5b-1c55685d995b\", \"barcode\": \"635570865\", \"status\": \"inactive\", \"farmlandsStatus\": \"Suspended by customer\", \"expiry\": \"2022-04-01T22:32:56.631Z\" } ] }, { \"externalId\": \"6e4813e6-7a18-47ea-b92e-add36c8815ca\", \"name\": \"Yosemite Sam\", \"mobile\": \"+64220002598\", \"email\": \"yosemite@runner.net\", \"primary\": false, \"cards\": [ { \"externalId\": \"74e4f94c-8316-42e7-9aa1-eb1539528894\", \"barcode\": \"137628567\", \"status\": \"active\", \"expiry\": \"2022-04-01T22:32:56.631Z\" } ] }, { \"externalId\": \"82bdb041-ea79-448c-816f-77af8b6750b2\", \"name\": \"Wile E. Coyote\", \"mobile\": \"+64221102598\", \"email\": \"while@e-cyote.net\", \"primary\": false, \"cards\": [ { \"externalId\": \"62904b86-b4cc-45a9-b3c9-287a00ae9ef5\", \"barcode\": \"722798445\", \"status\": \"active\", \"expiry\": \"2022-04-01T22:32:56.631Z\" } ] } ] } . Update the availableBalance on an account and remove all contacts associated with it. Note, this renders the availableBalance un-spendable. { \"externalId\": \"9b2ec6d1-c83b-496a-8e52-2989f23d9076\", \"accountNumber\": \"012345678\", \"availableBalance\": \"1000\", \"contacts\": [ ] } . Update the availableBalance on an account. { \"externalId\": \"d0d7e14d-4ce5-4f42-8a4c-d604a9609f66\", \"accountNumber\": \"012345678\", \"availableBalance\": \"1000\" } . Update the contact list for an account. Use this where you want to exclude availableBalance. { \"externalId\": \"69d64d80-f9bd-4057-bc5b-1c55685d995b\", \"accountNumber\": \"012345678\", \"contacts\": [ { \"externalId\": \"6e496c2a-1dae-4036-847d-c53bf6c6d410\", \"name\": \"Road Runner\", \"mobile\": \"+64221105598\", \"email\": \"road@runner.net\", \"primary\": true, \"cards\": [ { \"externalId\": \"9b2ec6d1-c83b-496a-8e52-2989f23d9076\", \"barcode\": \"976238759\", \"status\": \"active\", \"expiry\": \"2022-10-01T22:32:56.631Z\" }, { \"externalId\": \"74e4f94c-8316-42e7-9aa1-eb1539528894\", \"barcode\": \"957813964\", \"status\": \"inactive\", \"expiry\": \"2022-08-01T22:32:56.631Z\" } ] } ] } . ", - "url": "/api/batch-types/farmlands-external-asset#example-models", - "relUrl": "/api/batch-types/farmlands-external-asset#example-models" - },"67": { - "doc": "Funds Transfers", - "title": "Funds Transfers", - "content": "A funds transfer represents either a top up to or a withdrawal from a Centrapay wallet. Topping up a wallet consists of making a bank transfer from the user’s bank account to Centrapay. Once Centrapay has verified the transfer was successful a user will be given credit on their Centrapay wallet equal to the amount of the bank transfer. ", - "url": "/api/funds-transfers", - "relUrl": "/api/funds-transfers" - },"68": { - "doc": "Funds Transfers", - "title": "Contents", - "content": ". | Creating a top up | Get a top up | List top ups for authorized accounts | List top ups for an account EXPERIMENTAL | Creating a Withdrawal EXPERIMENTAL | Get a Withdrawal EXPERIMENTAL | List Withdrawals for an account EXPERIMENTAL | Abort Funds Transfer | . ", - "url": "/api/funds-transfers#contents", - "relUrl": "/api/funds-transfers#contents" - },"69": { - "doc": "Funds Transfers", - "title": "Creating a top up", - "content": "POST /api/topups . curl -X POST https://service.centrapay.com/api/topups \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"amount\": \"10000\", \"assetId\": \"Te2uDM7xhDLWGVJU3nzwnh\", \"bankAccountId\": \"FRhAzzWpTKb5U7pZygQjjY\" }' . Required Fields . | Field | Type | Description | . | amount | BigNumber | Total amount of the transaction in cents | . | assetId | String | The id of the asset | . | bankAccountId | String | The id of the bank account | . Example response payload . { \"id\": \"hg2RfYTQ635tPBZEPJdCre\", \"assetId\": \"Te2uDM7xhDLWGVJU3nzwnh\", \"bankAccountId\": \"FRhAzzWpTKb5U7pZygQjjY\", \"accountId\": \"aBc932S9182qwCDqwer\", \"type\": \"topup\", \"amount\": \"10000\", \"status\": \"created\", \"createdAt\": \"2020-05-01T12:30:00.000Z\", \"updatedAt\": \"2020-05-01T12:30:00.000Z\" } . Error Responses . | Status | Code | Description | . | 403 | BANK_AUTHORITY_WALLET_MISMATCH | The wallet and the bank account for the top up request do not belong to the same account. | . | 403 | MAX_INFLIGHT_TOPUPS_EXCEEDED | The bank account already has ten pending top ups, which is the maximum a bank authority can have at any one time. | . | 403 | MAX_INFLIGHT_TOPUP_AMOUNT_EXCEEDED | The top up can not be created because it is above the max amount of funds a bank account can have pending at any one time. The max amount is $1000.00 for verified bank accounts and $100.00 for non-verified bank accounts. | . | 403 | QUOTA_EXCEEDED | The topup exceeds one or more top up quota limits. See Quota Error Response. | . | 403 | DIRECT_DEBIT_NOT_AUTHORIZED | Bank account requires authorization for top up. See bank accounts direct debit endpoint. | . | 403 | INVALID_WALLET_TYPE | The wallet type does not support top ups. See settlement wallets. | . | 403 | BANK_ACCOUNT_TYPE_NOT_CONFIGURED_FOR_TOPUP | The bank account type is not configured for topups. Only centrapay type bank accounts are configured. | . ", - "url": "/api/funds-transfers#creating-a-top-up", - "relUrl": "/api/funds-transfers#creating-a-top-up" - },"70": { - "doc": "Funds Transfers", - "title": "Get a top up", - "content": "GET /api/topups/{topupId} . curl https://service.centrapay.com/api/topups/WRhAxxWpTKb5U7pXyxQjjY \\ -H \"X-Api-Key: $api_key\" . Example response payload . { \"id\": \"hg2RfYTQ635tPBZEPJdCre\", \"assetId\": \"Te2uDM7xhDLWGVJU3nzwnh\", \"bankAccountId\": \"FRhAzzWpTKb5U7pZygQjjY\", \"accountId\": \"aBc932S9182qwCDqwer\", \"type\": \"topup\", \"amount\": \"10000\", \"status\": \"created\", \"createdAt\": \"2020-05-01T12:30:00.000Z\", \"updatedAt\": \"2020-05-01T12:30:00.000Z\" } . ", - "url": "/api/funds-transfers#get-a-top-up", - "relUrl": "/api/funds-transfers#get-a-top-up" - },"71": { - "doc": "Funds Transfers", - "title": "List top ups for authorized accounts", - "content": "GET /api/topups . curl https://service.centrapay.com/api/topups \\ -H \"X-Api-Key: $api_key\" . Example response payload . [ { \"id\": \"5thg2RPBZEfYTPJdQ63Cre\", \"assetId\": \"Te2uDM7xhDLWGVJU3nzwnh\", \"bankAccountId\": \"FRhAzzWpTKb5U7pZygQjjY\", \"accountId\": \"aBc932S9182qwCDqwer\", \"type\": \"topup\", \"amount\": \"10000\", \"status\": \"created\", \"createdAt\": \"2020-05-01T12:30:00.000Z\", \"updatedAt\": \"2020-05-01T12:30:00.000Z\" }, { \"id\": \"hg2RfYTQ635tPBZEPJdCre\", \"assetId\": \"Te2uDM7xhDLWGVJU3nzwnh\", \"bankAccountId\": \"FRhAzzWpTKb5U7pZygQjjY\", \"accountId\": \"aBc932S9182qwCDqwer\", \"type\": \"topup\", \"amount\": \"10000\", \"status\": \"created\", \"createdAt\": \"2020-05-01T12:30:00.000Z\", \"updatedAt\": \"2020-05-01T12:30:00.000Z\" } ] . ", - "url": "/api/funds-transfers#list-top-ups-for-authorized-accounts", - "relUrl": "/api/funds-transfers#list-top-ups-for-authorized-accounts" - },"72": { - "doc": "Funds Transfers", - "title": "List top ups for an account EXPERIMENTAL", - "content": "GET /api/accounts/{accountId}/topups . curl https://service.centrapay.com/api/accounts/aBc932S9182qwCDqwer/topups \\ -H \"X-Api-Key: $api_key\" . Example response payload . [ { \"id\": \"5thg2RPBZEfYTPJdQ63Cre\", \"assetId\": \"Te2uDM7xhDLWGVJU3nzwnh\", \"bankAccountId\": \"FRhAzzWpTKb5U7pZygQjjY\", \"accountId\": \"aBc932S9182qwCDqwer\", \"type\": \"topup\", \"amount\": \"10000\", \"status\": \"created\", \"createdAt\": \"2020-05-01T12:30:00.000Z\", \"updatedAt\": \"2020-05-01T12:30:00.000Z\" }, { \"id\": \"hg2RfYTQ635tPBZEPJdCre\", \"assetId\": \"Te2uDM7xhDLWGVJU3nzwnh\", \"bankAccountId\": \"FRhAzzWpTKb5U7pZygQjjY\", \"accountId\": \"aBc932S9182qwCDqwer\", \"type\": \"topup\", \"amount\": \"10000\", \"status\": \"created\", \"createdAt\": \"2020-05-01T12:30:00.000Z\", \"updatedAt\": \"2020-05-01T12:30:00.000Z\" } ] . ", - "url": "/api/funds-transfers#list-top-ups-for-an-account-experimental", - "relUrl": "/api/funds-transfers#list-top-ups-for-an-account-experimental" - },"73": { - "doc": "Funds Transfers", - "title": "Creating a Withdrawal EXPERIMENTAL", - "content": "POST /api/withdrawals . curl -X POST https://service.centrapay.com/api/withdrawals \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"amount\": \"10000\", \"assetId\": \"Te2uDM7xhDLWGVJU3nzwnh\", \"bankAccountId\": \"FRhAzzWpTKb5U7pZygQjjY\" }' . Required Fields . | Field | Type | Description | . | amount | BigNumber | Total amount of the transaction in cents | . | assetId | String | The id of the asset | . | bankAccountId | String | The id of the bank account | . Example response payload . { \"id\": \"hg2RfYTQ635tPBZEPJdCre\", \"assetId\": \"Te2uDM7xhDLWGVJU3nzwnh\", \"bankAccountId\": \"FRhAzzWpTKb5U7pZygQjjY\", \"accountId\": \"aBc932S9182qwCDqwer\", \"type\": \"withdrawal\", \"amount\": \"10000\", \"status\": \"created\", \"createdAt\": \"2020-05-01T12:30:00.000Z\", \"updatedAt\": \"2020-05-01T12:30:00.000Z\" } . Error Responses . | Status | Code | Description | . | 403 | BANK_AUTHORITY_WALLET_MISMATCH | The wallet and the bank account for the withdrawal request do not belong to the same account. | . | 403 | INSUFFICIENT_WALLET_BALANCE | The wallet balance is less than the required amount. | . | 403 | INVALID_WALLET_TYPE | The wallet type does not support withdrawals. See settlement wallets. | . | 403 | BANK_ACCOUNT_TYPE_NOT_CONFIGURED_FOR_WITHDRAWAL | The bank account type is not configured for withdrawals. Only centrapay type bank accounts are configured. | . ", - "url": "/api/funds-transfers#creating-a-withdrawal-experimental", - "relUrl": "/api/funds-transfers#creating-a-withdrawal-experimental" - },"74": { - "doc": "Funds Transfers", - "title": "Get a Withdrawal EXPERIMENTAL", - "content": "GET /api/withdrawals/{withdrawalId} . curl https://service.centrapay.com/api/withdrawals/WRhAxxWpTKb5U7pXyxQjjY \\ -H \"X-Api-Key: $api_key\" . Example response payload . { \"id\": \"hg2RfYTQ635tPBZEPJdCre\", \"assetId\": \"Te2uDM7xhDLWGVJU3nzwnh\", \"bankAccountId\": \"FRhAzzWpTKb5U7pZygQjjY\", \"accountId\": \"aBc932S9182qwCDqwer\", \"type\": \"withdrawal\", \"amount\": \"10000\", \"status\": \"created\", \"createdAt\": \"2020-05-01T12:30:00.000Z\", \"updatedAt\": \"2020-05-01T12:30:00.000Z\" } . ", - "url": "/api/funds-transfers#get-a-withdrawal-experimental", - "relUrl": "/api/funds-transfers#get-a-withdrawal-experimental" - },"75": { - "doc": "Funds Transfers", - "title": "List Withdrawals for an account EXPERIMENTAL", - "content": "Returns a paginated list of Withdrawals for an account. GET /api/accounts/{accountId}/withdrawals . curl https://service.centrapay.com/api/accounts/aBc932S9182qwCDqwer/withdrawals \\ -H \"X-Api-Key: $api_key\" . Example response payload . { \"items\": [ { \"id\": \"5thg2RPBZEfYTPJdQ63Cre\", \"assetId\": \"Te2uDM7xhDLWGVJU3nzwnh\", \"bankAccountId\": \"FRhAzzWpTKb5U7pZygQjjY\", \"accountId\": \"aBc932S9182qwCDqwer\", \"type\": \"withdrawal\", \"amount\": \"10000\", \"status\": \"created\", \"createdAt\": \"2020-05-01T12:30:00.000Z\", \"updatedAt\": \"2020-05-01T12:30:00.000Z\" }, { \"id\": \"hg2RfYTQ635tPBZEPJdCre\", \"assetId\": \"Te2uDM7xhDLWGVJU3nzwnh\", \"bankAccountId\": \"FRhAzzWpTKb5U7pZygQjjY\", \"accountId\": \"aBc932S9182qwCDqwer\", \"type\": \"withdrawal\", \"amount\": \"10000\", \"status\": \"done\", \"createdAt\": \"2020-05-01T12:30:00.000Z\", \"updatedAt\": \"2020-05-01T12:30:00.000Z\" } ] } . ", - "url": "/api/funds-transfers#list-withdrawals-for-an-account-experimental", - "relUrl": "/api/funds-transfers#list-withdrawals-for-an-account-experimental" - },"76": { - "doc": "Funds Transfers", - "title": "Abort Funds Transfer", - "content": "POST /api/funds-transfers/{fundsTransferId}/abort . curl -X POST https://service.centrapay.com/api/funds-transfers/5thg2RPBZEfYTPJdQ63Cre/abort \\ -H \"X-Api-Key: $api_key\" . Example response payload . { } . Error Responses . | Status | Code | Description | . | 403 | ABORT_WITHDRAWAL_NOT_SUPPORTED | Aborting funds transfers of type withdrawal is not supported. | . | 403 | FUNDS_TRANSFER_ALREADY_COMPLETE | The funds transfer is already complete. | . ", - "url": "/api/funds-transfers#abort-funds-transfer", - "relUrl": "/api/funds-transfers#abort-funds-transfer" - },"77": { - "doc": "HTTP Status Codes", - "title": "HTTP Status Codes", - "content": "Centrapay APIs respond with 200, 400, 401, 403, 404, or 429 HTTP status codes. In rare cases endpoints may respond with 5xx status codes. Some legacy or deprecated endpoints may have exceptions to the guidelines documented here. Any such exceptions will be documented on the endpoints. ", - "url": "/api/http-status-codes", - "relUrl": "/api/http-status-codes" - },"78": { - "doc": "HTTP Status Codes", - "title": "Contents", - "content": ". | 200 Ok | 400 Malformed Request | 401 Unauthorized | 403 Forbidden . | Resource missing or permission denied | Business rule violated | . | 404 Route Not Found | 429 Too Many Requests | 5xx Server Error | . ", - "url": "/api/http-status-codes#contents", - "relUrl": "/api/http-status-codes#contents" - },"79": { - "doc": "HTTP Status Codes", - "title": "200 Ok", - "content": "Everything’s ok. Enjoy your well formed response! . ", - "url": "/api/http-status-codes#200-ok", - "relUrl": "/api/http-status-codes#200-ok" - },"80": { - "doc": "HTTP Status Codes", - "title": "400 Malformed Request", - "content": "This is a syntax failure. When you get these back, your application needs to change the way it behaves in order to get back the resource that you’re after. Don’t try again, this is never going to work. Example response body . { \"statusCode\": 400, \"message\": \"amount is required\" } . Debugging . | Make sure you set “content-type: application/json” | The response body should indicate where the error is | Make sure your HTTP body fields are set correctly | Check your HTTP verb is correct (POST, PUT, GET etc.) | Check query parameters are set correctly | Check path parameters are set correctly | . ", - "url": "/api/http-status-codes#400-malformed-request", - "relUrl": "/api/http-status-codes#400-malformed-request" - },"81": { - "doc": "HTTP Status Codes", - "title": "401 Unauthorized", - "content": "API key or JWT is missing, expired or invalid. Go look at our Auth documentation. Example response body . { \"statusCode\": 401, \"error\": \"Unauthorized\", \"message\": \"Missing authentication\" } . ", - "url": "/api/http-status-codes#401-unauthorized", - "relUrl": "/api/http-status-codes#401-unauthorized" - },"82": { - "doc": "HTTP Status Codes", - "title": "403 Forbidden", - "content": "A 403 status indicates resource missing, permission denied or business rule violation. Resource missing or permission denied . Example response body . { \"statusCode\": 403, \"error\": \"Forbidden\", \"message\": \"Forbidden\" } . Debugging . | Check the resource id is correct | Check your user or API key has membership for the account that owns the resource you are accessing. | Check the role of your user or API key has permission (See Auth Permissions). | . Business rule violated . When the resource exists and access is authorized but some other business rule is violated then a 403 is returned. Additional information will be included in the “message” field of the response body. The possible values for the “message” field will be documented on each endpoint. Example response body . { \"statusCode\": 403, \"error\": \"Forbidden\", \"message\": \"INSUFFICIENT_BALANCE\" } . ", - "url": "/api/http-status-codes#403-forbidden", - "relUrl": "/api/http-status-codes#403-forbidden" - },"83": { - "doc": "HTTP Status Codes", - "title": "404 Route Not Found", - "content": "Variant on a 400, there’s a bug in your code that means you’ve got a typo in the URL or HTTP method. Please check against examples in our documentation. Example response body . { \"statusCode\": 404, \"error\": \"Not Found\", \"message\": \"Not Found\" } . ", - "url": "/api/http-status-codes#404-route-not-found", - "relUrl": "/api/http-status-codes#404-route-not-found" - },"84": { - "doc": "HTTP Status Codes", - "title": "429 Too Many Requests", - "content": "Centrapay API rate limits have been exceeded. Example response body . { \"statusCode\": 429, \"error\": \"Too Many Requests\", \"message\": \"RATE_LIMIT_EXCEEDED\" } . Debugging . | Check the Retry-After HTTP response header for the number of seconds before the next request will be accepted. | Contact integrations@centrapay.com to increase your limits. | . ", - "url": "/api/http-status-codes#429-too-many-requests", - "relUrl": "/api/http-status-codes#429-too-many-requests" - },"85": { - "doc": "HTTP Status Codes", - "title": "5xx Server Error", - "content": "If you get a 500 level error, something has gone wrong on our end. Retrying should solve the issue. Usually a Centrapay Engineer will investigate but bug reports are also welcome at integrations@centrapay.com. ", - "url": "/api/http-status-codes#5xx-server-error", - "relUrl": "/api/http-status-codes#5xx-server-error" - },"86": { - "doc": "Payment Requests", - "title": "Payment Requests", - "content": " ", - "url": "/api/section/payment-requests", - "relUrl": "/api/section/payment-requests" - },"87": { - "doc": "Assets", - "title": "Assets", - "content": " ", - "url": "/api/section/assets", - "relUrl": "/api/section/assets" - },"88": { - "doc": "Settlements", - "title": "Settlements", - "content": " ", - "url": "/api/section/settlements", - "relUrl": "/api/section/settlements" - },"89": { - "doc": "Batches", - "title": "Batches", - "content": " ", - "url": "/api/section/batches", - "relUrl": "/api/section/batches" - },"90": { - "doc": "Accounts", - "title": "Accounts", - "content": " ", - "url": "/api/section/accounts", - "relUrl": "/api/section/accounts" - },"91": { - "doc": "Integrations", - "title": "Integrations", - "content": " ", - "url": "/api/section/integrations", - "relUrl": "/api/section/integrations" - },"92": { - "doc": "Scanned Codes", - "title": "Scanned Codes", - "content": " ", - "url": "/api/section/scanned-codes", - "relUrl": "/api/section/scanned-codes" - },"93": { - "doc": "Merchants", - "title": "Merchants", - "content": " ", - "url": "/api/section/merchants", - "relUrl": "/api/section/merchants" - },"94": { - "doc": "Bank Accounts", - "title": "Bank Accounts", - "content": " ", - "url": "/api/section/bank-accounts", - "relUrl": "/api/section/bank-accounts" - },"95": { - "doc": "API Reference", - "title": "API Reference", - "content": " ", - "url": "/api", - "relUrl": "/api" - },"96": { - "doc": "Getting Started", - "title": "Getting Started", - "content": "Welcome to Centrapay! We enable you to transact fiat currency, giftcards, digital assets and vouchers via your point of sale, payment terminal, shopping cart or unattended device. We accomplish this via our APIs which allow merchants, customers, terminals, and smart wallets to interact with each other. Checkout our [Guides][] for hints on where to begin or see the API Reference for a deeper dive. For more help getting setup, contact us via email at integrations@centrapay.com. ", - "url": "/", - "relUrl": "/" - },"97": { - "doc": "Integration Requests", - "title": "Integration Requests", - "content": "An Integration Request allows Centrapay users to request the creation of an Integration on a Centrapay account. ", - "url": "/api/integration-requests", - "relUrl": "/api/integration-requests" - },"98": { - "doc": "Integration Requests", - "title": "Contents", - "content": ". | Models . | Integration Request | Terminal | Product | Integration Types | . | Operations . | Create an Integration Request EXPERIMENTAL | Get an Integration Request EXPERIMENTAL | Search Integration Requests EXPERIMENTAL | Configure Integration Request EXPERIMENTAL | Get Integration Request Configuration EXPERIMENTAL | Activate Integration Request EXPERIMENTAL | Delete Integration Request EXPERIMENTAL | . | . ", - "url": "/api/integration-requests#contents", - "relUrl": "/api/integration-requests#contents" - },"99": { - "doc": "Integration Requests", - "title": "Models", - "content": "Integration Request . Mandatory Fields . | Field | Type | Description | . | id | String | The Integration Request’s unique identifier. | . | accountId | String | The Integration Request’s owning Centrapay Account id. | . | merchantId | String | The Merchant id for the Integration Request. | . | type | String | The type of the Integration Request. Refer to Integration Types. | . | status | String | The current status of the Integration Request. Supported values are active, available, pending, rejected and disabled. | . Optional Fields . | Field | Type | Description | . | terminalId | String | The payment system terminal id. Required for NZ Epay integration. | . | terminal | Terminal | The terminal configuration. Required for all terminal vendors except Vista. | . | product | Product | The requested Epay gift card types to support. | . Terminal . Required Fields . | Field | Type | Description | . | terminalId | String | The software or logical id of the payment terminal. | . Optional Fields . | Field | Type | Description | . | deviceId | String | The hardware id or serial number of the payment terminal. | . Product . Required Fields . | Field | Type | Description | . | name | String | The name of the requested Epay product. | . Integration Types . | Name | Description | . | verifone | Terminal vendor Verifone | . | windcave | Terminal vendor Windcave | . | epay | Asset provider ePay | . | smartpay | Terminal vendor smartpay | . | invenco | Terminal vendor invenco | . | skyzer | Terminal vendor skyzer | . | vista | Terminal vendor vista | . ", - "url": "/api/integration-requests#models", - "relUrl": "/api/integration-requests#models" - },"100": { - "doc": "Integration Requests", - "title": "Operations", - "content": "Create an Integration Request EXPERIMENTAL . POST /api/integration-requests . curl -X POST https://service.centrapay.com/api/integration-requests \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"merchantId\": \"5ee0c486308f590260d9a07f\", \"type\": \"verifone\", \"terminal\": { \"terminalId\": \"002039390093939\", \"deviceId\": \"002-039-390\" } }' . curl -X POST https://service.centrapay.com/api/integration-requests \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"merchantId\": \"5ee0c486308f590260d9a07f\", \"type\": \"epay\", \"product\": { \"name\": \"koha-card\" } }' . Required Fields . | Field | Type | Description | . | merchantId | String | The Merchant id for the Integration Request. | . | type | String | The type of the Integration Request. | . Optional Fields . | Field | Type | Description | . | terminal | Terminal | The terminal configuration. Required for Verifone and Windcave integration. | . | product | Product | The requested Epay gift card types to support. | . Example response payload . { \"id\": \"DKTs3U38hdhfEqwF1JKoT2\", \"accountId\": \"Jaim1Cu1Q55uooxSens6yk\", \"merchantId\": \"5ee0c486308f590260d9a07f\", \"type\": \"verifone\", \"status\": \"pending\", \"createdAt\": \"2020-06-12 01:17:46 UTC\", \"updatedAt\": \"2020-06-12 01:17:46 UTC\", \"createdBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"updatedBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"terminal\": { \"terminalId\": \"002039390093939\", \"deviceId\": \"002-039-390\" } } . { \"id\": \"DKTs3U38hdhfEqwF1JKoT2\", \"accountId\": \"Jaim1Cu1Q55uooxSens6yk\", \"merchantId\": \"5ee0c486308f590260d9a07f\", \"type\": \"epay\", \"status\": \"pending\", \"createdAt\": \"2020-06-12 01:17:46 UTC\", \"updatedAt\": \"2020-06-12 01:17:46 UTC\", \"createdBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"updatedBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"product\": { \"name\": \"koha-card\" } } . Get an Integration Request EXPERIMENTAL . GET /api/integration-requests/{integrationRequestId} . curl https://service.centrapay.com/api/integration-requests/DKTs3U38hdhfEqwF1JKoT2 \\ -H \"X-Api-Key: $api_key\" . Example response payload . { \"id\": \"DKTs3U38hdhfEqwF1JKoT2\", \"accountId\": \"Jaim1Cu1Q55uooxSens6yk\", \"merchantId\": \"5ee0c486308f590260d9a07f\", \"type\": \"epay\", \"status\": \"pending\", \"terminalId\": \"11000021\", \"createdAt\": \"2020-06-12T01:17:46.499Z\", \"updatedAt\": \"2020-06-12T01:17:46.499Z\", \"createdBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"updatedBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"product\": { \"name\": \"koha-card\" } } . Search Integration Requests EXPERIMENTAL . Returns a paginated list of Integration Requests. GET /api/integration-requests . curl -G https://service.centrapay.com/api/integration-requests \\ -H \"X-Api-Key: $api_key\" \\ -d type=epay \\ -d pending=true \\ -d accountId=Jaim1Cu1Q55uooxSens6yk . Query Parameters . | Parameter | Description | . | accountId | The Integration Request’s owning Centrapay Account id. Required unless caller has global read access permission. | . | type | The type of Integration Request. | . | pending | When set to true, only include Integration Requests with pending status. | . Example response payload . { \"items\": [ { \"id\": \"DKTs3U38hdhfEqwF1JKoT2\", \"accountId\": \"Jaim1Cu1Q55uooxSens6yk\", \"merchantId\": \"5ee0c486308f590260d9a07f\", \"type\": \"epay\", \"status\": \"pending\", \"terminalId\": \"11000021\", \"createdAt\": \"2020-06-12T01:17:46.499Z\", \"updatedAt\": \"2020-06-12T01:17:46.499Z\", \"createdBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"updatedBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"product\": { \"name\": \"koha-card\" } } ] } . Configure Integration Request EXPERIMENTAL . Supply configuration values for the Integration Request. PUT /api/integration-requests/{integrationRequestId}/configs . curl -X PUT https://service.centrapay.com/api/integration-requests/DKTs3U38hdhfEqwF1JKoT2/configs \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"terminalId\": \"11000021\" }' . Optional Fields . | Field | Type | Description | . | terminalId | String | Epay terminalId for the Integration Request. Required if type is epay. | . Example response payload . { \"id\": \"DKTs3U38hdhfEqwF1JKoT2\", \"accountId\": \"Jaim1Cu1Q55uooxSens6yk\", \"merchantId\": \"5ee0c486308f590260d9a07f\", \"type\": \"epay\", \"status\": \"pending\", \"terminalId\": \"11000021\", \"createdAt\": \"2020-06-12T01:17:46.499Z\", \"updatedAt\": \"2020-06-12T01:17:46.499Z\", \"createdBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"updatedBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"product\": { \"name\": \"koha-card\" } } . Get Integration Request Configuration EXPERIMENTAL . GET /api/integration-requests/{integrationRequestId}/configs . curl https://service.centrapay.com/api/integration-requests/DKTs3U38hdhfEqwF1JKoT2/configs \\ -H \"X-Api-Key: $api_key\" . Example response payload . { \"terminalId\": \"11000021\" } . Activate Integration Request EXPERIMENTAL . POST /api/integration-requests/{integrationRequestId}/activate . curl -X POST https://service.centrapay.com/api/integration-requests/DKTs3U38hdhfEqwF1JKoT2/activate \\ -H \"X-Api-Key: $api_key\" . Example response payload . { \"id\": \"DKTs3U38hdhfEqwF1JKoT2\", \"accountId\": \"Jaim1Cu1Q55uooxSens6yk\", \"merchantId\": \"5ee0c486308f590260d9a07f\", \"type\": \"epay\", \"status\": \"active\", \"terminalId\": \"11000021\", \"createdAt\": \"2020-06-12T01:17:46.499Z\", \"updatedAt\": \"2020-06-12T01:17:46.499Z\", \"createdBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"updatedBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"product\": { \"name\": \"koha-card\" } } . Error Responses . | Status | Code | Description | . | 403 | INTEGRATION_PARAM_MISSING | Integration Request needs updating with the required parameters before activating. | . | 403 | INTEGRATION_ALREADY_ACTIVATED | Integration Request is already activated. | . Delete Integration Request EXPERIMENTAL . DELETE /api/integration-requests/{integrationRequestId} . curl -X DELETE https://service.centrapay.com/api/integration-requests/DKTs3U38hdhfEqwF1JKoT2 \\ -H \"X-Api-Key: $api_key\" . Example response payload . { } . ", - "url": "/api/integration-requests#operations", - "relUrl": "/api/integration-requests#operations" - },"101": { - "doc": "Integrations", - "title": "Integrations", - "content": "An Integration is a configured connection between a Centrapay account and a third party. An Integration can be created as an Integration Request, as a Managed Integration, or directly by Centrapay administrators. ", - "url": "/api/integrations", - "relUrl": "/api/integrations" - },"102": { - "doc": "API Introduction", - "title": "API Introduction", - "content": "The Centrapay API is an RMM level 2 RESTful web service which expresses operations in terms of HTTP verbs on resource-oriented URLs. API endpoint definitions in these docs are grouped by resource type along with definitions for the associated resource types. Most API calls require authentication using an API key or JWT. HTTP requests and responses usually have JSON payloads and use “application/json” as the content type. Some API features may be flagged as EXPERIMENTAL. These API features may be removed or changed without warning and should not be relied on in a production setting. | Auth | HTTP Status Codes | Data Types | Pagination | API Keys | Accounts | Assets | Bank Accounts | Batches | Integrations | Invitations | Media Uploads | Merchants | Payment Requests | Profiles | Quotas | Scanned Codes | Settlements | . ", - "url": "/api/introduction", - "relUrl": "/api/introduction" - },"103": { - "doc": "Invitations", - "title": "Invitations", - "content": "An Invitation can be used to allow users to claim ownership of a resource on the Centrapay platform. ", - "url": "/api/invitations.html", - "relUrl": "/api/invitations.html" - },"104": { - "doc": "Invitations", - "title": "Contents", - "content": ". | Models . | Invitation | Params | . | Operations . | Create an Invitation EXPERIMENTAL | Get an Invitation by code EXPERIMENTAL | List Invitations by accountId EXPERIMENTAL | Accept an Invitation EXPERIMENTAL | Revoke an invitation EXPERIMENTAL | . | . ", - "url": "/api/invitations.html#contents", - "relUrl": "/api/invitations.html#contents" - },"105": { - "doc": "Invitations", - "title": "Models", - "content": "Invitation . Mandatory Fields . | Field | Type | Description | . | id | String | The Invitation’s unique identifier. | . | code | String | The Invitation code. | . | type | String | The type of invitation. Supported values are account-membership. | . | resourceId | String | The id of the related resource. | . | resourceType | String | The type of the related resource. Supported values are account. | . | expiresAt | Timestamp | When the Invitation expires. | . | createdAt | Timestamp | When the Invitation was created. | . | createdBy | CRN | The User or API Key that created the Invitation. | . | updatedAt | Timestamp | When the Invitation was updated. | . | updatedBy | CRN | The User or API Key that updated the Invitation. | . Optional Fields . | Field | Type | Description | . | accepted | Boolean | A flag indicating whether the Invitation has been accepted. | . | acceptedAt | Timestamp | When the Invitation was accepted. | . | acceptedBy | CRN | The User or API Key that accepted the Invitation. | . | acceptedByAccountId | String | The Account id of the user accepting the Invitation. | . | recipientAlias | String | The email address of the user accepting the Invitation. | . | params | Object | Params dependent on the Invitation type. | . | status | String | The status of the invitation. Possible values are created, sent, accepted and revoked | . Params . | Field | Type | Description | . | role | String | The role assigned to the recipient, for invitations of type account-membership. | . | accountName | String | The name of the account that the recipient is invited to, for invitations of type account-membership | . ", - "url": "/api/invitations.html#models", - "relUrl": "/api/invitations.html#models" - },"106": { - "doc": "Invitations", - "title": "Operations", - "content": "Create an Invitation EXPERIMENTAL . POST /api/invitations . curl -X POST https://service.centrapay.com/api/invitations \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"type\": \"account-membership\", \"resourceId\": \"Hopo4g34sLVdjEMBs2p19F\", \"resourceType\": \"account\", \"recipientAlias\": \"user@org.com\", \"params\": { \"role\": \"cashier\" } }' . Required Fields . | Field | Type | Description | . | type | String | The type of invitation. Supported values are account-membership. | . | resourceId | String | The id of the related resource. | . | resourceType | String | The type of the related resource. Supported values are account. | . | recipientAlias | String | The email address of the user accepting the Invitation. | . | params | Object | Params depending on the Invitation type. | . | role | String | The role that will be assigned to the user when the Invitation is accepted. | . Example response payload . { \"id\": \"DKTs3U38hdhfEqwF1JKoT2\", \"code\": \"WIj211vFs9cNACwBb04vQw\", \"type\": \"account-membership\", \"resourceId\": \"Hopo4g34sLVdjEMBs2p19F\", \"resourceType\": \"account\", \"expiresAt\": \"2021-08-26T00:02:49.488Z\", \"createdAt\": \"2021-08-25T00:02:49.488Z\", \"createdBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"updatedAt\": \"2021-08-25T00:02:49.488Z\", \"updatedBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"recipientAlias\": \"user@org.com\", \"params\": { \"role\": \"cashier\", \"accountName\": \"Centrapay Cafe\" }, \"status\": \"created\" } . Error Responses . | Status | Code | Description | . | 403 | INVALID_ACCOUNT_TYPE | The resourceId is associated with an account with a non org type. | . | 403 | RECIPIENT_ALREADY_INVITED | An active invitation for this recipientAlias and resource already exists, or the recipient has already joined the resource. | . Get an Invitation by code EXPERIMENTAL . GET /api/invitations/code/{code} . curl https://service.centrapay.com/api/invitations/code/WIj211vFs9cNACwBb04vQw \\ -H \"X-Api-Key: $api_key\" . Example response payload . { \"id\": \"DKTs3U38hdhfEqwF1JKoT2\", \"code\": \"WIj211vFs9cNACwBb04vQw\", \"type\": \"account-membership\", \"resourceId\": \"5ee0c486308f590260d9a07f\", \"resourceType\": \"account\", \"expiresAt\": \"2021-08-26T00:02:49.488Z\", \"createdAt\": \"2021-08-25T00:02:49.488Z\", \"createdBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"updatedAt\": \"2021-08-25T00:02:49.488Z\", \"updatedBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\" } . List Invitations by accountId EXPERIMENTAL . GET /api/accounts/{accountId}/invitations . curl https://service.centrapay.com/api/accounts/{accountId}/invitations \\ -H \"X-Api-Key: $api_key\" . Example response payload . { \"items\": [ { \"id\": \"DKTs3U38hdhfEqwF1JKoT2\", \"code\": \"WIj211vFs9cNACwBb04vQw\", \"type\": \"account-membership\", \"resourceId\": \"Hopo4g34sLVdjEMBs2p19F\", \"resourceType\": \"account\", \"expiresAt\": \"2021-08-26T00:02:49.488Z\", \"createdAt\": \"2021-08-25T00:02:49.488Z\", \"createdBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"updatedAt\": \"2021-08-25T00:02:49.488Z\", \"updatedBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"recipientAlias\": \"user@org.com\", \"params\": { \"role\": \"account-owner\", \"accountName\": \"Centrapay Cafe\" }, \"status\": \"created\" }, { \"id\": \"JKKDMU38hd01hfEqwF1oT2\", \"code\": \"WIj211vFs9cNACwBb04vQw\", \"type\": \"account-membership\", \"resourceId\": \"Hopo4g34sLVdjEMBs2p19F\", \"resourceType\": \"account\", \"expiresAt\": \"2021-08-26T00:02:49.488Z\", \"createdAt\": \"2021-08-25T00:02:49.488Z\", \"createdBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"updatedAt\": \"2021-08-25T00:02:49.488Z\", \"updatedBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"recipientAlias\": \"john.doe@org.com\", \"params\": { \"role\": \"cashier\", \"accountName\": \"Centrapay Tea Warehouse\" }, \"status\": \"sent\" } ] } . Accept an Invitation EXPERIMENTAL . POST /api/invitations/{invitationId}/accept . curl -X POST https://service.centrapay.com/api/invitations/DKTs3U38hdhfEqwF1JKoT2/accept \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"code\": \"WIj211vFs9cNACwBb04vQw\", \"accountId\": \"Jaim1Cu1Q55uooxSens6yk\" }' . Required Fields . | Field | Type | Description | . | code | String | The Invitation code. | . | accountId | String | The Account id of the user accepting the Invitation. | . Example response payload . { \"id\": \"DKTs3U38hdhfEqwF1JKoT2\", \"code\": \"WIj211vFs9cNACwBb04vQw\", \"type\": \"account-membership\", \"resourceId\": \"5ee0c486308f590260d9a07f\", \"resourceType\": \"account\", \"expiresAt\": \"2021-08-26T00:02:49.488Z\", \"createdAt\": \"2021-08-25T00:02:49.488Z\", \"createdBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"accepted\": true, \"acceptedAt\": \"2021-08-25T10:12:22.122Z\", \"acceptedBy\": \"crn::user:e2837e88-d408-11eb-8eac-3e22fb52e878\", \"acceptedByAccountId\": \"Jaim1Cu1Q55uooxSens6yk\", \"updatedAt\": \"2021-08-25T10:12:22.122Z\", \"updatedBy\": \"crn::user:e2837e88-d408-11eb-8eac-3e22fb52e878\" } . Error Responses . | Status | Code | Description | . | 403 | INVITATION_EXPIRED | The Invitation is expired. | . | 403 | INVITATION_ALREADY_ACCEPTED | The Invitation has already been accepted. | . | 403 | RECIPIENT_ALIAS_MISMATCH | The alias of the user accepting an Invitation is not the same as the recipientAlias of the Invitation. | . | 403 | INVITATION_REVOKED | The Invitation was revoked. | . Revoke an invitation EXPERIMENTAL . POST /api/invitations/{invitationId}/revoke . curl -X POST https://service.centrapay.com/api/invitations/DKTs3U38hdhfEqwF1JKoT2/revoke \\ -H \"X-Api-Key: $api_key\" . Example response payload . { \"id\": \"DKTs3U38hdhfEqwF1JKoT2\", \"code\": \"WIj211vFs9cNACwBb04vQw\", \"type\": \"account-membership\", \"resourceId\": \"Hopo4g34sLVdjEMBs2p19F\", \"resourceType\": \"account\", \"recipientAlias\": \"user@org.com\", \"params\": { \"role\": \"cashier\", \"accountName\": \"Centrapay Cafe\" }, \"createdAt\": \"2021-08-25T00:02:49.488Z\", \"expiresAt\": \"2021-08-26T00:02:49.488Z\", \"createdBy\": \"crn::user:1234\", \"updatedAt\": \"2021-08-25T00:00:00.000Z\", \"updatedBy\": \"crn::user:1234\", \"status\": \"revoked\" } . Error Responses . | Status | Code | Description | . | 403 | INVITATION_EXPIRED | The Invitation is expired. | . | 403 | INVITATION_ACCEPTED | The Invitation has already been accepted. | . ", - "url": "/api/invitations.html#operations", - "relUrl": "/api/invitations.html#operations" - },"107": { - "doc": "Legacy", - "title": "Legacy Payment Requests", - "content": "Centrapay Payment Requests are serviced via two sets of endpoints; the “next” version (documented Payment Requests) and the “legacy” version (documented on this page). Use of legacy endpoints for new integrations is discouraged where alternative endpoints have been provided. Legacy Payment Request endpoints also have interactive Swagger documentation. ", - "url": "/api/legacy-payment-requests#legacy-payment-requests", - "relUrl": "/api/legacy-payment-requests#legacy-payment-requests" - },"108": { - "doc": "Legacy", - "title": "Contents", - "content": ". | Operations . | Creating a payment request | Getting the information about a payment request | Paying a payment request | Cancelling a payment request | Voiding a payment request | Refunding a transaction | . | Webhooks . | Life-cycle Events That Trigger Webhooks | Webhook Payload | Webhook JWT Validation | Decoded Webhook JWT Examples | . | . ", - "url": "/api/legacy-payment-requests#contents", - "relUrl": "/api/legacy-payment-requests#contents" - },"109": { - "doc": "Legacy", - "title": "Operations", - "content": ". Creating a payment request . Swagger Docs . POST /payments/api/requests.create . curl -X POST https://service.centrapay.com/payments/api/requests.create \\ -H \"X-Api-Key: $api_key\" \\ -d merchantId=5efbe17d96c083633e2b9241 \\ -d clientId=5efbe2fb96c08357bb2b9242 \\ -d amount=300 \\ -d asset=NZD . Required Parameters . | Parameter | Description | . | amount | The payment amount in cents | . | asset | The currency code (e.g. ‘NZD’) | . | merchantId | The id of the merchant creating the request | . | clientId | The id of the merchant specific client configuration | . See Asset Types for the list of possible asset values for each Asset Type. Optional Parameters . | Parameter | Description | . | description | Description of the payment | . | externalReference | Unique merchant reference for the payment request | . | notifyUrl | The URL that will receive POST requests from the webhook | . | paymentExpirySeconds | The amount of seconds until a request expires, must be an integer greater than 0 and less than 86400 (24 hours) | . | terminalId | The payment system terminal Id. Required for NZ Epay integration. | . | deviceId | Physical payment system device Id | . | patronCode | Associate this payment request with an active Patron Code. | . Error Responses . | Status | Code | Description | . | 400 | CHECKSUM_FAILED | patronCode luhn checksum digit doesn’t pass. | . | 403 | PATRON_CODE_INVALID | patronCode doesn’t exist or has expired. | . | 403 | MERCHANT_CONFIGURATION_NOT_FOUND | There was no merchant configuration found for the supplied merchantId and clientId. | . | 403 | NO_AVAILABLE_PAYMENT_OPTIONS | No payment options match the requested payment parameters. | . Getting the information about a payment request . Swagger Docs . GET /payments/api/requests.info . curl -G https://service.centrapay.com/payments/api/requests.info \\ -H \"X-Api-Key: $api_key\" \\ -d requestId=TyqV56mEkNLUeiY2QskHNR . Required Parameters . | Parameter | Description | . | requestId | The payment requestId that is generated when requests.create is called | . Error Responses . | Http code | Error code | Message | Description | . | 404 | 2 | REQUEST_NOT_FOUND | The provided request doesn’t exist. | . Example response payload of a new request . { \"requestId\": \"TyqV56mEkNLUeiY2QskHNR\", \"shortCode\": \"CP-C7F-ZS5\", \"merchantId\": \"5efbe17d96c083633e2b9241\", \"merchantName\": \"NZD Test Merchant\", \"clientId\": \"5efbe2fb96c08357bb2b9242\", \"denomination\": { \"asset\": \"NZD\", \"amount\": 100 }, \"payments\": [ { \"ledger\": \"centrapay.nzd.test\", \"amount\": 100, \"methods\": [ \"qr_code\" ] } ], \"qrCode\": \"https://app.centrapay.com/pay/TyqV56mEkNLUeiY2QskHNR\", \"requestCode\": \"https://app.centrapay.com/pay/TyqV56mEkNLUeiY2QskHNR\", \"status\": \"new\", \"createdAt\": \"2021-11-29T23:04:54.253Z\", \"updatedAt\": \"2021-11-29T23:04:54.253Z\", \"liveness\": \"test\", \"paymentExpirySeconds\": 120 } . Example response payload of a paid request . { \"requestId\": \"TyqV56mEkNLUeiY2QskHNR\", \"shortCode\": \"CP-C7F-ZS5\", \"merchantId\": \"5efbe17d96c083633e2b9241\", \"merchantName\": \"NZD Test Merchant\", \"clientId\": \"5efbe2fb96c08357bb2b9242\", \"denomination\": { \"asset\": \"NZD\", \"amount\": 100 }, \"payments\": [ { \"ledger\": \"centrapay.nzd.test\", \"amount\": 100, \"methods\": [ \"qr_code\" ] } ], \"qrCode\": \"https://app.centrapay.com/pay/TyqV56mEkNLUeiY2QskHNR\", \"requestCode\": \"https://app.centrapay.com/pay/TyqV56mEkNLUeiY2QskHNR\", \"status\": \"paid\", \"createdAt\": \"2021-11-29T23:04:54.253Z\", \"updatedAt\": \"2021-11-29T23:05:38.254Z\", \"liveness\": \"test\", \"paymentExpirySeconds\": 120, \"paidBy\": { \"ledger\": \"centrapay.nzd.test\", \"type\": \"centrapay.nzd.test\", \"authCode\": \"3MhaANvdS79qhvAj6nYFNT\", \"responseCode\": \"1234\", \"receipt\": \"\", \"v2\": true, \"paidAt\": \"2021-11-29T23:05:38.000Z\", \"amount\": 100, \"account\": \"3MhaANvdS79qhvAj6nYFNT\", \"transactionId\": \"TyqV56mEkNLUeiY2QskHNR\", \"description\": \"Centrapay Test NZD\", \"settlementDate\": \"2021-11-29T23:05:38.000Z\", \"assetTotals\": [ { \"type\": \"centrapay.nzd.test\", \"description\": \"Centrapay Test NZD\", \"settlementDate\": \"2021-11-29T23:05:38.000Z\", \"total\": { \"amount\": \"100\", \"currency\": \"NZD\" } } ] } } . Paying a payment request . Swagger Docs . POST /payments/api/requests.pay . curl -X POST https://service.centrapay.com/payments/api/requests.pay \\ -H \"X-Api-Key: $api_key\" \\ -d authorization=4a936ad82d8e51ae0afc317e944bfa569d935a45206b49b67117ee8aaa04a3b1 \\ -d ledger=g.crypto.bitcoin.mainnet \\ -d requestId=7d2b1d52-b609-4ccd-b4cc-c4a9af881bd9 . Required Parameters . | Parameter | Description | . | requestId | The id of the payment request to pay. See requests.create. | . | ledger | The selected payment option to use. See below for expected values. | . | authorization | An identifier that can be used to pay or verify payment. See below for expected values. | . Expected Ledger and Authorization Values . The “ledger” parameter indicates which payment option has been selected to pay the payment request. The selected payment option must be one of the options available for the payment request as per the payments array in the requests.create and requests.info responses. The table below lists the possible ledger and authorization param values. The asset type is the value used to configure the merchant. The ledger param value is returned with the payment request info as payments[].ledger. | Asset Type | Ledger Param Value | Authorization Param Value | . | centrapay.nzd.main | centrapay.nzd.main | Centrapay wallet id | . | centrapay.nzd.test | centrapay.nzd.test | Centrapay wallet id | . | epay.nzd.main | epay.nzd.main | Centrapay asset id | . | bitcoin.main | g.crypto.bitcoin.mainnet | Bitcoin transaction id | . Centrapay Asset Permissions . To pay with a Centrapay asset or wallet ledger the user (identified by the API Key or identity token) must have permission to redeem the asset or transfer funds from the specified wallet. Error Responses . | Http code | Message | Description | . | 403 | REQUEST_EXPIRED | Action cannot be completed because the request has expired. | . | 403 | REQUEST_PAID | Action cannot be completed because the request has been paid. | . | 403 | REQUEST_CANCELLED | Action cannot be completed because the request has already been cancelled. | . | 403 | INVALID_ASSET_TYPE | The merchant is not configured with the provided asset type. | . | 403 | INACTIVE_ASSET | The asset is not spendable. It may have been disabled, expired, or already spent. | . | 403 | INVALID_MERCHANT_CONFIG | The merchant is not configured properly to satisfy the payment request. This could be due to incorrect information, or the merchant’s credentials might be blocked by an external service. | . | 403 | QUOTA_EXCEEDED | The payment pay request exceeds the allowed spend quota supplied. | . | 403 | INSUFFICIENT_ASSET_VALUE | The asset has insufficient funds to pay the payment request or the transaction amount received by Centrapay is less than the total of the payment. | . | 403 | ASSET_REDEMPTION_DENIED | The asset redemption has been unsuccessful due to an error with provided payment parameters, the merchant, or the asset. | . Cancelling a payment request . Swagger Docs . POST /payments/api/requests.cancel . curl -X POST https://service.centrapay.com/payments/api/requests.cancel \\ -H \"X-Api-Key: $api_key\" \\ -d requestId=a95b3b0d-1278-4613-8772-20d146065a2e . Required Parameters . | Parameter | Description | . | requestId | The payment requestId that is generated when requests.create is called | . Error Responses . | Http code | Error code | Message | Description | . | 404 | 2 | REQUEST_NOT_FOUND | The provided request doesn’t exist. | . | 400 | 18 | REQUEST_EXPIRED | Action cannot be completed because the request has expired. | . | 400 | 19 | REQUEST_PAID | Action cannot be completed because the request has been paid. | . Voiding a payment request . Swagger Docs . POST /payments/api/requests.void . curl -X POST https://service.centrapay.com/payments/api/requests.void \\ -H \"X-Api-Key: $api_key\" \\ -d requestId=a95b3b0d-1278-4613-8772-20d146065a2e . Required Parameters . | Parameter | Description | . | requestId | The payment requestId that is generated when requests.create is called. | . Error Responses . | Http code | Error code | Message | Description | . | 404 | 2 | REQUEST_NOT_FOUND | The provided request doesn’t exist. | . | 403 |   | VOID_WINDOW_EXCEEDED | The amount of time since the payment request was created exceeds the window of time a payment request can be voided (24 hours). | . Voiding a payment request can cause it to be cancelled or refunded. Therefore, this endpoint can give the same error responses as requests.cancel and transactions.refund. After 24 hours voiding a payment request will be disallowed, however a refund can still be made against the payment request if it has been paid successfully. Refunding a transaction . Swagger Docs . POST /payments/api/transactions.refund . curl -X POST https://service.centrapay.com/payments/api/transactions.refund \\ -H \"X-Api-Key: $api_key\" \\ -d transactionId=7d2b1d52-b609-4ccd-b4cc-c4a9af881bd9 \\ -d amount=100 . Refunding a transaction can be done with or without an external reference. Refund without external reference . If you refund a transaction without providing an external reference, you will get a successful response for the first request and then an ALREADY_REFUNDED message for any refund requests that follow for the same transaction, unless an external reference is provided. Refund with external reference . If you provide an external reference then a transaction can be refunded multiple times provided that the external reference is unique for each refund request. When a duplicate external reference is provided when attempting to refund the same transaction we return a successful response if the amount of the request is the same both times but do not process another refund, this is because we assume it to be a repeat request. If the amount is different you will get a REPEAT_REFERENCE error message. Refund a Pre Auth Payment Request with Confirmations . The legacy refund endpoint cannot be used to refund Pre Auth Payment Requests with Confirmations. Please use the current refund endpoint instead. Required Parameters for one time refund . | Parameter | Description | . | transactionId | The transaction to refund. The transaction id for a payment can be obtained from a webhook notification or from requests.info. | . | amount | The amount to refund in cents | . Additional required Parameter for multiple refunds . | Parameter | Description | . | externalReference | A reference supplied by the merchant that must be unique for each refund of that transaction, can be anything you want but it must be unique. | . Error Responses . | Http code | Error code | Message | Description | . | 404 | 3 | TRANSACTION_NOT_FOUND | The provided transaction doesn’t exist. | . | 400 | 276 | ALREADY_REFUNDED | The transaction has already been refunded. | . | 400 | 277 | INVALID_AMOUNT | The refund requested is greater than the transaction amount. | . | 400 | 280 | REPEAT_REFERENCE | A separate refund request for the same transaction has the same external reference, trying to refund the same transaction twice with the same external reference is not allowed. If the amount of the refund is the same we assume it is a repeat request and return 200. | . | 403 | 281 | PARTIAL_REFUNDS_NOT_ALLOWED | The asset does not support partial refunds. | . | 403 | 283 | INACTIVE_ASSET | The asset is not refundable. It may have been disabled, expired, or already refunded. | . | 403 |   | REFUND_NOT_SUPPORTED | The asset type does not support refunds. | . | 403 |   | REFUND_WINDOW_EXCEEDED | The time since the payment exceeds the window of time a transaction can be refunded in. | . ", - "url": "/api/legacy-payment-requests#operations", - "relUrl": "/api/legacy-payment-requests#operations" - },"110": { - "doc": "Legacy", - "title": "Webhooks", - "content": "Webhook notifications are sent for significant Payment life-cycle events. The Webhook endpoint is notified by sending an HTTP POST request to the notifyUrl defined in the Payment Request. Life-cycle Events That Trigger Webhooks . The supported event types that will be notified to the Payment Requests webhook and the associated “transactionType” value that will be sent in the payload are: . | Event Type | Value of “transactionType” | . | Payment Request Cancelled | CANCELLED | . | Payment Request Expired | EXPIRED | . | Transaction Completed | PURCHASE | . | Transaction Refunded | REFUND | . Payment Request Cancelled . A payment request can be cancelled by either calling the requests.cancel or requests.void endpoint before a request has been paid successfully. When a request has been cancelled we send a JWT that when decoded matches the Payment Request Cancelled example in the Decoded Webhook JWT Examples section below. Payment Request Expired . A payment request expires two minutes after being created if it hasn’t been cancelled, or paid. When a request has expired we send a JWT that when decoded matches the Payment Request Cancelled example in the Decoded Webhook JWT Examples section below with the transactionType set to EXPIRED. Transaction Completed . A transaction is considered complete when requests.pay is called with parameters that satisfy a payment request and the request has been paid successfully. When a transaction has been completed we send a JWT that when decoded matches the Transaction Completed example in the Decoded Webhook JWT Examples section below. Transaction Refunded . A transaction can be refunded one to many times and each time a transaction has been refunded successfully we notify the webhook associated with the original payment request. A transaction can be refunded when transactions.refund has been called for a partial or full refund, or when requests.void is called for a request that has been paid. When a transaction has been refunded we send a JWT that when decoded matches the Transaction Completed example in the Decoded Webhook JWT Examples section below but with transactionType set to REFUND. Webhook Payload . The body of the webhook is a JSON document with the following format: . { \"token\": \"${JWT}\" } . The decoded JWT will contain a “transaction” property with a “transactionType” that indicates the event type. Depending on the type of event, the payload will also contain additional details about the transaction and payment request. For example: . { \"transaction\": { \"transactionType\": \"REFUND\", \"request\": { \"requestId\": \"bec358bf-edb5-4633-a785-a95cc281d3b7\", \"denomination\": { \"asset\": \"NZD\", \"amount\": \"100\" } } } } . Webhook Payload Fields . | Property | Description | . | transactionId | Id of the transaction | . | transactionType | Indicates which event triggered the notification message | . | state | Current state of the transaction | . | ledger | The ledger at which the authorization was processed | . | amount | Transaction amount in the lowest denomination available | . | createdAt | Timestamp at which the request was created | . | updatedAt | Timestamp at which the request was updated | . | type | The payment type used by the issuer to reconcile settlement | . | request | Request object, see details at requests.info | . | authCode | Authorization code used to settle this transaction | . Webhook JWT Validation . A webhook JWT can be validated by checking the signature against the Centrapay Webhook public key: . -----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEt+vW2fE0mLLmdzJtYrz7J9q/yEXl gmIjCXdv3VNvYfTsaBO5PJNiaD3l9lD8PzEQu31ePsOG81mDVuo40+dgLg== -----END PUBLIC KEY----- . Decoded Webhook JWT Examples . Transaction Completed Successfully . { \"transaction\": { \"transactionId\": \"E6ctbmgmkgZ3xnPk3BkGvb\", \"transactionType\": \"PURCHASE\", \"ledger\": \"g.crypto.bitcoin.mainnet\", \"state\": \"completed\", \"amount\": 2000, \"request\": { \"requestId\": \"0FmbuirpQG4iuy6xAV9R1p\", \"merchantId\": \"613919a417bea000290e97e3\", \"externalReference\": \"12345sixseveneightnineten\", \"denomination\": { \"asset\": \"NZD\", \"amount\": 2000 } }, \"createdAt\": \"2018-10-02T00:29:09.307Z\", \"updatedAt\": \"2018-10-02T00:29:11.383Z\", \"type\": \"BITCOIN\", \"authCode\": \"961241\" } } . Payment Request Cancelled . { \"transaction\": { \"transactionType\": \"CANCELLED\", \"request\": { \"requestId\": \"0FmbuirpQG4iuy6xAV9R1p\", \"merchantId\": \"613919a417bea000290e97e3\", \"clientId\": \"613919a417bea000290e97e4\", \"denomination\": { \"asset\": \"NZD\", \"amount\": \"1\" } } } } . ", - "url": "/api/legacy-payment-requests#webhooks", - "relUrl": "/api/legacy-payment-requests#webhooks" - },"111": { - "doc": "Legacy", - "title": "Legacy", - "content": " ", - "url": "/api/legacy-payment-requests", - "relUrl": "/api/legacy-payment-requests" - },"112": { - "doc": "Managed Integrations", - "title": "Managed Integration", - "content": "A Managed Integration is an Integration which a third party can control. ", - "url": "/api/managed-integrations#managed-integration", - "relUrl": "/api/managed-integrations#managed-integration" - },"113": { - "doc": "Managed Integrations", - "title": "Contents", - "content": ". | Models . | Managed Integration | Invitation Summary EXPERIMENTAL | Bank Account | . | Params . | paypal-referral | . | Operations . | Create or Update a Managed Integration EXPERIMENTAL | Get a Managed Integration EXPERIMENTAL | . | . ", - "url": "/api/managed-integrations#contents", - "relUrl": "/api/managed-integrations#contents" - },"114": { - "doc": "Managed Integrations", - "title": "Models", - "content": "Managed Integration . Mandatory Fields . | Field | Type | Description | . | id | String | The Managed Integration’s unique identifier. | . | type | String | The type of Managed Integration. Supported types are paypal-referral. | . | enabled | Boolean | Flag indicating whether the Managed Integration should become active or inactive. | . | status | String | Current status of the Managed Integration. Supported values are created, pending, provisioning, active, inactive and archived. | . | externalId | String | Field used to reference an id from an external system. | . | params | Object | Params depending on the Managed Integration type. | . | createdAt | Timestamp | When the Managed Integration was created. | . | createdBy | CRN | The User or API Key that created the Managed Integration. | . | updatedAt | Timestamp | When the Managed Integration was updated. | . | updatedBy | CRN | The User or API Key that updated the Managed Integration. | . Optional Fields . | Field | Type | Description | . | claimedByAccountId | String | Centrapay account id used to claim the Managed Integration. | . | claimedBy | CRN | The User or API Key that claimed the Managed Integration. | . | claimedAt | Timestamp | When the Managed Integration was claimed. | . | invitation | Invitation Summary | A summary of the associated Invitation. | . | inProgress | Boolean | Flag indicating whether a status transition is in progress. | . | test | Boolean | A flag which is present if the Managed Integration is for testing | . Invitation Summary EXPERIMENTAL . A summary of the Invitation for a Managed Integration. Fields . | Name | Type | Description | . | id | String | The Invitation’s unique identifier. | . | code | String | The Invitation code. | . | expiresAt | Timestamp | When the Invitation expires. | . Bank Account . Mandatory Fields . | Field | Type | Description | . | number | String | The bank account number | . ", - "url": "/api/managed-integrations#models", - "relUrl": "/api/managed-integrations#models" - },"115": { - "doc": "Managed Integrations", - "title": "Params", - "content": "paypal-referral . Mandatory Fields . | Field | Type | Description | . | centrapayMerchantId | String | The ID of the Centrapay merchant that will be onboarded. | . | email | String | The email address to send the PayPal referral to. | . ", - "url": "/api/managed-integrations#params", - "relUrl": "/api/managed-integrations#params" - },"116": { - "doc": "Managed Integrations", - "title": "Operations", - "content": "Create or Update a Managed Integration EXPERIMENTAL . PUT /api/managed-integrations/{type}/{externalId} . curl -X PUT https://service.centrapay.com/api/managed-integrations/paypal-referral/DKTs3U38hdhfEqwF1JKoT2 \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"enabled\": true, \"params\": { \"centrapayMerchantId\": \"5ffcaf432003060007b98343\", \"email\": \"test@centrapay.com\" } }' . Required Fields . | Field | Type | Description | . | enabled | Boolean | Flag indicating whether the Managed Integration should become active or inactive. | . | params | Object | Params depending on the Managed Integration type. | . Optional Fields . | Field | Type | Description | . | test | Boolean | Flag indicating the Managed Integration is for testing, this cannot be changed once the resource has been created. | . Example response payload . { \"id\": \"5ee0c486308f590260d9a07f\", \"type\": \"paypal-referral\", \"externalId\": \"DKTs3U38hdhfEqwF1JKoT2\", \"enabled\": true, \"params\": { \"centrapayMerchantId\": \"5ffcaf432003060007b98343\", \"email\": \"test@centrapay.com\" }, \"status\": \"provisioning\", \"claimedByAccountId\": \"Jaim1Cu1Q55uooxSens6yk\", \"claimedBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"claimedAt\": \"2020-06-12T01:17:46.499Z\", \"inProgress\": true, \"createdAt\": \"2020-06-11T01:17:46.499Z\", \"createdBy\": \"crn:BIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"updatedAt\": \"2020-06-12T01:17:46.499Z\", \"updatedBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\" } . Error Responses . | Status | Code | Description | . | 400 | INVALID_PARAMS | Invalid Params provided for Managed Integration type. | . | 403 | MERCHANT_LIVENESS_MISMATCH | The test flag on the merchant doesn’t match the test flag on the paypal-referral managed integration. | . | 403 | MERCHANT_NOT_FOUND | The merchant is not found with the centrapayMerchantId on the paypal-referral managed integration. | . Get a Managed Integration EXPERIMENTAL . GET /api/managed-integrations/{id} . curl https://service.centrapay.com/api/managed-integrations/dh375hdh08f590260d9a07f \\ -H \"X-Api-Key: $api_key\" . Example response payload . { \"id\": \"5ee0c486308f590260d9a07f\", \"type\": \"paypal-referral\", \"externalId\": \"DKTs3U38hdhfEqwF1JKoT2\", \"enabled\": true, \"params\": { \"centrapayMerchantId\": \"5ffcaf432003060007b98343\", \"email\": \"test@centrapay.com\" }, \"status\": \"provisioning\", \"claimedByAccountId\": \"Jaim1Cu1Q55uooxSens6yk\", \"claimedBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"claimedAt\": \"2020-06-12T01:17:46.499Z\", \"inProgress\": true, \"createdAt\": \"2020-06-11T01:17:46.499Z\", \"createdBy\": \"crn:BIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"updatedAt\": \"2020-06-12T01:17:46.499Z\", \"updatedBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\" } . ", - "url": "/api/managed-integrations#operations", - "relUrl": "/api/managed-integrations#operations" - },"117": { - "doc": "Managed Integrations", - "title": "Managed Integrations", - "content": " ", - "url": "/api/managed-integrations", - "relUrl": "/api/managed-integrations" - },"118": { - "doc": "Media Uploads", - "title": "Media Uploads", - "content": " ", - "url": "/api/media-uploads", - "relUrl": "/api/media-uploads" - },"119": { - "doc": "Media Uploads", - "title": "Contents", - "content": ". | Models . | Media Upload | . | Operations . | Create a presigned URL for Media Upload EXPERIMENTAL | Get Media Upload Location EXPERIMENTAL | . | . ", - "url": "/api/media-uploads#contents", - "relUrl": "/api/media-uploads#contents" - },"120": { - "doc": "Media Uploads", - "title": "Models", - "content": "Media Upload . Mandatory Fields . | Field | Type | Description | . | id | String | The Media Upload’s unique identifier. | . | accountId | String | The Media Upload’s owning Centrapay Account id. | . | mimeType | String | The media (MIME) type of the upload. | . | fileName | String | The file name of the upload. | . | createdAt | Timestamp | When the Media Upload was created. | . | updatedAt | Timestamp | When the Media Upload was updated. | . | createdBy | CRN | The User or API Key that created the Media Upload. | . | updatedBy | CRN | The User or API Key that updated the Media Upload. | . Optional Fields . | Field | Type | Description | . | uploadUrl | String | A presigned URL that gives users time-limited permission to upload media. | . ", - "url": "/api/media-uploads#models", - "relUrl": "/api/media-uploads#models" - },"121": { - "doc": "Media Uploads", - "title": "Operations", - "content": "Create a presigned URL for Media Upload EXPERIMENTAL . POST /api/media-uploads . curl -X POST https://service.centrapay.com/api/media-uploads \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"accountId\": \"Jaim1Cu1Q55uooxSens6yk\", \"mimeType\": \"image/png\", \"fileName\": \"image.png\" }' . Required Fields . | Field | Type | Description | . | accountId | String | The Media Upload’s owning Centrapay Account id. | . | mimeType | String | The media (MIME) type of the upload. | . | fileName | String | The file name of the upload. | . Example response payload . { \"id\": \"DKTs3U38hdhfEqwF1JKoT2\", \"uploadUrl\": \"https://media-upload.centrapay.com/image.png?jhbdsfau67ewejshb=487hsdjhbdgs743\" } . Get Media Upload Location EXPERIMENTAL . GET /api/media-uploads/{mediaUploadId}/location . curl https://service.centrapay.com/api/media-uploads/DKTs3U38hdhfEqwF1JKoT2/location \\ -H \"X-Api-Key: $api_key\" . Example response payload . { \"url\": \"https://media-upload.centrapay.com/image.png?jhbdsfau67ewejshb=487hsdjhbdgs743\" } . ", - "url": "/api/media-uploads#operations", - "relUrl": "/api/media-uploads#operations" - },"122": { - "doc": "Merchant Configs", - "title": "Merchant Configs", - "content": "A Merchant Config defines the available payment options for paying a Payment Request. ", - "url": "/api/merchant-configs", - "relUrl": "/api/merchant-configs" - },"123": { - "doc": "Merchant Configs", - "title": "Contents", - "content": ". | Models . | Merchant Config | Payment Option Config | . | Operations . | Create a Merchant Config | Get a Merchant Config | List Merchant Configs | Update a Merchant Config | . | . ", - "url": "/api/merchant-configs#contents", - "relUrl": "/api/merchant-configs#contents" - },"124": { - "doc": "Merchant Configs", - "title": "Models", - "content": ". Merchant Config . Required Fields . | Field | Type | Description | . | paymentOptions | Array | Array of Payment Option Configs. | . | createdAt | Timestamp | When the Merchant Config was created. | . | createdBy | CRN | The User or API Key that created the Merchant Config. | . | updatedAt | Timestamp | When the Merchant Config was updated. | . | updatedBy | CRN | The User or API Key that updated the Merchant Config. | . Optional Fields . | Field | Type | Description | . | allowedRedirectUrls | Array | Experimental Allowed prefixes for the redirectUrl property on Payment Requests created with this Config. | . Payment Option Config . Required Fields . | Field | Type | Description | . | type | String | Type of payment method. See supported payment types below. | . Optional Fields . | Field | Type | Description |   | . | walletId | String | Merchant’s Centrapay Settlement Wallet to receive payments. Optional for centrapay.nzd types, if not supplied then a settlement wallet may be created and then assigned. |   | . | assetId | String | Merchant’s Centrapay Settlement Asset to receive payments. Optional for quartz.nzd types, if not supplied then a settlement asset may be created and then assigned. |   | . | terminalId | String | Merchant’s Epay terminal id. |   | . | paypalMerchantAccountId | String | Id of the PayPal merchants account. Required for paypal.usd and venmo.usd types. |   | . | paypalStoreId | String | Id of the PayPal merchants store. Required for paypal.usd and venmo.usd types. |   | . | farmlandsMerchantNumber | String | Id of the Farmlands merchant that funds will be transferred to. |   | . | externalMerchantId | String | Id of the external merchant. Required for stadius and uplinkapi.test types. |   | . See Asset Types for values that may be present in the type field. Warning: Test payment options should never be used for live merchant configurations. ", - "url": "/api/merchant-configs#models", - "relUrl": "/api/merchant-configs#models" - },"125": { - "doc": "Merchant Configs", - "title": "Operations", - "content": "Create a Merchant Config . POST /api/merchants/{merchantId}/configs . curl -X POST https://service.centrapay.com/api/merchants/5ee0c486308f590260d9a07f/configs \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"paymentOptions\": [ { \"type\": \"centrapay.nzd.main\", \"walletId\": \"1234c486308f3f0a23f0f92b\" }, { \"type\": \"epay.nzd.main\", \"terminalId\": \"11000021\" }, { \"type\": \"farmlands.nzd.main\", \"farmlandsMerchantNumber\": \"DbgY2SyD5M85zkePJjsQEf\" } ] }' . Example response payload . { \"id\": \"5ee168e8597be5002af7b454\", \"merchantId\": \"5ee0c486308f590260d9a07f\", \"createdAt\": \"2021-11-12T01:17:46.499Z\", \"updatedAt\": \"2021-11-12T01:17:46.499Z\", \"createdBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"updatedBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"paymentOptions\": [ { \"type\": \"centrapay.nzd.main\", \"walletId\": \"1234c486308f3f0a23f0f92b\" }, { \"type\": \"epay.nzd.main\", \"terminalId\": \"11000021\" }, { \"type\": \"farmlands.nzd.main\", \"farmlandsMerchantNumber\": \"DbgY2SyD5M85zkePJjsQEf\" } ] } . Error Responses . | Status | Code | Description | . | 403 | INVALID_WALLET_TYPE | walletId does not belong to a Settlement Wallet. | . | 403 | LIVENESS_MISMATCH | Only Merchants with the test flag can have merchant configs with test assets, vice versa | . Get a Merchant Config . GET /api/merchants/{merchantId}/configs/{configId} . curl https://service.centrapay.com/api/merchants/5ee0c486308f590260d9a07f/configs/5ee168e8597be5002af7b454 \\ -H \"X-Api-Key: $api_key\" . Example response payload . { \"id\": \"5ee168e8597be5002af7b454\", \"merchantId\": \"5ee0c486308f590260d9a07f\", \"createdAt\": \"2021-11-12T01:17:46.499Z\", \"updatedAt\": \"2021-11-12T01:17:46.499Z\", \"createdBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"updatedBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"paymentOptions\": [ { \"type\": \"farmlands.nzd.main\", \"farmlandsMerchantNumber\": \"DbgY2SyD5M85zkePJjsQEf\" } ] } . List Merchant Configs . GET /api/merchants/{merchantId}/configs . curl https://service.centrapay.com/api/merchants/5ee0c486308f590260d9a07f/configs \\ -H \"X-Api-Key: $api_key\" . Example response payload . [ { \"id\": \"5ee168e8597be5002af7b454\", \"merchantId\": \"5ee0c486308f590260d9a07f\", \"createdAt\": \"2021-09-12T01:17:46.499Z\", \"updatedAt\": \"2021-09-12T01:17:46.499Z\", \"createdBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"updatedBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"paymentOptions\": [ { \"type\": \"farmlands.nzd.main\", \"farmlandsMerchantNumber\": \"DbgY2SyD5M85zkePJjsQEf\" } ] }, { \"id\": \"5ee168e8597be5002af7baed\", \"merchantId\": \"5ee0c486308f590260d9a07f\", \"createdAt\": \"2021-11-12T01:17:46.499Z\", \"updatedAt\": \"2021-11-12T01:17:46.499Z\", \"createdBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"updatedBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"paymentOptions\": [ { \"type\": \"test\" } ] } ] . Update a Merchant Config . PUT /api/merchants/{merchantId}/configs/{configId} . curl -X PUT https://service.centrapay.com/api/merchants/5ee0c486308f590260d9a07f/configs/5ee168e8597be5002af7baed \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"paymentOptions\": [ { \"type\": \"bitcoin.main\" }, { \"type\": \"centrapay.nzd.test\", \"walletId\": \"1234c486308f3f0a23f0f92b\" }, { \"type\": \"farmlands.nzd.main\", \"farmlandsMerchantNumber\": \"DbgY2SyD5M85zkePJjsQEf\" } ] }' . Example response payload . { \"id\": \"5ee168e8597be5002af7baed\", \"merchantId\": \"5ee0c486308f590260d9a07f\", \"createdAt\": \"2021-09-12T01:17:46.499Z\", \"updatedAt\": \"2021-12-12T01:17:46.499Z\", \"createdBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"updatedBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"paymentOptions\": [ { \"type\": \"bitcoin.main\" }, { \"type\": \"centrapay.nzd.test\", \"walletId\": \"1234c486308f3f0a23f0f92b\" }, { \"type\": \"farmlands.nzd.main\", \"farmlandsMerchantNumber\": \"DbgY2SyD5M85zkePJjsQEf\" } ] } . Error Responses . | Status | Code | Description | . | 403 | INVALID_WALLET_TYPE | walletId does not belong to a Settlement Wallet. | . | 403 | LIVENESS_MISMATCH | Only Merchants with the test flag can have merchant configs with test assets, vice versa | . ", - "url": "/api/merchant-configs#operations", - "relUrl": "/api/merchant-configs#operations" - },"126": { - "doc": "Merchants", - "title": "Merchants", - "content": "A merchant is an initiator of Payment Requests. A Merchant has Merchant Configs which define the payment methods available for a Payment Request. ", - "url": "/api/merchants", - "relUrl": "/api/merchants" - },"127": { - "doc": "Merchants", - "title": "Contents", - "content": ". | Models . | Merchant | Settlement Config | Merchant Search Result | Accepted Asset | Product | . | Operations . | Create a Merchant | Get a Merchant | List Merchants for Account | Update a Merchant | Set Merchant Onboarding Status | Search Merchants EXPERIMENTAL | List all Merchants DEPRECATED | . | . ", - "url": "/api/merchants#contents", - "relUrl": "/api/merchants#contents" - },"128": { - "doc": "Merchants", - "title": "Models", - "content": "Merchant . Mandatory Fields . | Field | Type | Description | . | id | String | Merchant’s unique identifier. | . | accountId | String | Id of Merchant’s owning Centrapay account. | . | name | String | Merchant name. | . | country | String | Merchant ISO 3166 country code. Must match the “region” on the Account. | . | createdAt | Timestamp | When the Merchant was created. | . | createdBy | CRN | The User or API Key that created the Merchant. | . | updatedAt | Timestamp | When the Merchant was updated. | . | updatedBy | CRN | The User or API Key that updated the Merchant. | . | onboardingStatus | String | The onboarding status of the Merchant. See Onboarding Statuses for possible values. | . Optional Fields . | Field | Type | Description | . | test | Boolean | EXPERIMENTAL Flag indicating merchant is for testing. | . | settlementConfig | Settlement Config | EXPERIMENTAL Merchant settlement config. | . | location | Location | EXPERIMENTAL Physical Location of Merchant. It is highly recommended that you provide this otherwise, users won’t be able to find you with our Merchant Search API if they perform a origin + distance query. | . | onboardingStatusReason | String | The reason associated with the Onboarding Status. See Onboarding Status Reasons for possible values. | . Onboarding Statuses . | Status | Description | Allowed Reasons | . | applied | Identifies merchants that have registered to be activated for the Centrapay service. |   | . | provisioning | Identifies merchants that are in the process of being activated for the Centrapay service. |   | . | active | Identifies merchants that have been activated for Centrapay services successfully (i.e. they have successfully created a Payment Request). |   | . | deactivated | Identifies merchants that have been de-registered for the Centrapay service. | duplicate, data-quality-issues, no-response, change-of-ownership, centrapay-discontinued. | . | on-hold | Identifies merchants that have been placed on hold. | seasonal-business-closure, incompatible-terminal, no-response | . Onboarding Status Reasons . | Reason | Description | . | duplicate | The merchant already exists in the Centrapay system. | . | data-quality-issues | Data quality issues are preventing the merchant from onboarding. | . | no-response | No response has been received from the merchant. | . | change-of-ownership | The merchant has changed ownership. | . | centrapay-discontinued | The merchant is no longer using Centrapay. | . | seasonal-business-closure | The merchant has closed temporarily. | . | incompatible-terminal | The merchant does not have any compatible terminals. | . Settlement Config . Optional Fields . | Field | Type | Description | . | bankAccountId | String | The id of the bank account funds should be settled into. This must belong to the account | . Merchant Search Result . | Field | Type | Description | . | id | String | Merchant’s unique identifier | . | name | String | Merchant’s name | . | acceptedAssets | Accepted Asset | List of assets accepted by the merchant | . | location | Location Optional | Physical location of the merchant | . Accepted Asset . | Field | Type | Description | . | assetType | String | The type of the asset | . | products | Product Optional | List of products supported by the asset type. Only available for epay.nzd and centrapay.token asset types. | . Product . | Field | Type | Description | . | id | String | Product’s unique identifier | . ", - "url": "/api/merchants#models", - "relUrl": "/api/merchants#models" - },"129": { - "doc": "Merchants", - "title": "Operations", - "content": "Create a Merchant . POST /api/merchants . curl -X POST https://service.centrapay.com/api/merchants \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"accountId\": \"C4QnjXvj8At6SMsEN4LRi9\", \"name\": \"Centrapay Cafe Auckland\", \"country\": \"NZ\", \"test\": false }' . Example response payload . { \"id\": \"5ee0c486308f590260d9a07f\", \"accountId\": \"yqwyya0rzz3vvshqw0474u89xtj5fn\", \"name\": \"Centrapay Cafe Auckland\", \"country\": \"NZ\", \"test\": false, \"onboardingStatus\": \"applied\", \"createdAt\": \"2021-11-12T01:17:46.499Z\", \"updatedAt\": \"2021-11-12T01:17:46.499Z\", \"createdBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"updatedBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\" } . Error Responses . | Status | Code | Description | . | 403 | BANK_ACCOUNT_MISMATCH | The bank account in the settlement config does not belong to the same account. | . | 403 | ACCOUNT_REGION_MISMATCH | The merchant’s “country” does not match the “region” on the Account. | . Get a Merchant . GET /api/merchants/{merchantId} . curl https://service.centrapay.com/api/merchants/5ee0c486308f590260d9a07f \\ -H \"X-Api-Key: $api_key\" . Example response payload . { \"id\": \"5ee0c486308f590260d9a07f\", \"accountId\": \"yqwyya0rzz3vvshqw0474u89xtj5fn\", \"name\": \"Parisian - Brown\", \"test\": false, \"country\": \"AD\", \"onboardingStatus\": \"applied\", \"createdAt\": \"2021-11-12T01:17:46.499Z\", \"updatedAt\": \"2021-11-12T01:17:46.499Z\", \"createdBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"updatedBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\" } . List Merchants for Account . Returns a paginated list of Merchants attached to an Account. GET /api/accounts/{accountId}/merchants . curl https://service.centrapay.com/api/accounts/Jaim1Cu1Q55uooxSens6yk/merchants \\ -H \"X-Api-Key: $api_key\" . Example response payload . { \"items\": [ { \"accountId\": \"Jaim1Cu1Q55uooxSens6yk\", \"country\": \"BT\", \"id\": \"5f6bf6ff81552101f8ff6122\", \"name\": \"Adams, Runolfsdottir and Botsford\", \"test\": true, \"onboardingStatus\": \"applied\", \"createdAt\": \"2021-11-12T01:17:46.499Z\", \"updatedAt\": \"2021-11-12T01:17:46.499Z\", \"createdBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"updatedBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\" }, { \"accountId\": \"Jaim1Cu1Q55uooxSens6yk\", \"country\": \"GM\", \"id\": \"5f6bf6ff81552101f8ff6123\", \"name\": \"Vandervort Inc\", \"test\": false, \"onboardingStatus\": \"applied\", \"createdAt\": \"2021-11-12T01:17:46.499Z\", \"updatedAt\": \"2021-11-12T01:17:46.499Z\", \"createdBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"updatedBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\" } ] } . Update a Merchant . PUT /api/merchants/{merchantId} . curl -X PUT https://service.centrapay.com/api/merchants/5ee0c486308f590260d9a07f \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"name\": \"Centrapay Café\", \"location\": { \"lat\": \"-36.8483579\", \"lng\": \"174.7725834\", \"city\": \"Auckland\", \"postCode\": \"1010\", \"country\": \"NZ\" }, \"settlementConfig\": { \"bankAccountId\": \"WRhAxxWpTKb5U7pXyxQjjY\" } }' . Example response payload . { \"id\": \"5ee0c486308f590260d9a07f\", \"accountId\": \"yqwyya0rzz3vvshqw0474u89xtj5fn\", \"name\": \"Centrapay Café\", \"test\": false, \"country\": \"NZ\", \"onboardingStatus\": \"applied\", \"location\": { \"lat\": \"-36.8483579\", \"lng\": \"174.7725834\", \"city\": \"Auckland\", \"postCode\": \"1010\", \"country\": \"NZ\" }, \"settlementConfig\": { \"bankAccountId\": \"WRhAxxWpTKb5U7pXyxQjjY\" }, \"createdAt\": \"2021-09-12T01:11:22.491Z\", \"updatedAt\": \"2021-11-12T01:17:46.499Z\", \"createdBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"updatedBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\" } . Error Responses . | Status | Code | Description | . | 403 | BANK_ACCOUNT_MISMATCH | The bank account in the settlement config does not belong to the same account. | . Set Merchant Onboarding Status . POST /api/merchants/{merchantId}/set-onboarding-status . curl -X POST https://service.centrapay.com/api/merchants/5ee0c486308f590260d9a07f/set-onboarding-status \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"onboardingStatus\": \"deactivated\", \"onboardingStatusReason\": \"change-of-ownership\" }' . Example response payload . { \"type\": \"set-onboarding-status\", \"onboardingStatus\": \"deactivated\", \"onboardingStatusReason\": \"change-of-ownership\", \"merchantId\": \"MhocUmpxxmgdHjr7DgKoKw\", \"createdAt\": \"2021-09-12T01:11:22.491Z\", \"createdBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"activityNumber\": \"2\" } . Search Merchants EXPERIMENTAL . Returns a paginated response of merchant search results that match the search query . This endpoint does not require Auth . GET /api/merchants/search . curl -G https://service.centrapay.com/api/merchants/search \\ -H \"X-Api-Key: $api_key\" \\ -d origin=123.42,32.22 \\ -d distance=100 \\ -d asset=epay.nzd.main,37873 \\ -d pageKey=10 \\ -d paginationLimit=10 . Query Parameters . | Parameter | Type | Description | . | origin | String Optional | The point to be searched around, formatted as a latitude,longitude | . | distance | Number Optional | The distance from the origin to be searched around in km | . | asset | String Optional | A string of the format {assetType},{productId} describing the asset where assetType is the type of asset to filter the merchants by and productId is the asset’s productCode for epay.nzd asset types or the asset’s collectionId for centrapay.token asset types | . | name | String Optional | Name of the merchant | . | pageKey | String Optional | pageKey of next merchant to fetch | . | paginationLimit | String Optional | Maximum amount of merchants to return | . Response . | Field | Type | Description | . | totalItems | Number | Total number of merchants that match the search query | . | items | Merchant Search Result | List of merchants returned that match the search query | . | nextPageKey | String | Can be used to fetch the next page, not present on the last page | . Example response payload . { \"totalItems\": 100, \"items\": [ { \"id\": \"M001\", \"name\": \"Store 1\", \"acceptedAssets\": [ { \"assetType\": \"centrapay.nzd.main\" }, { \"assetType\": \"epay.nzd.main\", \"products\": [ { \"id\": \"37873\" }, { \"id\": \"38183\" } ] }, { \"assetType\": \"centrapay.token.main\", \"products\": [ { \"id\": \"Xv990BzkgfoDS7bBls50pd\" } ] } ], \"location\": { \"lat\": \"123.45\", \"lng\": \"32.21\", \"city\": \"Auckland\", \"country\": \"NZ\", \"postCode\": \"1234\", \"state\": \"Auckland\", \"street\": \"2 Street Street\", \"suburb\": \"Place\" } } ], \"nextPageKey\": \"20\" } . List all Merchants DEPRECATED . Returns a paginated list of Merchants which belong to the authenticated subject. GET /api/merchants . curl https://service.centrapay.com/api/merchants \\ -H \"X-Api-Key: $api_key\" . Example response payload . { \"items\": [ { \"accountId\": \"3xsjxxwmnpkunjbcpekyekc84rzxr4\", \"country\": \"BT\", \"id\": \"5f6bf6ff81552101f8ff6122\", \"name\": \"Adams, Runolfsdottir and Botsford\", \"test\": true, \"onboardingStatus\": \"applied\", \"createdAt\": \"2021-11-12T01:17:46.499Z\", \"updatedAt\": \"2021-11-12T01:17:46.499Z\", \"createdBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"updatedBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\" }, { \"accountId\": \"3xsjxxwmnpkunjbcpekyekc84rzxr4\", \"country\": \"GM\", \"id\": \"5f6bf6ff81552101f8ff6123\", \"name\": \"Vandervort Inc\", \"test\": false, \"onboardingStatus\": \"applied\", \"createdAt\": \"2021-11-12T01:17:46.499Z\", \"updatedAt\": \"2021-11-12T01:17:46.499Z\", \"createdBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"updatedBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\" }, { \"accountId\": \"3xsjxxwmnpkunjbcpekyekc84rzxr4\", \"country\": \"MZ\", \"id\": \"5f6bf6ff81552101f8ff6124\", \"name\": \"West, O'Reilly and Huels\", \"test\": true, \"onboardingStatus\": \"applied\", \"createdAt\": \"2021-11-12T01:17:46.499Z\", \"updatedAt\": \"2021-11-12T01:17:46.499Z\", \"createdBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"updatedBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\" } ] } . ", - "url": "/api/merchants#operations", - "relUrl": "/api/merchants#operations" - },"130": { - "doc": "Pagination", - "title": "Pagination", - "content": "Pagination allows a listing endpoint to return a subset of results. The goal is to reduce memory usage and speed up page rendering. To retrieve the next page, a pageKey can be supplied. Typically this will be the nextPageKey returned from your previous query. Please note that when making a request, the values of pageKey must be URL-encoded. This ensures proper handling of special characters and encoding requirements. Some of our endpoints have been designed to be forwards compatible with pagination. When we do bring support to GET endpoints for listing, these conventions will be followed. Models . Mandatory Fields . | Field | Type | Description | . | items | Array | A list from the current page. | . Optional Fields . | Field | Type | Description | . | nextPageKey | String | Can be used to fetch the next page, not present on the last page. | . Example . A GET endpoint for listing with a pageKey . GET /api/examples . curl -G https://service.centrapay.com/api/examples \\ -H \"X-Api-Key: $api_key\" \\ -d pageKey=Example#E9eXsErwA444qFDoZt5iLA|Activity#000000000000001|614161c4c4d3020073bd4ce8 . Fields . | Field | Type | Description | . | pageKey | String Optional | Used to retrieve the next page of items. | . A page with more content . { \"nextPageKey\": \"5ee0c486308f590260d9a07f|ded3f328-1123-11ec-bf1a-5ba46eb12a7d\", \"items\": [ { \"value\": \"16\", \"assetType\": \"centrapay.nzd.main\" }, { \"value\": \"32\", \"assetType\": \"centrapay.nzd.main\" }, { \"value\": \"64\", \"assetType\": \"centrapay.nzd.main\" } ] } . The last page . { \"items\": [ { \"value\": \"128\", \"assetType\": \"centrapay.nzd.main\" } ] } . ", - "url": "/api/pagination", - "relUrl": "/api/pagination" - },"131": { - "doc": "Patron Codes", - "title": "Patron Codes", - "content": "A Patron Code is an alternative to presenting a QR code where that option isn’t available . ", - "url": "/api/patron-codes", - "relUrl": "/api/patron-codes" - },"132": { - "doc": "Patron Codes", - "title": "Contents", - "content": ". | Models . | Patron Code | Test Scenario Name | . | Operations . | Creating a Patron Code | Retrieving a Patron Code | Retrieving a Patron Code by Barcode | . | . ", - "url": "/api/patron-codes#contents", - "relUrl": "/api/patron-codes#contents" - },"133": { - "doc": "Patron Codes", - "title": "Models", - "content": "Patron Code . Fields . | Field | Type | Description | . | id | String | The Patron Code’s unique identifier. | . | barcode | String | ✩ Field to display in barcode format. | . | createdAt | Timestamp | Date when the Patron Code was created. | . | expiresAt | Timestamp | Date when the Patron Code will expire. | . | appName | String Optional | The app used to create the Patron Code. DEPRECATED | . | accountId | String | The account id of the creator of the patron code. | . | testScenarioName | String Optional | The Test Scenario Name of the Patron Code. | . ✩ Barcode is a 16 digit number. The first 6 digits are a Centrapay defined prefix, then a 9 digit code, then a luhn checksum digit. 9 9 9 0 0 0 1 2 3 4 5 6 7 8 9 5 ❖ complete barcode 9 9 9 0 0 0 - - - - - - - - - - ❖ centrapay prefix - - - - - - 1 2 3 4 5 6 7 8 9 - ❖ code - - - - - - - - - - - - - - - 5 ❖ luhn checksum . The Centrapay Prefix may present any of the following prefixes: . | 121921 | 123000 | 282828 | 293000 | 321000 | 321123 | 636863 | 713131 | 765432 | 777000 | 839234 | 848484 | 888444 | 929394 | 987600 | 999000 | . Test Scenario Name . This field is used to inject behavior into a Payment Request when the generated barcode is supplied on creation. If a Test Scenario Name is defined on a Patron Code, it is considered a test resource and can only be used with Payment Requests that will have a liveness of ‘test’. The Asset Type centrapay.nzd.test is required to run test scenarios. | name | description | . | force-condition-check-photo-id | The Payment Request will have a required Merchant Condition to check photo id. | . ", - "url": "/api/patron-codes#models", - "relUrl": "/api/patron-codes#models" - },"134": { - "doc": "Patron Codes", - "title": "Operations", - "content": "Creating a Patron Code . POST /api/patron-codes . curl -X POST https://service.centrapay.com/api/patron-codes \\ -H \"Authorization: $jwt\" . Example Response Payload . { \"id\": \"V17FByEP9gm1shSG6a1Zzx\", \"accountId\": \"Jaim1Cu1Q55uooxSens6yk\", \"barcode\": \"9990001234567895\", \"createdAt\": \"2021-06-08T22:55:00.000Z\", \"expiresAt\": \"2021-06-08T23:00:00.000Z\", \"appName\": \"centrapay\" } . You can find payment request information attached to a Patron Code by polling for the Payment Request using the transacting APIs. Retrieving a Patron Code . GET /api/patron-codes/{patronCodeId} . curl https://service.centrapay.com/api/patron-codes/V17FByEP9gm1shSG6a1Zzx \\ -H \"Authorization: $jwt\" . Example Response Payload . { \"id\": \"V17FByEP9gm1shSG6a1Zzx\", \"accountId\": \"Jaim1Cu1Q55uooxSens6yk\", \"barcode\": \"9990001234567895\", \"createdAt\": \"2021-06-08T22:55:00.000Z\", \"expiresAt\": \"2021-06-08T23:00:00.000Z\", \"appName\": \"centrapay\" } . Retrieving a Patron Code by Barcode . GET /api/patron-codes/barcode/{barcode} . curl https://service.centrapay.com/api/patron-codes/barcode/9990001234567895 \\ -H \"X-Api-Key: $api_key\" . Example Response Payload . { \"id\": \"V17FByEP9gm1shSG6a1Zzx\", \"accountId\": \"Jaim1Cu1Q55uooxSens6yk\", \"barcode\": \"9990001234567895\", \"createdAt\": \"2021-06-08T22:55:00.000Z\", \"expiresAt\": \"2021-06-08T23:00:00.000Z\", \"appName\": \"centrapay\" } . Error Responses . | Status | Code | Description | . | 400 | CHECKSUM_FAILED | Luhn checksum digit doesn’t pass. | . | 403 | PATRON_CODE_INVALID | Patron Code doesn’t exist or it has expired. | . ", - "url": "/api/patron-codes#operations", - "relUrl": "/api/patron-codes#operations" - },"135": { - "doc": "Payment Requests", - "title": "Payment Requests", - "content": "Payment Requests represent the intention for a merchant to receive payment for goods and services. Payment Requests define the amount to be paid and the asset types that are acceptable for payment. A Payment Request is shared with, and paid by, a patron. The Payment Flows Guide has more details regarding negotiation of Payment Requests. Payment Requests have the following statuses: . | new: after being created. | paid: after being paid with one or more transactions. | cancelled: after being cancelled or voided by the merchant. | expired: after expiry time is reached without being paid or cancelled. | . Payment requests can also be refunded for a short period of time after being paid. Payment request state transitions can be notified to webhooks. Centrapay Payment Requests are serviced via two sets of endpoints; the “next” version (documented on this page) and the “legacy” version (documented at Legacy Payment Requests). ", - "url": "/api/payment-requests", - "relUrl": "/api/payment-requests" - },"136": { - "doc": "Payment Requests", - "title": "Contents", - "content": ". | Models . | Payment Request | Payment Option | Accepted Collection | Payment Condition | Line Item | Product Classification | Paid By | Asset Total | Payment Activity | . | Operations . | Create a Payment Request | Get a Payment Request | Get a Payment Request by Short Code | Get a Payment Request linked to a Patron Code | Pay a Payment Request | Refund a Payment Request | Void a Payment Request | Release funds held for a Pre Auth Payment Request | Make a confirmation against a Pre Auth Payment Request | List Payment Activities for a Merchant | List Payment Activities for a Payment Request | Accept Payment Condition for a Payment Request | Decline Payment Condition for a Payment Request | . | . ", - "url": "/api/payment-requests#contents", - "relUrl": "/api/payment-requests#contents" - },"137": { - "doc": "Payment Requests", - "title": "Models", - "content": "Payment Request . Mandatory Fields . | Field | Type | Description | . | id | String | The payment request id. | . | shortCode | String | A shorter id that can be used to identify the payment request for up to two years. | . | url | String | The URL for a Centrapay webpage that allows the user to pay the Payment Request. | . | value | Monetary | The canonical value of the payment request. Must be less than 100000000 and positive. | . | paymentOptions | Array | The Payment Options, indicating valid asset for payment. | . | merchantId | String | The id of the Merchant the Payment Request is on behalf of. | . | merchantName | String | The name of the Merchant the Payment Request is on behalf of. | . | configId | String | The Merchant Config id used to configure the payment options. | . | status | String | “new”, “paid”, “cancelled”, or “expired”. | . | liveness | String | Indicates liveness of assets that are accepted, determined by the payment options. Values are “main” or “test”. | . | createdAt | Timestamp | When the payment request was created. | . | updatedAt | Timestamp | When the payment request was updated. | . | expiresAt | Timestamp | When the payment request expires. | . | merchantConditions | Array | A dynamic list of Payment Conditions that require operator approval to complete a payment. Conditions are calculated when polling a Payment Request. | . | remainingAmount | BigNumber | The amount of the payment request which has not been paid for. | . Optional Fields . | Field | Type | Description | . | patronCodeId | String | The id of a Patron Code the payment request is attached to. | . | barcode | String | Scanned Code used to create the payment request. | . | barcodeType | String | Indicates the provider of a barcode, e.g. ‘ticketek’ | . | collectionId | String | The identifier of the token collection | . | expirySeconds | Number | The expiry seconds used to configure the payment request expiry. | . | lineItems | Array | EXPERIMENTAL The Line Items being paid for. | . | purchaseOrderRef | String | A reference to a purchase order for this payment request. | . | invoiceRef | String | A reference to an invoice for this payment request. Must be less than or equal to 128 characters. | . | redirectUrl | String | Experimental URL to redirect the user to after they pay or cancel the Payment Request. Must start with one of the allowedRedirectUrls for the Merchant Config. | . | externalRef | String | An external reference to the payment request | . | terminalId | String | The software or logical id of the payment terminal. | . | deviceId | String | The hardware id or serial number of the payment terminal. | . | operatorId | String | POS operator Id. | . | createdByAccountId | String | Id of the Centrapay Account creating the Payment Request. | . | createdByAccountName | String | Name of the Centrapay Account creating the Payment Request. | . | conditionsEnabled | Boolean | Flag to indicate that a merchant is able to accept Payment Conditions. | . | patronNotPresent | Boolean | Flag to indicate the patron is not physically present. This may affect payment conditions or available Payment Options. | . | cancellationReason | String | The reason that the payment request was cancelled. See Cancellation Reasons for possible values. | . | preAuth | Boolean | Flag to indicate the if the request is a Pre Auth for supported Asset Types. | . | preAuthExpiresAt | Timestamp | Pre Auth completions and releases will be accepted until this time. | . | preAuthStatus | String | Describes which state a Pre Auth Payment Request is in. Valid values are “authorized”, or “released”. | . | taxNumber | Tax Number | The value-added tax configuration for the Business that the Merchant belongs to. | . | basketAmount | BigNumber | The total amount of the transaction including non Centrapay payment methods. | . | partialAllowed | Boolean | Flag to indicate that the payment request can be paid for partially | . Payment Option . Mandatory Fields . | Field | Type | Description | . | assetType | String | An Asset Type reference. | . | amount | BigNumber | The value required to pay using the canonical units for the asset type. | . Optional Fields . | Field | Type | Description | . | bitcoinAddress | String | ★ Address to send Bitcoin, when the “assetType” is bitcoin.* | . | productCodes | Array | Supported product codes for the payment request, when the “assetType” is epay.nzd.* | . | acceptedCollections | Array | Accepted Collections for the payment request, when the “assetType” is centrapay.token.* | . ★ For payment options which specify an address, there’s a requirement to make a transaction on an external ledger. Once you have made that payment, you can use the transaction id to Pay a Payment Request using the legacy payment API. Accepted Collection . If a Payment Request contains a centrapay.token.* Payment Option an array of Accepted Collections will be present inside the centrapay.token Payment Option. The Accepted Collections returned can be used to determine if a Centrapay Token can be used to pay a Payment Request, and the line items able to be purchased using the token. Fields . | Field | Type | Description | . | id | String | The id of a collection that the merchant accepts for the given Payment Request | . | lineItems | Array | The Line Items that can be purchased by a Centrapay Token with matching collection id | . Payment Condition . Some Asset Types require conditional approval to pay. Possible Payment Conditions include confirming proof of ID or confirming a promotional item was purchased. The conditionsEnabled flag should be set to true when Creating a Payment Request to indicate that Payment Conditions can be accepted. If a Payment Condition arises, the absence of the conditionsEnabled flag will result in the Payment Request being cancelled. Conditions can either be accepted or declined. If a condition is declined, the Payment Request will be cancelled. Fields . | Name | Type | Description | . | id | BigNumber | An enumerated identifier for the Payment Condition. | . | name | String | The name of the condition. | . | message | String | The human-readable description of the condition. | . | status | String | The status of the condition. Valid values include accepted, declined, awaiting-merchant or void. | . Line Item . An order item for which payment is requested. The currency and units for a line item price will be consistent with the payment request value and the sum of line item prices should equal the payment request value. Line items can include a discount amount. A discount that applies to multiple line items may be represented as a separate line item with a negative amount. Mandatory Fields . | Field | Type | Description | . | name | String | The product description. | . | sku | String | The product (stock keeping unit) code. | . | qty | BigNumber | The product quantity (eg. item count, weight, volume etc). | . | price | BigNumber | The total price in cents for the line item (eg. price = product price * qty - discounts + tax). | . Optional Fields . | Field | Type | Description | . | tax | BigNumber | Tax rate (percentage). | . | discount | BigNumber | Discount amount in cents (tax exclusive). | . | productId | String | Manufacturer’s product identifier (eg GTIN/EAN). | . | restricted | Boolean | Disallow payment with a “restricted” Asset Type. | . | classification | Object | Product Classification. | . Product Classification . Mandatory Fields . | Field | Type | Description | . | type | String | The classification type (see below). | . | code | String | The classification code. | . | name | String | The classification title. | . Optional Fields . | Field | Type | Description | . | props | Map | The product classification properties (see below). | . Classification Types . Currently only “GS1” is supported. See GS1 Global Product Classification. When “GS1” is used as the product classification type then the product code should be the GPC product brick identifier. Classification Properties . Classification properties allow optional additional product characterizing attrubutes to be supplied. In the case of GS1 product classifications this corresponds to the GPC brick attributes. Paid By . The Paid By provides a summary of the transactions after the Payment Request was paid. Mandatory Fields . | Field | Type | Description | . | assetTotals | Array | The sum of paid amounts Asset Totals for each transacted asset type. | . Asset Total . Mandatory Fields . | Field | Type | Description | . | type | String | The asset type used for the payment. | . | description | String | A human readable description of the asset type used. | . | settlementDate | Timestamp | The estimated date that the merchant can expect settlement of funds. | . | total | Monetary | The total monetary value of the asset type used to pay a Payment Request | . Optional Fields . | Field | Type | Description | . | lineItems | Array Optional | Experimental The Line Items paid for by the asset type. | . Payment Activity . A Payment Activity records a transaction that has happened on a Payment Request. Payment Activities are created when a Payment Request has been created, paid, refunded, cancelled, or expired. Mandatory Fields . | Field | Type | Description | . | type | String | See Activity Types below. | . | value | Monetary | The value of the payment activity. Must be less than 100000000 and positive. | . | paymentRequestId | String | The Payment Request’s id. | . | merchantId | String | The Payment Request’s Merchant id. | . | merchantConfigId | String | The Payment Request’s Merchant Config id. | . | merchantAccountId | String | The Payment Request’s Merchant Account id. | . | merchantName | String | The Payment Request’s Merchant name. | . | createdAt | Timestamp | When the activity was created. | . | createdBy | CRN | The identity that created the activity. | . | paymentRequestCreatedBy | CRN | The identity that created the Payment Request. | . | activityNumber | BigNumber | Unique sequential number for the activity. | . | shortCode | String | A shorter id that can be used for up to two years. | . Optional Fields . | Field | Type | Description | . | assetType | String | The Asset Type for the “payment” or “refund” activity. | . | external | Boolean | The payment activity is recording a transaction that occurred outside the Centrapay system. | . | cancellationReason | String | The reason that the Payment Request was cancelled. See Cancellation Reasons for possible values. | . | conditionId | Number | The id of a condition if the activity was for a condition being accepted or declined. | . | idempotencyKey | String | Required when confirming a Payment Request. This is an identifier from your system to enforce uniqueness. | . | confirmationIdempotencyKey | String | Required when refunding a Pre Auth Confirmation. Should be the same as the idempotencyKey used for Confirmation. | . | preAuth | Boolean | True if the related Payment Request is a Pre Auth | . Activity Types . | Name | Description | . | request | Payment Request was created. | . | preAuthRequest | Payment Request was created with the preAuth flag set to “true”. | . | paid | Payment Request was paid. | . | payment | A payment was made towards the Payment Request. | . | refund | Funds were returned to the shopper. | . | cancellation | Payment Request was cancelled by the merchant or the shopper. | . | expiry | Payment Request wasn’t paid before time out. | . | accept-condition | A Payment Condition was accepted. | . | decline-condition | A Payment Condition was declined. | . | authorization | A Pre Auth Payment Request was approved and confirmations can be made against it. | . | confirmation | Funds on a Pre Auth have been drawn down on. | . | release | Pre Auth has been finalised and any remaining funds from Authorization have been returned. | . Cancellation Reasons . | Reason | Description | . | CANCELLED_BY_MERCHANT | The merchant cancelled the payment request by calling the cancel or void endpoint. | . | CANCELLED_BY_PATRON | The patron cancelled the transaction. | . | PATRON_CODE_INVALID | The patron code on the payment request was invalid. | . | PAYMENT_FAILED | The payment request failed for an unknown reason. | . | PATRON_CODE_EXPIRED | The patron code on the payment request has expired. | . | DECLINED_BY_PATRON | The payment was declined by the patron during approval steps. | . | DECLINED_BY_MERCHANT | The payment was declined by the merchant during approval steps. | . | PAYMENT_DECLINED | The payment parameters were valid but payment was declined because additional payment restrictions were violated. For example, asset not active, asset overdrawn, quota exceeded or line item category restrictions. | . | PAYMENT_REQUEST_EXPIRED | The payment request has expired. | . | NO_AVAILABLE_PAYMENT_OPTIONS | No payment options match the requested payment parameters. | . | INACTIVE_ASSET | The asset used to pay the payment request is inactive. | . ", - "url": "/api/payment-requests#models", - "relUrl": "/api/payment-requests#models" - },"138": { - "doc": "Payment Requests", - "title": "Operations", - "content": ". Create a Payment Request . POST /api/payment-requests Create a Payment Request . curl -X POST https://service.centrapay.com/api/payment-requests \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"configId\": \"5efbe2fb96c08357bb2b9242\", \"value\": { \"amount\": \"8991\", \"currency\": \"NZD\" } }' . Create a Payment Request with redirect url . curl -X POST https://service.centrapay.com/api/payment-requests \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"configId\": \"5efbe2fb96c08357bb2b9242\", \"value\": { \"amount\": \"8991\", \"currency\": \"NZD\" }, \"redirectUrl\": \"https://example.com/store/checkout?cartId=1234\" }' . Create a Payment Request with a Barcode . curl -X POST https://service.centrapay.com/api/payment-requests \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"barcode\": \"1219210961929460\", \"configId\": \"5efbe2fb96c08357bb2b9242\", \"value\": { \"amount\": \"8991\", \"currency\": \"NZD\" } }' . Create a Pre Auth Payment Request . curl -X POST https://service.centrapay.com/api/payment-requests \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"barcode\": \"1219210961929460\", \"configId\": \"5efbe2fb96c08357bb2b9242\", \"value\": { \"amount\": \"8991\", \"currency\": \"NZD\" }, \"preAuth\": true }' . Create a Payment Request with purchase order, invoice, and external reference . curl -X POST https://service.centrapay.com/api/payment-requests \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"configId\": \"5efbe2fb96c08357bb2b9242\", \"value\": { \"amount\": \"8991\", \"currency\": \"NZD\" }, \"purchaseOrderRef\": \"oF6kj1QlH5gK0y9rjRHFh2\", \"invoiceRef\": \"sy8CRmo3sp3ArOpnfmb423\", \"externalRef\": \"dYTC266s4DFdsgGd909f\" }' . Create a Payment Request with Line Items . curl -X POST https://service.centrapay.com/api/payment-requests \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"configId\": \"5efbe2fb96c08357bb2b9242\", \"value\": { \"amount\": \"6190\", \"currency\": \"NZD\" }, \"lineItems\": [ { \"name\": \"Coffee Grounds\", \"sku\": \"GH1234\", \"qty\": \"1\", \"price\": \"4195\", \"tax\": \"15.00\" }, { \"name\": \"Centrapay Cafe Mug\", \"sku\": \"SB456\", \"qty\": \"25\", \"price\": \"1995\", \"tax\": \"15.00\", \"discount\": \"199\", \"restricted\": true, \"productId\": \"19412345123459\", \"classification\": { \"type\": \"GS1\", \"code\": \"10001874\", \"name\": \"CROCKERY\", \"props\": { \"20001479\": \"30008960\" } } } ] }' . Create a Payment Request with Line Items and Partial Pay . curl -X POST https://service.centrapay.com/api/payment-requests \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"configId\": \"5efbe2fb96c08357bb2b9242\", \"value\": { \"amount\": \"6190\", \"currency\": \"NZD\" }, \"partialAllowed\": true, \"basketAmount\": \"10000\", \"lineItems\": [ { \"name\": \"Coffee Grounds\", \"sku\": \"GH1234\", \"qty\": \"1\", \"price\": \"4195\", \"tax\": \"15.00\" }, { \"name\": \"Centrapay Cafe Mug\", \"sku\": \"SB456\", \"qty\": \"25\", \"price\": \"1995\", \"tax\": \"15.00\", \"discount\": \"199\", \"restricted\": true, \"productId\": \"19412345123459\", \"classification\": { \"type\": \"GS1\", \"code\": \"10001874\", \"name\": \"CROCKERY\", \"props\": { \"20001479\": \"30008960\" } } } ] }' . Create a Payment Request with barcode, barcodeType, and collectionId . curl -X POST https://service.centrapay.com/api/payment-requests \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"configId\": \"5efbe2fb96c08357bb2b9242\", \"value\": { \"amount\": \"25\", \"currency\": \"NZD\" }, \"barcode\": \"6273d06820db5ec22914f697c95b07122\", \"barcodeType\": \"ticketek\", \"collectionId\": \"C12345\", \"lineItems\": [ { \"name\": \"Coffee Grounds\", \"sku\": \"GH1234\", \"qty\": \"1\", \"price\": \"4195\", \"tax\": \"15.00\" }, { \"name\": \"Centrapay Cafe Mug\", \"sku\": \"SB456\", \"qty\": \"25\", \"price\": \"1995\", \"tax\": \"15.00\", \"discount\": \"199\", \"restricted\": true, \"productId\": \"19412345123459\", \"classification\": { \"type\": \"GS1\", \"code\": \"10001874\", \"name\": \"CROCKERY\", \"props\": { \"20001479\": \"30008960\" } } } ] }' . Fields . | Field | Type | Description | . | configId | String | The Merchant Config id used to configure the payment options. | . | value | Monetary | The canonical value of the payment request. Must be positive. | . | barcode | String Optional | The Scanned Code to identify the account to attach the payment request to | . | barcodeType | String Optional | Indicates the provider of a barcode, e.g. ‘ticketek’ | . | collectionId | String Optional | The identifier of the token collection | . | expirySeconds | String Optional | How long the payment request will be payable for. Maximum value: 86400 (24 hours). | . | lineItems | Array Optional | Experimental The Line Items being paid for. | . | purchaseOrderRef | String Optional | A reference to a purchase order for this payment request. | . | invoiceRef | String Optional | A reference to an invoice for this payment request. Must be less than or equal to 128 characters. | . | externalRef | String Optional | An external reference to the payment request | . | redirectUrl | String Optional | Experimental URL to redirect the user to after they pay or cancel the Payment Request. Must start with one of the allowedRedirectUrls for the Merchant Config. | . | terminalId | String Optional | The software or logical id of the payment terminal. | . | deviceId | String Optional | The hardware id or serial number of the payment terminal. | . | operatorId | String Optional | The POS operator Id. | . | conditionsEnabled | Boolean Optional | Flag to opt into accepting Asset Types which require conditions to be met. If not set, assets which require conditions will not be payment options. | . | patronNotPresent | Boolean Optional | Flag to indicate the patron is not physically present. This may affect payment conditions or available Payment Options. | . | preAuth | Boolean Optional | Flag to indicate if the Payment Request is a Pre Auth for supported Asset Types. If set barcode must be provided. | . | partialAllowed | Boolean Optional | Flag to indicate if the Payment Request can be partially paid for. If set basketAmount must be provided. | . | basketAmount | Monetary Optional | The total amount of the payment expected from the customer, including payments outside of Centrapay. Must be less than 100000000 and positive. If provided partialAllowed must also be set. | . Example response payload . { \"id\": \"MhocUmpxxmgdHjr7DgKoKw\", \"shortCode\": \"CP-C7F-ZS5\", \"url\": \"https://app.centrapay.com/pay/MhocUmpxxmgdHjr7DgKoKw\", \"patronCodeId\": \"V17FByEP9gm1shSG6a1Zzx\", \"barcode\": \"9990001234567895\", \"barcodeType\": \"ticketek\", \"collectionId\": \"C12345\", \"merchantId\": \"26d3Cp3rJmbMHnuNJmks2N\", \"merchantName\": \"Centrapay Café\", \"configId\": \"5efbe2fb96c08357bb2b9242\", \"purchaseOrderRef\": \"oF6kj1QlH5gK0y9rjRHFh2\", \"invoiceRef\": \"sy8CRmo3sp3ArOpnfmb423\", \"value\": { \"currency\": \"NZD\", \"amount\": \"6190\" }, \"paymentOptions\": [ { \"amount\": \"6190\", \"assetType\": \"centrapay.nzd.test\" }, { \"amount\": \"6190\", \"assetType\": \"epay.nzd.test\", \"productCodes\": [ \"23403\" ] }, { \"amount\": \"6190\", \"assetType\": \"centrapay.token.test\", \"acceptedCollections\": [ { \"id\": \"QWNB6jurnBczmvXDVfRuMK\", \"lineItems\": [ { \"name\": \"Coffee Grounds\", \"sku\": \"GH1234\", \"qty\": \"1\", \"price\": \"4195\", \"tax\": \"15.00\" } ] } ] } ], \"lineItems\": [ { \"name\": \"Coffee Grounds\", \"sku\": \"GH1234\", \"qty\": \"1\", \"price\": \"4195\", \"tax\": \"15.00\" }, { \"name\": \"Centrapay Cafe Mug\", \"sku\": \"SB456\", \"qty\": \"25\", \"price\": \"1995\", \"tax\": \"15.00\", \"discount\": \"199\" } ], \"merchantConditions\": [ ], \"status\": \"new\", \"createdAt\": \"2021-06-08T04:04:27.426Z\", \"updatedAt\": \"2021-06-08T04:04:27.426Z\", \"expiresAt\": \"2021-06-08T04:06:27.426Z\", \"liveness\": \"test\", \"expirySeconds\": 120 } . Error Responses . | Status | Code | Description | . | 400 | LINE_ITEMS_SUM_CHECK_FAILED | The sum value of the line items did not equal the value of the payment request. | . | 403 | REDIRECT_URL_INVALID | The supplied redirectUrl does not start with one of the allowedRedirectUrls on the Merchant Config. | . | 400 | CHECKSUM_FAILED | Luhn checksum digit doesn’t pass. | . | 403 | PATRON_CODE_INVALID | Patron Code doesn’t exist or has expired. | . | 403 | NO_AVAILABLE_PAYMENT_OPTIONS | No payment options match the requested payment parameters. | . | 403 | TOKEN_COLLECTION_NOT_FOUND | The token collection does not exist. | . Get a Payment Request . GET /api/payment-requests/{paymentRequestId} . curl https://service.centrapay.com/api/payment-requests/MhocUmpxxmgdHjr7DgKoKw \\ -H \"Authorization: $jwt\" . Example response payload . { \"id\": \"MhocUmpxxmgdHjr7DgKoKw\", \"shortCode\": \"CP-C7F-ZS5\", \"url\": \"https://app.centrapay.com/pay/MhocUmpxxmgdHjr7DgKoKw\", \"patronCodeId\": \"V17FByEP9gm1shSG6a1Zzx\", \"barcode\": \"9990001234567895\", \"merchantId\": \"26d3Cp3rJmbMHnuNJmks2N\", \"merchantName\": \"Centrapay Café\", \"configId\": \"5efbe2fb96c08357bb2b9242\", \"purchaseOrderRef\": \"oF6kj1QlH5gK0y9rjRHFh2\", \"invoiceRef\": \"sy8CRmo3sp3ArOpnfmb423\", \"value\": { \"currency\": \"NZD\", \"amount\": \"8991\" }, \"paymentOptions\": [ { \"amount\": \"8991\", \"assetType\": \"centrapay.nzd.test\" }, { \"amount\": \"6190\", \"assetType\": \"centrapay.token.test\", \"acceptedCollections\": [ { \"id\": \"QWNB6jurnBczmvXDVfRuMK\", \"lineItems\": [ { \"name\": \"Coffee Grounds\", \"sku\": \"GH1234\", \"qty\": \"1\", \"price\": \"4195\", \"tax\": \"15.00\" } ] } ] } ], \"lineItems\": [ { \"name\": \"Coffee Grounds\", \"sku\": \"GH1234\", \"qty\": \"1\", \"price\": \"4195\", \"tax\": \"15.00\" }, { \"name\": \"Centrapay Cafe Mug\", \"sku\": \"SB456\", \"qty\": \"25\", \"price\": \"1995\", \"tax\": \"15.00\", \"discount\": \"199\" } ], \"merchantConditions\": [ { \"id\": \"1\", \"name\": \"photo-id-check\", \"message\": \"Please check ID\", \"status\": \"awaiting-merchant\" } ], \"status\": \"new\", \"createdAt\": \"2021-06-08T04:04:27.426Z\", \"updatedAt\": \"2021-06-08T04:04:27.426Z\", \"expiresAt\": \"2021-06-08T04:06:27.426Z\", \"liveness\": \"test\", \"expirySeconds\": 120 } . Example response payload paid by multiple asset types . { \"id\": \"MhocUmpxxmgdHjr7DgKoKw\", \"shortCode\": \"CP-C7F-ZS5\", \"url\": \"https://app.centrapay.com/pay/MhocUmpxxmgdHjr7DgKoKw\", \"merchantId\": \"26d3Cp3rJmbMHnuNJmks2N\", \"merchantName\": \"Centrapay Café\", \"configId\": \"5efbe2fb96c08357bb2b9242\", \"value\": { \"currency\": \"NZD\", \"amount\": \"6910\" }, \"paymentOptions\": [ { \"amount\": \"6910\", \"assetType\": \"centrapay.nzd.main\" }, { \"amount\": \"6910\", \"assetType\": \"centrapay.token.main\", \"acceptedCollections\": [ { \"id\": \"QWNB6jurnBczmvXDVfRuMK\", \"lineItems\": [ { \"name\": \"Coffee Grounds\", \"sku\": \"GH1234\", \"qty\": \"1\", \"price\": \"4195\", \"tax\": \"15.00\" } ] } ] } ], \"lineItems\": [ { \"name\": \"Coffee Grounds\", \"sku\": \"GH1234\", \"qty\": \"1\", \"price\": \"4195\", \"tax\": \"15.00\" }, { \"name\": \"Centrapay Cafe Mug\", \"sku\": \"SB456\", \"qty\": \"25\", \"price\": \"1995\", \"tax\": \"15.00\", \"discount\": \"199\" } ], \"merchantConditions\": [ ], \"status\": \"paid\", \"createdAt\": \"2021-06-08T04:04:27.426Z\", \"updatedAt\": \"2021-06-08T04:04:27.426Z\", \"expiresAt\": \"2021-06-08T04:06:27.426Z\", \"liveness\": \"main\", \"expirySeconds\": 120, \"paidBy\": { \"assetTotals\": [ { \"type\": \"centrapay.nzd.main\", \"description\": \"Centrapay NZD\", \"settlementDate\": \"2021-06-28T04:04:27.426Z\", \"total\": { \"amount\": \"1995\", \"currency\": \"NZD\" } }, { \"type\": \"centrapay.token.main\", \"description\": \"Centrapay Token\", \"settlementDate\": \"2021-06-28T04:04:27.426Z\", \"total\": { \"amount\": \"4195\", \"currency\": \"NZD\" }, \"lineItems\": [ { \"name\": \"Coffee Grounds\", \"sku\": \"GH1234\", \"qty\": \"1\", \"price\": \"4195\", \"tax\": \"15.00\" } ] } ] } } . Example response payload for a Pre Auth Payment Request . { \"id\": \"MhocUmpxxmgdHjr7DgKoKw\", \"shortCode\": \"CP-C7F-ZS5\", \"url\": \"https://app.centrapay.com/pay/MhocUmpxxmgdHjr7DgKoKw\", \"barcode\": 503901342, \"merchantId\": \"26d3Cp3rJmbMHnuNJmks2N\", \"merchantName\": \"Centrapay Café\", \"configId\": \"5efbe2fb96c08357bb2b9242\", \"value\": { \"currency\": \"NZD\", \"amount\": \"1000\" }, \"paymentOptions\": [ { \"amount\": \"1000\", \"assetType\": \"farmlands.nzd.main\" } ], \"merchantConditions\": [ ], \"status\": \"new\", \"createdAt\": \"2021-06-08T04:04:27.426Z\", \"updatedAt\": \"2021-06-08T04:04:27.426Z\", \"expiresAt\": \"2021-06-08T04:06:27.426Z\", \"liveness\": \"main\", \"expirySeconds\": 120, \"preAuth\": true, \"preAuthStatus\": \"authorized\", \"preAuthExpiresAt\": \"2021-09-08T04:04:27.426Z\" } . Get a Payment Request by Short Code . Returns the latest Payment Request that matches the given short code. GET /api/payment-requests/short-code/{shortCode} . curl https://service.centrapay.com/api/payment-requests/short-code/CP-C7F-ZS5 \\ -H \"Authorization: $jwt\" . Example response payload with a Payment Request . { \"id\": \"MhocUmpxxmgdHjr7DgKoKw\", \"shortCode\": \"CP-C7F-ZS5\", \"url\": \"https://app.centrapay.com/pay/MhocUmpxxmgdHjr7DgKoKw\", \"patronCodeId\": \"V17FByEP9gm1shSG6a1Zzx\", \"barcode\": \"9990001234567895\", \"merchantId\": \"26d3Cp3rJmbMHnuNJmks2N\", \"merchantName\": \"Centrapay Café\", \"configId\": \"5efbe2fb96c08357bb2b9242\", \"value\": { \"currency\": \"NZD\", \"amount\": \"100\" }, \"paymentOptions\": [ { \"amount\": \"100\", \"assetType\": \"centrapay.nzd.test\" } ], \"merchantConditions\": [ ], \"status\": \"new\", \"createdAt\": \"2021-06-08T04:04:27.426Z\", \"updatedAt\": \"2021-06-08T04:04:27.426Z\", \"expiresAt\": \"2021-06-08T04:06:27.426Z\", \"liveness\": \"test\", \"expirySeconds\": 120 } . Error Responses . | Status | Code | Description | . | 400 | CHECKSUM_FAILED | Luhn checksum digit doesn’t pass. | . Get a Payment Request linked to a Patron Code . Returns the latest Payment Request with status “new” that has been attached to a Patron Code. The Payment Request may have been created with a reference to any Patron Code owned by the user’s account. This endpoint should be polled just after a user’s Patron Code has been scanned. This will allow them to find the Payment Request and proceed to pay. GET /api/me/patron-code-payment-request . curl https://service.centrapay.com/api/me/patron-code-payment-request \\ -H \"Authorization: $jwt\" . Example response payload when no new Payment Request found . { } . Example response payload with a Payment Request . { \"id\": \"MhocUmpxxmgdHjr7DgKoKw\", \"shortCode\": \"CP-C7F-ZS5\", \"url\": \"https://app.centrapay.com/pay/MhocUmpxxmgdHjr7DgKoKw\", \"patronCodeId\": \"V17FByEP9gm1shSG6a1Zzx\", \"barcode\": \"9990001234567895\", \"merchantId\": \"26d3Cp3rJmbMHnuNJmks2N\", \"merchantName\": \"Centrapay Café\", \"configId\": \"5efbe2fb96c08357bb2b9242\", \"value\": { \"currency\": \"NZD\", \"amount\": \"100\" }, \"paymentOptions\": [ { \"amount\": \"100\", \"assetType\": \"centrapay.nzd.test\" } ], \"merchantConditions\": [ ], \"status\": \"new\", \"createdAt\": \"2021-06-08T04:04:27.426Z\", \"updatedAt\": \"2021-06-08T04:04:27.426Z\", \"expiresAt\": \"2021-06-08T04:06:27.426Z\", \"liveness\": \"test\", \"expirySeconds\": 120 } . Pay a Payment Request . To pay a payment request you must supply the name of the Asset Type and one of assetId, transactionId or authorization. Use assetId if the Asset Type is managed by Centrapay. Use transactionId to verify an external transaction such as a Bitcoin payment. Use authorization to authorize an external transaction. POST /api/payment-requests/{paymentRequestId}/pay Pay a Payment Request with a Centrapay asset . curl -X POST https://service.centrapay.com/api/payment-requests/{paymentRequestId}/pay \\ -H \"Authorization: $jwt\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"assetType\": \"centrapay.nzd.main\", \"assetId\": \"WRhAxxWpTKb5U7pXyxQjjY\" }' . Pay a Payment Request using external transaction . curl -X POST https://service.centrapay.com/api/payment-requests/{paymentRequestId}/pay \\ -H \"Authorization: $jwt\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"assetType\": \"bitcoin.main\", \"transactionId\": \"VMXMkUttDGTVz4ESv5ND56\" }' . Pay a Payment Request using authorization . curl -X POST https://service.centrapay.com/api/payment-requests/{paymentRequestId}/pay \\ -H \"Authorization: $jwt\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"assetType\": \"stadius.main\", \"authorization\": \"LiOkwEtDGTVz4ESv5NS83\" }' . Partially Pay a Payment Request . curl -X POST https://service.centrapay.com/api/payment-requests/{paymentRequestId}/pay \\ -H \"Authorization: $jwt\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"assetType\": \"centrapay.nzd.main\", \"assetId\": \"WRhAxxWpTKb5U7pXyxQjjY\", \"amount\": \"200\", \"mode\": \"partial-payment\" }' . Fields . | Field | Type | Description | . | assetType | String | The name of the Asset Type. | . | assetId | String Optional | The id of the Asset being used to make payment. | . | transactionId | String Optional | Used to verify an external transaction eg Bitcoin. | . | authorization | String Optional | Used to authorize an external transaction. | . | mode | String Optional | The mode of payment valid value is parital-payment. | . | amount | String Optional | The amount being paid if less than the Payment Request amount. | . One of either assetId, transactionId or authorization must be provided. Example response payload . { \"type\": \"payment\", \"value\": { \"currency\": \"NZD\", \"amount\": \"1000\" }, \"assetType\": \"centrapay.nzd.main\", \"paymentRequestId\": \"MhocUmpxxmgdHjr7DgKoKw\", \"shortCode\": \"CP-C7F-ZS5-015\", \"merchantName\": \"Centrapay Café\", \"merchantId\": \"26d3Cp3rJmbMHnuNJmks2N\", \"merchantAccountId\": \"C4QnjXvj8At6SMsEN4LRi9\", \"merchantConfigId\": \"5efbe2fb96c08357bb2b9242\", \"createdAt\": \"2021-06-08T04:04:27.426Z\", \"createdBy\": \"crn::user:0af834c8-1110-11ec-9072-3e22fb52e878\", \"paymentRequestCreatedBy\": \"crn::user:0af834c8-1110-11ec-9072-3e22fb52e878\", \"activityNumber\": \"2\", \"mode\": \"partial-payment\" } . Error Responses . | Status | Code | Description | . | 403 | INVALID_ASSET_TYPE | Either the merchant is not configured with the provided asset type or the asset type does not exist. | . | 403 | REQUEST_EXPIRED | Action cannot be completed because the request has expired. | . | 403 | REQUEST_PAID | Action cannot be completed because the request has been paid. | . | 403 | REQUEST_CANCELLED | Action cannot be completed because the request has already been cancelled. | . | 403 | INACTIVE_ASSET | The asset is not spendable. It may have been disabled, expired, or already spent. | . | 403 | INVALID_MERCHANT_CONFIG | The merchant is not configured properly to satisfy the payment request. This could be due to incorrect information, or the merchant’s credentials might be blocked by an external service. | . | 403 | QUOTA_EXCEEDED | The payment pay request exceeds the allowed spend quota supplied. | . | 403 | INSUFFICIENT_ASSET_VALUE | The asset has insufficient funds to pay the payment request or the transaction amount received by Centrapay is less than the total of the payment. | . | 403 | ASSET_REDEMPTION_DENIED | The asset redemption has been unsuccessful due to an error with provided payment parameters, the merchant, or the asset. | . | 403 | PAYMENT_DECLINED | The payment parameters were valid but payment was declined because additional payment restrictions were violated. | . Refund a Payment Request . POST /api/payment-requests/{paymentRequestId}/refund Refund a Payment Request . curl -X POST https://service.centrapay.com/api/payment-requests/{paymentRequestId}/refund \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"value\": { \"amount\": \"100\", \"currency\": \"NZD\" }, \"externalRef\": \"e8df06e2-13a5-48b4-b670-3fd6d815fe0a\" }' . Refund a Payment Request with Line Items . curl -X POST https://service.centrapay.com/api/payment-requests/{paymentRequestId}/refund \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"value\": { \"amount\": \"6190\", \"currency\": \"NZD\" }, \"externalRef\": \"e8df06e2-13a5-48b4-b670-3fd6d815fe0a\", \"lineItems\": [ { \"name\": \"Coffee Grounds\", \"sku\": \"GH1234\", \"qty\": \"1\", \"price\": \"4195\", \"tax\": \"15.00\" }, { \"name\": \"Centrapay Cafe Mug\", \"sku\": \"SB456\", \"qty\": \"25\", \"price\": \"1995\", \"tax\": \"15.00\", \"discount\": \"199\", \"restricted\": true, \"productId\": \"19412345123459\", \"classification\": { \"type\": \"GS1\", \"code\": \"10001874\", \"name\": \"CROCKERY\", \"props\": { \"20001479\": \"30008960\" } } } ] }' . Refund a Pre Auth Payment Request with Confirmations . curl -X POST https://service.centrapay.com/api/payment-requests/{paymentRequestId}/refund \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"confirmationIdempotencyKey\": \"e8df06e2-13a5-48b4-b670-3fd6d815fe0a\", \"value\": { \"amount\": \"6190\", \"currency\": \"NZD\" }, \"externalRef\": \"e8df06e2-13a5-48b4-b670-3fd6d815fe0a\", \"lineItems\": [ { \"name\": \"Coffee Grounds\", \"sku\": \"GH1234\", \"qty\": \"1\", \"price\": \"4195\", \"tax\": \"15.00\" }, { \"name\": \"Centrapay Cafe Mug\", \"sku\": \"SB456\", \"qty\": \"25\", \"price\": \"1995\", \"tax\": \"15.00\", \"discount\": \"199\", \"restricted\": true, \"productId\": \"19412345123459\", \"classification\": { \"type\": \"GS1\", \"code\": \"10001874\", \"name\": \"CROCKERY\", \"props\": { \"20001479\": \"30008960\" } } } ] }' . Refund a Payment Request with Invoice Reference . curl -X POST https://service.centrapay.com/api/payment-requests/{paymentRequestId}/refund \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"value\": { \"amount\": \"100\", \"currency\": \"NZD\" }, \"externalRef\": \"e8df06e2-13a5-48b4-b670-3fd6d815fe0a\", \"invoiceRef\": \"sy8CRmo3sp3ArOpnfmb423\" }' . Refund a Payment Request using a specific Merchant . curl -X POST https://service.centrapay.com/api/payment-requests/{paymentRequestId}/refund \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"value\": { \"amount\": \"100\", \"currency\": \"NZD\" }, \"externalRef\": \"e8df06e2-13a5-48b4-b670-3fd6d815fe0a\", \"merchantConfigId\": \"5ee168e8597be5002af7b454\" }' . Fields . | Field | Type | Description | . | value | Monetary | The value of the refund. Must be less than 100000000 and positive. | . | externalRef | String | An external reference to the refund. | . | merchantConfigId | String Optional | The Merchant Config id of the refunding merchant when refunding a farmlands.nzd.* payment. | . | lineItems | Array Optional | Experimental The Line Items being refunded. | . | confirmationIdempotencyKey | String Optional | Required when refunding a Pre Auth Confirmation. Should be the same as the idempotencyKey used for Confirmation. | . | invoiceRef | String Optional | A reference to an invoice for the refund. Must be less than or equal to 128 characters. | . Example response payload . { \"type\": \"refund\", \"value\": { \"currency\": \"NZD\", \"amount\": \"100\" }, \"assetType\": \"centrapay.nzd.main\", \"paymentRequestId\": \"MhocUmpxxmgdHjr7DgKoKw\", \"shortCode\": \"CP-C7F-ZS5-015\", \"merchantName\": \"Centrapay Café\", \"merchantId\": \"5ee0c486308f590260d9a07f\", \"merchantAccountId\": \"C4QnjXvj8At6SMsEN4LRi9\", \"merchantConfigId\": \"5ee168e8597be5002af7b454\", \"createdAt\": \"2021-06-12T01:17:00.000Z\", \"createdBy\": \"crn::user:0af834c8-1110-11ec-9072-3e22fb52e878\", \"paymentRequestCreatedBy\": \"crn::user:0af834c8-1110-11ec-9072-3e22fb52e878\", \"activityNumber\": \"3\", \"invoiceRef\": \"sy8CRmo3sp3ArOpnfmb423\" } . Error Responses . | Status | Code | Description | . | 403 | NOT_PAID | The Payment Request has not been paid. | . | 403 | ALREADY_REFUNDED | The Payment Request already been refunded. If you want to perfom additional refunds then an externalRef is required. | . | 403 | INVALID_AMOUNT | The refund requested is greater than the refundable amount. | . | 403 | REPEAT_REFERENCE | A refund has already been requested with the same external reference. Refunding the payment request twice with the same external reference is not allowed. If the amount of the refund is the same we assume it is a repeat request and return 200. | . | 403 | PARTIAL_REFUNDS_NOT_ALLOWED | The Asset does not support partial refunds. | . | 403 | INACTIVE_ASSET | The Asset is not refundable. It may have been disabled, expired, or already refunded. | . | 403 | REFUND_NOT_SUPPORTED | The Asset type does not support refunds. | . | 403 | REFUND_WINDOW_EXCEEDED | The time since the payment exceeds the window of time a payment request can be refunded in. | . | 400 | LINE_ITEMS_SUM_CHECK_FAILED | The sum value of the line items did not equal the value of the refund. | . | 403 | PRE_AUTH_PENDING | The Pre Auth Payment Request has yet to be authorized. | . | 403 | CONFIRMATION_NOT_FOUND | The confirmationIdempotencyKey does not match a Confirmation on the Payment Request. | . Void a Payment Request . Voiding a payment request will cancel the request and trigger any refunds if necessary. POST /api/payment-requests/{paymentRequestId}/void . curl -X POST https://service.centrapay.com/api/payment-requests/MhocUmpxxmgdHjr7DgKoKw/void \\ -H \"X-Api-Key: $api_key\" . Example response payload when payment request is unpaid . { \"type\": \"cancellation\", \"cancellationReason\": \"CANCELLED_BY_MERCHANT\", \"value\": { \"currency\": \"NZD\", \"amount\": \"1000\" }, \"assetType\": \"centrapay.nzd.main\", \"paymentRequestId\": \"MhocUmpxxmgdHjr7DgKoKw\", \"shortCode\": \"CP-C7F-ZS5-032\", \"merchantName\": \"Centrapay Café\", \"merchantId\": \"26d3Cp3rJmbMHnuNJmks2N\", \"merchantAccountId\": \"C4QnjXvj8At6SMsEN4LRi9\", \"merchantConfigId\": \"5efbe2fb96c08357bb2b9242\", \"createdAt\": \"2021-06-08T04:04:27.426Z\", \"createdBy\": \"crn::user:0af834c8-1110-11ec-9072-3e22fb52e878\", \"paymentRequestCreatedBy\": \"crn::user:0af834c8-1110-11ec-9072-3e22fb52e878\", \"activityNumber\": \"2\" } . Example response payload when payment request is paid . { \"type\": \"refund\", \"value\": { \"currency\": \"NZD\", \"amount\": \"1000\" }, \"assetType\": \"centrapay.nzd.main\", \"paymentRequestId\": \"MhocUmpxxmgdHjr7DgKoKw\", \"shortCode\": \"CP-C7F-ZS5-032\", \"merchantName\": \"Centrapay Café\", \"merchantId\": \"26d3Cp3rJmbMHnuNJmks2N\", \"merchantAccountId\": \"C4QnjXvj8At6SMsEN4LRi9\", \"merchantConfigId\": \"5efbe2fb96c08357bb2b9242\", \"createdAt\": \"2021-06-08T04:04:27.426Z\", \"createdBy\": \"crn::user:0af834c8-1110-11ec-9072-3e22fb52e878\", \"paymentRequestCreatedBy\": \"crn::user:0af834c8-1110-11ec-9072-3e22fb52e878\", \"activityNumber\": \"3\" } . Error Responses . | Status | Code | Description | . | 403 | VOID_WINDOW_EXCEEDED | The void window is closed 24 hours after the Payment Request createdAt. After the void window has closed if the Payment Request is paid, use Refund endpoint to reverse the payment. | . | 403 | ALREADY_REFUNDED | The Payment Request has already been refunded. | . | 403 | REPEAT_REFERENCE | A refund has already been requested with the same external reference. Refunding the payment request twice with the same external reference is not allowed. If the amount of the refund is the same we assume it is a repeat request and return 200. | . | 403 | INACTIVE_ASSET | The Asset is not refundable. It may have been disabled, expired, or already refunded. | . | 403 | REFUND_NOT_SUPPORTED | The Asset type does not support refunds. | . | 403 | REQUEST_EXPIRED | The Payment Request has expired. | . | 403 | PRE_AUTH_ALREADY_CONFIRMED | The Pre Auth Payment Request already has confirmations. Use Refund endpoint to reverse the transaction. | . Release funds held for a Pre Auth Payment Request . When you call release on a Pre Auth Payment Request any remaining funds that were being held for the authorization are returned to the asset, and a release Payment Activity is returned. If the authorization never completed, the Payment Request will instead be cancelled, and a cancellation Payment Activity will be returned. POST /api/payment-requests/{paymentRequestId}/release . curl -X POST https://service.centrapay.com/api/payment-requests/MhocUmpxxmgdHjr7DgKoKw/release \\ -H \"X-Api-Key: $api_key\" . Example response payload when a Pre Auth is released . { \"type\": \"release\", \"value\": { \"currency\": \"NZD\", \"amount\": \"100\" }, \"assetType\": \"centrapay.nzd.main\", \"preAuth\": true, \"paymentRequestId\": \"MhocUmpxxmgdHjr7DgKoKw\", \"shortCode\": \"CP-C7F-ZS5-015\", \"merchantName\": \"Centrapay Café\", \"merchantId\": \"5ee0c486308f590260d9a07f\", \"merchantAccountId\": \"C4QnjXvj8At6SMsEN4LRi9\", \"merchantConfigId\": \"5ee168e8597be5002af7b454\", \"createdAt\": \"2021-06-12T01:17:00.000Z\", \"createdBy\": \"crn::user:0af834c8-1110-11ec-9072-3e22fb52e878\", \"paymentRequestCreatedBy\": \"crn::user:0af834c8-1110-11ec-9072-3e22fb52e878\", \"activityNumber\": \"3\" } . Example response payload when a Pre Auth is cancelled . { \"type\": \"cancellation\", \"cancellationReason\": \"CANCELLED_BY_MERCHANT\", \"value\": { \"currency\": \"NZD\", \"amount\": \"1000\" }, \"preAuth\": true, \"assetType\": \"centrapay.nzd.main\", \"paymentRequestId\": \"MhocUmpxxmgdHjr7DgKoKw\", \"shortCode\": \"CP-C7F-ZS5-032\", \"merchantName\": \"Centrapay Café\", \"merchantId\": \"26d3Cp3rJmbMHnuNJmks2N\", \"merchantAccountId\": \"C4QnjXvj8At6SMsEN4LRi9\", \"merchantConfigId\": \"5efbe2fb96c08357bb2b9242\", \"createdAt\": \"2021-06-08T04:04:27.426Z\", \"createdBy\": \"crn::user:0af834c8-1110-11ec-9072-3e22fb52e878\", \"paymentRequestCreatedBy\": \"crn::user:0af834c8-1110-11ec-9072-3e22fb52e878\", \"activityNumber\": \"2\" } . Error Responses . | Status | Code | Description | . | 403 | INVALID_PAYMENT_REQUEST_TYPE | The Payment Request is not related to a Pre Auth. | . | 403 | PRE_AUTH_RELEASED | preAuthExpiresAt has passed. | . Make a confirmation against a Pre Auth Payment Request . An idempotencyKey is a identifier from your system used for guaranteeing at least once delivery of your request. If our endpoint does not respond you must retry until you get back a 200 or 403. If we recive 2 requests with the same idempotencyKey we won’t process the second and return the first response. POST /api/payment-requests/{paymentRequestId}/confirm Confirm Pre Auth Payment Request . curl -X POST https://service.centrapay.com/api/payment-requests/MhocUmpxxmgdHjr7DgKoKw/confirm \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"value\": { \"amount\": \"6190\", \"currency\": \"NZD\" }, \"idempotencyKey\": \"e8df06e2-13a5-48b4-b670-3fd6d815fe0a\", \"invoiceRef\": \"2022-08-03T16:56:50-06:00\", \"lineItems\": [ { \"name\": \"Coffee Grounds\", \"sku\": \"GH1234\", \"qty\": \"1\", \"price\": \"4195\", \"tax\": \"15.00\" }, { \"name\": \"Centrapay Cafe Mug\", \"sku\": \"SB456\", \"qty\": \"25\", \"price\": \"1995\", \"tax\": \"15.00\", \"discount\": \"199\", \"restricted\": true, \"productId\": \"19412345123459\", \"classification\": { \"type\": \"GS1\", \"code\": \"10001874\", \"name\": \"CROCKERY\", \"props\": { \"20001479\": \"30008960\" } } } ] }' . Example response payload when a Pre Auth is confirmed . { \"paymentRequestId\": \"MhocUmpxxmgdHjr7DgKoKw\", \"shortCode\": \"CP-C7F-ZS5\", \"value\": { \"amount\": \"6190\", \"currency\": \"NZD\" }, \"preAuth\": true, \"type\": \"confirmation\", \"idempotencyKey\": \"e8df06e2-13a5-48b4-b670-3fd6d815fe0a\", \"createdAt\": \"2021-06-08T04:04:27.426Z\", \"updatedAt\": \"2021-06-08T04:04:27.426Z\", \"lineItems\": [ { \"name\": \"Coffee Grounds\", \"sku\": \"GH1234\", \"qty\": \"1\", \"price\": \"4195\", \"tax\": \"15.00\" }, { \"name\": \"Centrapay Cafe Mug\", \"sku\": \"SB456\", \"qty\": \"25\", \"price\": \"1995\", \"tax\": \"15.00\", \"discount\": \"199\" } ], \"invoiceRef\": \"2022-08-03T16:56:50-06:00\", \"createdByAccountId\": \"Jaim1Cu1Q55uooxSens6yk\", \"createdByAccountName\": \"Bob's Burgers Intergration\" } . Error Responses . | Status | Code | Description | . | 403 | INVALID_PAYMENT_REQUEST_TYPE | The Payment Request is not related to a Pre Auth. | . | 403 | PRE_AUTH_RELEASED | The Payment Request has been released or Pre Auth has expired. Remaining funds have been returned to the Patron. | . | 403 | PRE_AUTH_PENDING | The Payment Request has not been authorized. | . | 403 | REQUEST_CANCELLED | The Payment Request has been cancelled. | . | 403 | INVALID_AMOUNT | The confirmation is greater then the remaining funds on the authroization. | . | 403 | IDEMPOTENT_OPERATION_FAILED | There has already been a confirmation against the Payment Request with the same idempotencyKey but different content. | . List Payment Activities for a Merchant . List payment activities for a merchant. Results are paginated and ordered by descending activity created date. GET /api/payment-activities . curl -G https://service.centrapay.com/api/payment-activities \\ -H \"X-Api-Key: $api_key\" \\ -d merchantId=5ee0c486308f590260d9a07f \\ -d pageKey=PaymentRequest#E9eXsErwA444qFDoZt5iLA|Activity#000000000000001|614161c4c4d3020073bd4ce8|2021-09-15T03:00:21.156Z . Required Fields . | Field | Type | Description | . | merchantId | String | The id of the Merchant the Payment Request is on behalf of. | . Optional Fields . | Field | Type | Description | . | pageKey | String | Used to retrieve the next page of items. | . Note: The pageKey value, if provided, needs to be URL-encoded. Example response payload . { \"nextPageKey\": \"PaymentRequest#E9eXsErwA444qFDoZt5iLA|Activity#000000000000001|614161c4c4d3020073bd4ce8|2021-09-15T03:00:21.156Z\", \"items\": [ { \"type\": \"refund\", \"value\": { \"currency\": \"NZD\", \"amount\": \"600\" }, \"assetType\": \"centrapay.nzd.main\", \"paymentRequestId\": \"MhocUmpxxmgdHjr7DgKoKw\", \"shortCode\": \"CP-C7F-ZS5-032\", \"merchantName\": \"Centrapay Café\", \"merchantId\": \"5ee0c486308f590260d9a07f\", \"merchantAccountId\": \"C4QnjXvj8At6SMsEN4LRi9\", \"merchantConfigId\": \"5ee168e8597be5002af7b454\", \"createdAt\": \"2021-06-12T01:17:00.000Z\", \"createdBy\": \"crn::user:0af834c8-1110-11ec-9072-3e22fb52e878\", \"paymentRequestCreatedBy\": \"crn::user:0af834c8-1110-11ec-9072-3e22fb52e878\", \"activityNumber\": \"3\" }, { \"type\": \"payment\", \"value\": { \"currency\": \"NZD\", \"amount\": \"6190\" }, \"assetType\": \"centrapay.nzd.main\", \"paymentRequestId\": \"MhocUmpxxmgdHjr7DgKoKw\", \"shortCode\": \"CP-C7F-ZS5-027\", \"merchantName\": \"Centrapay Café\", \"merchantId\": \"5ee0c486308f590260d9a07f\", \"merchantAccountId\": \"C4QnjXvj8At6SMsEN4LRi9\", \"merchantConfigId\": \"5ee168e8597be5002af7b454\", \"createdAt\": \"2021-06-12T01:16:00.000Z\", \"createdBy\": \"crn::user:da75ad90-9a5b-4df0-8374-f48b3a8fbfcc\", \"paymentRequestCreatedBy\": \"crn::user:0af834c8-1110-11ec-9072-3e22fb52e878\", \"activityNumber\": \"2\" }, { \"type\": \"request\", \"value\": { \"currency\": \"NZD\", \"amount\": \"6190\" }, \"paymentRequestId\": \"MhocUmpxxmgdHjr7DgKoKw\", \"shortCode\": \"CP-C7F-ZS5-015\", \"merchantName\": \"Centrapay Café\", \"merchantId\": \"5ee0c486308f590260d9a07f\", \"merchantAccountId\": \"C4QnjXvj8At6SMsEN4LRi9\", \"merchantConfigId\": \"5ee168e8597be5002af7b454\", \"createdAt\": \"2021-06-12T01:15:46.000Z\", \"createdBy\": \"crn::user:0af834c8-1110-11ec-9072-3e22fb52e878\", \"paymentRequestCreatedBy\": \"crn::user:0af834c8-1110-11ec-9072-3e22fb52e878\", \"activityNumber\": \"1\" }, { \"type\": \"Authorization\", \"value\": { \"currency\": \"NZD\", \"amount\": \"100\" }, \"paymentRequestId\": \"5zXMDueDJRNNyP3UeWBgSA\", \"shortCode\": \"CP-W4R-01J\", \"merchantName\": \"Centrapay Café\", \"merchantId\": \"5ee0c486308f590260d9a07f\", \"merchantAccountId\": \"C4QnjXvj8At6SMsEN4LRi9\", \"merchantConfigId\": \"5ee168e8597be5002af7b454\", \"createdAt\": \"2021-05-12T01:15:46.000Z\", \"createdBy\": \"crn::user:0af834c8-1110-11ec-9072-3e22fb52e878\", \"paymentRequestCreatedBy\": \"crn::user:0af834c8-1110-11ec-9072-3e22fb52e878\", \"activityNumber\": \"2\", \"preAuth\": true }, { \"type\": \"preAuthRequest\", \"value\": { \"currency\": \"NZD\", \"amount\": \"100\" }, \"paymentRequestId\": \"5zXMDueDJRNNyP3UeWBgSA\", \"shortCode\": \"CP-W4R-01J\", \"merchantName\": \"Centrapay Café\", \"merchantId\": \"5ee0c486308f590260d9a07f\", \"merchantAccountId\": \"C4QnjXvj8At6SMsEN4LRi9\", \"merchantConfigId\": \"5ee168e8597be5002af7b454\", \"createdAt\": \"2021-05-12T01:15:46.000Z\", \"createdBy\": \"crn::user:0af834c8-1110-11ec-9072-3e22fb52e878\", \"paymentRequestCreatedBy\": \"crn::user:0af834c8-1110-11ec-9072-3e22fb52e878\", \"activityNumber\": \"1\", \"preAuth\": true } ] } . List Payment Activities for a Payment Request . List payment activities for a payment request. Results are ordered by descending activity created date. GET /api/payment-requests/{paymentRequestId}/activities . curl https://service.centrapay.com/api/payment-requests/MhocUmpxxmgdHjr7DgKoKw/activities \\ -H \"Authorization: $jwt\" . Example response payload . { \"items\": [ { \"type\": \"refund\", \"value\": { \"currency\": \"NZD\", \"amount\": \"600\" }, \"assetType\": \"centrapay.nzd.main\", \"paymentRequestId\": \"MhocUmpxxmgdHjr7DgKoKw\", \"shortCode\": \"CP-C7F-ZS5-032\", \"merchantName\": \"Centrapay Café\", \"merchantId\": \"5ee0c486308f590260d9a07f\", \"merchantAccountId\": \"C4QnjXvj8At6SMsEN4LRi9\", \"merchantConfigId\": \"5ee168e8597be5002af7b454\", \"createdAt\": \"2021-06-12T01:17:00.000Z\", \"createdBy\": \"crn::user:0af834c8-1110-11ec-9072-3e22fb52e878\", \"paymentRequestCreatedBy\": \"crn::user:0af834c8-1110-11ec-9072-3e22fb52e878\", \"activityNumber\": \"3\" }, { \"type\": \"payment\", \"value\": { \"currency\": \"NZD\", \"amount\": \"6190\" }, \"assetType\": \"centrapay.nzd.main\", \"paymentRequestId\": \"MhocUmpxxmgdHjr7DgKoKw\", \"shortCode\": \"CP-C7F-ZS5-027\", \"merchantName\": \"Centrapay Café\", \"merchantId\": \"5ee0c486308f590260d9a07f\", \"merchantAccountId\": \"C4QnjXvj8At6SMsEN4LRi9\", \"merchantConfigId\": \"5ee168e8597be5002af7b454\", \"createdAt\": \"2021-06-12T01:16:00.000Z\", \"createdBy\": \"crn::user:da75ad90-9a5b-4df0-8374-f48b3a8fbfcc\", \"paymentRequestCreatedBy\": \"crn::user:0af834c8-1110-11ec-9072-3e22fb52e878\", \"activityNumber\": \"2\" }, { \"type\": \"request\", \"value\": { \"currency\": \"NZD\", \"amount\": \"6190\" }, \"paymentRequestId\": \"MhocUmpxxmgdHjr7DgKoKw\", \"shortCode\": \"CP-C7F-ZS5-015\", \"merchantName\": \"Centrapay Café\", \"merchantId\": \"5ee0c486308f590260d9a07f\", \"merchantAccountId\": \"C4QnjXvj8At6SMsEN4LRi9\", \"merchantConfigId\": \"5ee168e8597be5002af7b454\", \"createdAt\": \"2021-06-12T01:15:46.000Z\", \"createdBy\": \"crn::user:0af834c8-1110-11ec-9072-3e22fb52e878\", \"paymentRequestCreatedBy\": \"crn::user:0af834c8-1110-11ec-9072-3e22fb52e878\", \"activityNumber\": \"1\" } ] } . Accept Payment Condition for a Payment Request . Accept a Payment Condition listed in merchantConditions with status awaiting-merchant. Returns a Payment Activity. POST /api/payment-requests/{paymentRequestId}/conditions/{conditionId}/accept . curl -X POST https://service.centrapay.com/api/payment-requests/MhocUmpxxmgdHjr7DgKoKw/conditions/1/accept \\ -H \"X-Api-Key: $api_key\" . Example response payload . { \"type\": \"accept-condition\", \"value\": { \"currency\": \"NZD\", \"amount\": 100 }, \"paymentRequestId\": \"MhocUmpxxmgdHjr7DgKoKw\", \"conditionId\": \"1\", \"createdAt\": \"2022-05-12T01:17:00.000Z\", \"createdBy\": \"crn::user:0af834c8-1110-11ec-9072-3e22fb52e878\", \"paymentRequestCreatedBy\": \"crn::user:0af834c8-1110-11ec-9072-3e22fb52e878\", \"activityNumber\": \"2\", \"merchantAccountId\": \"C4QnjXvj8At6SMsEN4LRi9\", \"merchantId\": \"5ee0c486308f590260d9a07f\", \"merchantConfigId\": \"5ee168e8597be5002af7b454\", \"merchantName\": \"Centrapay Café\" } . Error Responses . | Status | Code | Description | . | 403 | PATRON_NOT_AUTHORIZED | The Payment Condition is awaiting-merchant, therefore the patron is not authorized to accept the condition. | . | 403 | MERCHANT_NOT_AUTHORIZED | The Payment Condition is awaiting-patron, therefore the merchant is not authorized to accept the condition. | . | 403 | CONDITION_ALREADY_SET | The Payment Condition has already been accepted or declined. | . Decline Payment Condition for a Payment Request . Decline a Payment Condition listed in merchantConditions with status awaiting-merchant. Returns a Payment Activity. POST /api/payment-requests/{paymentRequestId}/conditions/{conditionId}/decline . curl -X POST https://service.centrapay.com/api/payment-requests/MhocUmpxxmgdHjr7DgKoKw/conditions/1/decline \\ -H \"X-Api-Key: $api_key\" . Example response payload . { \"type\": \"decline-condition\", \"value\": { \"currency\": \"NZD\", \"amount\": 100 }, \"paymentRequestId\": \"MhocUmpxxmgdHjr7DgKoKw\", \"conditionId\": \"1\", \"createdAt\": \"2022-05-12T01:17:00.000Z\", \"createdBy\": \"crn::user:0af834c8-1110-11ec-9072-3e22fb52e878\", \"paymentRequestCreatedBy\": \"crn::user:0af834c8-1110-11ec-9072-3e22fb52e878\", \"activityNumber\": \"2\", \"merchantAccountId\": \"C4QnjXvj8At6SMsEN4LRi9\", \"merchantId\": \"5ee0c486308f590260d9a07f\", \"merchantConfigId\": \"5ee168e8597be5002af7b454\", \"merchantName\": \"Centrapay Café\" } . Error Responses . | Status | Code | Description | . | 403 | PATRON_NOT_AUTHORIZED | The Payment Condition is awaiting-merchant, therefore the patron is not authorized to decline the condition. | . | 403 | MERCHANT_NOT_AUTHORIZED | The Payment Condition is awaiting-patron, therefore the merchant is not authorized to decline the condition. | . | 403 | CONDITION_ALREADY_SET | The Payment Condition has already been accepted or declined. | . ", - "url": "/api/payment-requests#operations", - "relUrl": "/api/payment-requests#operations" - },"139": { - "doc": "Profiles", - "title": "Profile", - "content": "A profile represents a Centrapay user’s attributes. ", - "url": "/api/profiles#profile", - "relUrl": "/api/profiles#profile" - },"140": { - "doc": "Profiles", - "title": "Contents", - "content": ". | Models . | Profile | . | Operations . | Update a Profile EXPERIMENTAL | Get Profile EXPERIMENTAL | . | . ", - "url": "/api/profiles#contents", - "relUrl": "/api/profiles#contents" - },"141": { - "doc": "Profiles", - "title": "Models", - "content": "Profile . Mandatory Fields . | Field | Type | Description | . | userId | String | The Centrapay user id. | . Optional Fields . | Field | Type | Description | . | givenName | String | First name. | . | familyName | String | Last name. | . | featureUpdates | Boolean | Whether a user would like to receive emails for feature updates. | . | marketingUpdates | Boolean | Whether a user would like to receive emails for marketing updates. | . | email | String | Email address. | . | emailVerified | Boolean | Flag indicating the verification status of the email address. | . | phoneNumber | String | The user’s phone number. | . | phoneVerified | Boolean | Flag indicating the verification status of the phone number. | . ", - "url": "/api/profiles#models", - "relUrl": "/api/profiles#models" - },"142": { - "doc": "Profiles", - "title": "Operations", - "content": "Update a Profile EXPERIMENTAL . Update a user’s mutable attributes. At least one field must be provided in the request. POST /api/me/profile/update . curl -X POST https://service.centrapay.com/api/me/profile/update \\ -H \"Authorization: $jwt\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"givenName\": \"John\", \"familyName\": \"Doe\", \"featureUpdates\": false, \"marketingUpdates\": true, \"email\": \"john.doe@centrapay.com\" }' . Example response payload . { \"givenName\": \"John\", \"familyName\": \"Doe\", \"featureUpdates\": false, \"marketingUpdates\": true, \"email\": \"john.doe@centrapay.com\" } . Get Profile EXPERIMENTAL . GET /api/users/{userId}/profile . curl https://service.centrapay.com/api/users/da75ad90-9a5b-4df0-8374-f48b3a8fbfcc/profile \\ -H \"X-Api-Key: $api_key\" . Example response payload . { \"userId\": \"9f4b3bae-dc30-11ea-ab70-2743d9be3dd5\", \"givenName\": \"John\", \"familyName\": \"Doe\", \"featureUpdates\": true, \"marketingUpdates\": true, \"email\": \"john.doe@centrapay.com\", \"emailVerified\": true, \"phoneNumber\": \"+64271112222\", \"phoneVerified\": true } . ", - "url": "/api/profiles#operations", - "relUrl": "/api/profiles#operations" - },"143": { - "doc": "Profiles", - "title": "Profiles", - "content": " ", - "url": "/api/profiles", - "relUrl": "/api/profiles" - },"144": { - "doc": "Quotas", - "title": "Quotas", - "content": "Centrapay account quotas are enforced on usage types such as spending or topping up, and may apply to a time period (daily, monthly, yearly). Account quotas may be affected by the verification status of the Centrapay account. ", - "url": "/api/quotas", - "relUrl": "/api/quotas" - },"145": { - "doc": "Quotas", - "title": "Contents", - "content": ". | Models . | Quota | . | Operations . | Getting account quotas EXPERIMENTAL | . | . ", - "url": "/api/quotas#contents", - "relUrl": "/api/quotas#contents" - },"146": { - "doc": "Quotas", - "title": "Models", - "content": "Quota . Required Fields . | Field | Type | Description | . | type | String | The quota’s type. | . | limit | BigNumber | The quota’s upper usage limit. | . | usage | BigNumber | The quota’s current usage. | . Optional Fields . | Field | Type | Description | . | assetType | String | The type of asset the quota is scoped to, eg centrapay.nzd.main. | . | period | String | The recurring, time-bound quota’s duration: daily, monthly or yearly. | . | interval | String | The specific day, month or year the quota applies to, eg: 2020-01-01, 2020-01, 2020. | . Supported Quota Types . The following table describes the supported quota types and variants. The “Scoped” column indicates whether the quota can have different values for different asset types. The “Periods” column indicates which periods are applicable to the quota. | Type | Description | Scoped | Periods | . | spend | Value of wallet-based payments or asset transfers from the account. | Yes | monthly yearly | . | topup | Value of topups from bank accounts linked to the account. | Yes | monthly yearly | . ", - "url": "/api/quotas#models", - "relUrl": "/api/quotas#models" - },"147": { - "doc": "Quotas", - "title": "Operations", - "content": "Getting account quotas EXPERIMENTAL . Retrieve quota limits and usages for the current intervals. Ie, all quotas for the current day, current month and current year as well as any quotas that are not associated with a temporal period. GET /api/accounts/{accountId}/quotas . curl https://service.centrapay.com/api/accounts/Jaim1Cu1Q55uooxSens6yk/quotas \\ -H \"X-Api-Key: $api_key\" . Example response payload . [ { \"limit\": \"1000\", \"interval\": \"2021-03\", \"period\": \"monthly\", \"usage\": \"500\", \"type\": \"spend\", \"assetType\": \"centrapay.nzd.main\" }, { \"limit\": \"9999\", \"interval\": \"2021\", \"period\": \"yearly\", \"usage\": \"1555\", \"type\": \"spend\", \"assetType\": \"centrapay.nzd.main\" }, { \"limit\": \"1000\", \"interval\": \"2021-03\", \"period\": \"monthly\", \"usage\": \"500\", \"type\": \"topup\", \"assetType\": \"centrapay.nzd.main\" }, { \"limit\": \"9999\", \"interval\": \"2021\", \"period\": \"yearly\", \"usage\": \"5000\", \"type\": \"topup\", \"assetType\": \"centrapay.nzd.main\" } ] . Error Responses . If a quota limit is exceeded by an action that enforces quota limits, the following error response will be returned. The quotas field will contain all quota limits that are exceeded with the usage set to the amount that the quota would have been updated to if the action was completed. { \"message\": \"QUOTA_EXCEEDED\", \"quotas\": [ { \"limit\": \"9999\", \"interval\": \"2021\", \"period\": \"yearly\", \"usage\": \"10000\", \"type\": \"topup\", \"assetType\": \"centrapay.nzd.main\" } ] } . ", - "url": "/api/quotas#operations", - "relUrl": "/api/quotas#operations" - },"148": { - "doc": "Scanned Codes", - "title": "Scanned Codes", - "content": "A scanned code is a barcode that a merchant scans. The code can be used to create a Payment Request. ", - "url": "/api/scanned-codes", - "relUrl": "/api/scanned-codes" - },"149": { - "doc": "Scanned Codes", - "title": "Contents", - "content": ". | Models . | Scanned Code | . | Operations . | Decode Scanned Code | . | . ", - "url": "/api/scanned-codes#contents", - "relUrl": "/api/scanned-codes#contents" - },"150": { - "doc": "Scanned Codes", - "title": "Models", - "content": "Scanned Code . Fields . | Field | Type | Description | . | code | String | The utf8 representation of data decoded from what was scanned. | . | scannedBy | String | The party that scanned the code. Can be merchant. | . | provider | String | The integrator that owns the code. This can be used to calculate discounts on Line Items. Can be paypal, venmo, farmlands or centrapay. | . | displayName | String | A formatted name that can be displayed in a client. | . | merchantConfigId | String | The ID of the Merchant Config. | . ", - "url": "/api/scanned-codes#models", - "relUrl": "/api/scanned-codes#models" - },"151": { - "doc": "Scanned Codes", - "title": "Operations", - "content": ". Decode Scanned Code . POST /api/decode Decode Merchant Scanned Barcode . curl -X POST https://service.centrapay.com/api/decode \\ -H \"Authorization: $jwt\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"code\": \"123456789\", \"scannedBy\": \"merchant\", \"merchantConfigId\": \"P9gm1s1Cu1Q5uooxs\" }' . Example response payload . { \"code\": \"123456789\", \"scannedBy\": \"merchant\", \"merchantConfigId\": \"P9gm1s1Cu1Q5uooxs\", \"provider\": \"farmlands\", \"displayName\": \"Farmlands Card\" } . Error Responses . | Status | Code | Description | . | 403 | UNKNOWN_CODE | The code doesn’t exist or is no longer active in our system. | . | 403 | MERCHANT_CONFIG_NOT_FOUND | The supplied merchant config does not exist. | . | 403 | INVALID_MERCHANT_CONFIG | The merchant config does not have a payment option that can satisfy the scanned code. | . ", - "url": "/api/scanned-codes#operations", - "relUrl": "/api/scanned-codes#operations" - },"152": { - "doc": "Settlements", - "title": "Settlements", - "content": "A settlement is created from completed Payment Requests over a specified period for each supported Asset Type for each Merchant. Settlements can only be created if the merchant has a Settlement Config. ", - "url": "/api/settlements", - "relUrl": "/api/settlements" - },"153": { - "doc": "Settlements", - "title": "Contents", - "content": ". | Models . | Settlement | . | Operations . | List Settlements | . | . ", - "url": "/api/settlements#contents", - "relUrl": "/api/settlements#contents" - },"154": { - "doc": "Settlements", - "title": "Models", - "content": "Settlement . Mandatory Fields . | Field | Type | Description | . | id | String | The unique identifier for the settlement. | . | status | String | The status of the settlement. | . | assetType | String | The Asset Type being settled. | . | currency | String | The settlement currency. | . | createdAt | Timestamp | When the Settlement was created. | . | createdBy | CRN | The User or API Key that created the Settlement. | . Optional Fields . | Field | Type | Description | . | settledAt | Timestamp | The time when settlement was completed. | . | settledBy | CRN | The User or API Key that completed the Settlement. | . | settlementAmount | BigNumber | The total amount of the settlement. | . | settlementBankAccountId | String | The ID of the bank account used for settlement. | . ", - "url": "/api/settlements#models", - "relUrl": "/api/settlements#models" - },"155": { - "doc": "Settlements", - "title": "Operations", - "content": "List Settlements . GET /api/merchants/{merchantId}/settlements . curl https://service.centrapay.com/api/merchants/5ee0c486308f590260d9a07f/settlements \\ -H \"X-Api-Key: $api_key\" . Example response payload . { \"items\": [ { \"id\": \"89028sh9308f590260d9a07f\", \"status\": \"confirmed\", \"assetType\": \"centrapay.nzd.main\", \"currency\": \"NZD\", \"createdAt\": \"2021-11-12T01:17:46.499Z\", \"createdBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"settledAt\": \"2021-11-13T11:59:59.999Z\", \"settledBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"settlementAmount\": \"2500\", \"settlementBankAccountId\": \"67e0c486308f590260d9a139\" }, { \"id\": \"9ds2cs89028sh90260d9f91h\", \"status\": \"awaiting-confirmation\", \"assetType\": \"centrapay.nzd.main\", \"currency\": \"NZD\", \"createdAt\": \"2021-11-13T01:17:46.499Z\", \"createdBy\": \"crn:WIj211vFs9cNACwBb04vQw:api-key:MyApiKey\", \"settlementAmount\": \"2200\", \"settlementBankAccountId\": \"67e0c486308f590260d9a139\" } ] } . ", - "url": "/api/settlements#operations", - "relUrl": "/api/settlements#operations" - },"156": { - "doc": "Tokens", - "title": "Tokens", - "content": "Tokens are assets which can only be spent in full. Every token is associated with a collection, which defines the branding and general rules for the tokens, such as active duration. A redemption condition is created for each merchant that accepts tokens from a collection, and contains additional conditions specific to that merchant, such as redeemable product identifiers. ", - "url": "/api/tokens", - "relUrl": "/api/tokens" - },"157": { - "doc": "Tokens", - "title": "Contents", - "content": ". | Models . | Token Collection EXPERIMENTAL | Token Expires After EXPERIMENTAL | Redemption Condition EXPERIMENTAL | Allowed Products EXPERIMENTAL | . | Operations . | Create Token Collection EXPERIMENTAL | List Token Collections for Account EXPERIMENTAL | Create Redemption Condition EXPERIMENTAL | Create Token EXPERIMENTAL | . | . ", - "url": "/api/tokens#contents", - "relUrl": "/api/tokens#contents" - },"158": { - "doc": "Tokens", - "title": "Models", - "content": ". Token Collection EXPERIMENTAL . Fields . | Field | Type | Description | . | name | String | The display name of the collection. | . | accountId | String | The account that will own the collection. | . | tokenExpiresAfter | Token Expires After | The active duration of all tokens created from this collection. | . | type | String | The type of value exchanged when redeeming tokens, can be product | . | maxValue | Monetary Optional | The maximum agreed value that any merchants will be settled for a token redemption. | . | id | String | The token collection id | . | test | Boolean | true if the token collection is for testing purposes only. | . | status | String | The status of the token collection. Valid values include ‘active’. | . | createdBy | CRN | The identity that created the activity. | . | createdAt | Timestamp | Timestamp at which the token collection was created. | . | mediaUploadId | String Optional | The id of the media upload image of the collection. | . | img | String Optional | The img URL of the collection. | . | issuer | String Optional | The name of the Business linked to the account. | . Token Expires After EXPERIMENTAL . | Field | Type | Description | . | period | String | Supported values are hour, day, week,month and year. | . | duration | String | Number of period until token expiration. | . Redemption Condition EXPERIMENTAL . Fields . | Field | Type | Description | . | merchantId | String | The identifier of the merchant that is accepting the collection. | . | allowedProducts | Allowed Products Optional | List of allowed products, required for collections of type product | . | id | String | The redemption condition id | . | collectionId | String | The token collection that will govern the branding and redemption rules for the token. | . | createdBy | CRN | The identity that created the activity. | . | createdAt | Timestamp | Timestamp at which the redemption condition was created. | . Allowed Products EXPERIMENTAL . | Field | Type | Description | . | sku | String | The SKU of the product that is to be accepted. | . | name | String | Display name of the product | . | maxValue | Monetary | The maximum value that the product can be redeemed for. | . ", - "url": "/api/tokens#models", - "relUrl": "/api/tokens#models" - },"159": { - "doc": "Tokens", - "title": "Operations", - "content": "Create Token Collection EXPERIMENTAL . POST /api/collections . curl -X POST https://service.centrapay.com/api/collections \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"name\": \"Bread\", \"accountId\": \"T3y6hogYA4d612BExypWYH\", \"tokenExpiresAfter\": { \"period\": \"month\", \"duration\": \"1\" }, \"maxValue\": { \"currency\": \"NZD\", \"amount\": \"400\" }, \"type\": \"product\", \"mediaUploadId\": \"12345\" }' . Example response payload . { \"id\": \"Xv990BzkgfoDS7bBls50pd\", \"name\": \"Bread\", \"accountId\": \"T3y6hogYA4d612BExypWYH\", \"tokenExpiresAfter\": { \"period\": \"month\", \"duration\": \"1\" }, \"maxValue\": { \"currency\": \"NZD\", \"amount\": \"400\" }, \"test\": true, \"type\": \"product\", \"status\": \"active\", \"createdBy\": \"crn::user:b657195e-dc2f-11ea-8566-e7710d592c99\", \"createdAt\": \"2021-05-12T04:30:11.001Z\", \"mediaUploadId\": \"12345\", \"img\": \"https://media-upload.centrapay.com/image.png?jhbdsfau67ewejshb=487hsdjhbdgs743\", \"issuer\": \"Centrapay\" } . List Token Collections for Account EXPERIMENTAL . Returns a paginated list of token collections for an account. GET /api/accounts/{accountId}/collections . curl -G https://service.centrapay.com/api/accounts/T3y6hogYA4d612BExypWYH/collections \\ -H \"X-Api-Key: $api_key\" \\ -d pageKey=Collection#2G5bXm4dnuDHnnKY8WeCPm|#Collection|8vq4kn03o0g1grrihk7ooloizpqt2y . Fields . | Field | Type | Description | . | pageKey | String Optional | Used to retrieve the next page of items. | . Note: The pageKey value, if provided, needs to be URL-encoded. Example response payload . { \"nextPageKey\": \"Collection#E9eXsErwA444qFDoZt5iLA|#Collection\", \"items\": [ { \"id\": \"Xv990BzkgfoDS7bBls50pd\", \"name\": \"Bread\", \"accountId\": \"T3y6hogYA4d612BExypWYH\", \"tokenExpiresAfter\": { \"period\": \"month\", \"duration\": \"1\" }, \"maxValue\": { \"currency\": \"NZD\", \"amount\": \"400\" }, \"test\": true, \"type\": \"product\", \"status\": \"active\", \"createdBy\": \"crn::user:b657195e-dc2f-11ea-8566-e7710d592c99\", \"createdAt\": \"2021-05-12T04:30:11.001Z\", \"mediaUploadId\": \"12345\", \"img\": \"https://media-upload.centrapay.com/image.png?jhbdsfau67ewejshb=487hsdjhbdgs743\", \"issuer\": \"Centrapay\" } ] } . Create Redemption Condition EXPERIMENTAL . POST /api/collections/{collectionId}/redemption-conditions . curl -X POST https://service.centrapay.com/api/collections/NFhUgPQEYbk2EbTXAYArTX/redemption-conditions \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"merchantId\": \"36EALpZ89XpShxM2Ee9sXT\", \"allowedProducts\": [ { \"sku\": \"100001\", \"name\": \"White Bread\", \"maxValue\": { \"currency\": \"NZD\", \"amount\": \"400\" } }, { \"sku\": \"100002\", \"name\": \"Sourdough Bread\", \"maxValue\": { \"currency\": \"NZD\", \"amount\": \"800\" } } ] }' . Example response payload . { \"id\": \"1234\", \"merchantId\": \"36EALpZ89XpShxM2Ee9sXT\", \"collectionId\": \"NFhUgPQEYbk2EbTXAYArTX\", \"allowedProducts\": [ { \"sku\": \"100001\", \"name\": \"White Bread\", \"maxValue\": { \"currency\": \"NZD\", \"amount\": \"400\" } }, { \"sku\": \"100002\", \"name\": \"Sourdough Bread\", \"maxValue\": { \"currency\": \"NZD\", \"amount\": \"800\" } } ], \"createdAt\": \"2022-05-12T04:30:11.001Z\", \"createdBy\": \"crn::user:b657195e-dc2f-11ea-8566-e7710d592c99\" } . Error Responses . | Status | Code | Description | . | 403 | INVALID_AMOUNT | One or more of the maxValue amount in the products has exceeded the maxValue amount defined on the collection. | . | 403 | REDEMPTION_CONDITION_ALREADY_EXISTS | A redemption condition for the collection and the merchant has already been created. | . Create Token EXPERIMENTAL . POST /api/tokens Create a token . curl -X POST https://service.centrapay.com/api/tokens \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"collectionId\": \"Jaim1Cu1Q55uooxSens6yk\", \"idempotencyKey\": \"payment-de32dd90-b46c-11ea-93c3-83a333b86e7b\" }' . Create a token with externalId . curl -X POST https://service.centrapay.com/api/tokens \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"collectionId\": \"Jaim1Cu1Q55uooxSens6yk\", \"idempotencyKey\": \"payment-de32dd90-b46c-11ea-93c3-83a333b86e7b\", \"externalId\": \"23403283262\" }' . Create a token with accountId . curl -X POST https://service.centrapay.com/api/tokens \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"collectionId\": \"Jaim1Cu1Q55uooxSens6yk\", \"idempotencyKey\": \"payment-de32dd90-b46c-11ea-93c3-83a333b86e7b\", \"accountId\": \"WRhAxxWpTKb5U7pXyxQjjP\" }' . Fields . | Field | Type | Description | . | collectionId | String | The token collection that will govern the branding and redemption rules for the token. | . | idempotencyKey | String | Client-supplied identifier that prevents double creation. | . | externalId | String Optional | The asset identifier from the issuing system. | . | accountId | String Optional | The account to create the token for. Defaults to the account on the token collection. | . Example response payload . { \"id\": \"pe32dd90-b46c-11ea-92828sa\", \"accountId\": \"WRhAxxWpTKb5U7pXyxQjjP\", \"category\": \"token\", \"collectionId\": \"Jaim1Cu1Q55uooxSens6yk\", \"status\": \"active\", \"createdAt\": \"2021-01-17T18:00:23.000Z\", \"activeFrom\": \"2021-01-17T18:00:23.000Z\", \"expiresAt\": \"2022-01-18T18:00:23.000Z\", \"liveness\": \"test\", \"createdBy\": \"crn:1234abc:api-key:MyAssetIssuerKey\", \"description\": \"My Cafe Token\", \"issuerImg\": \"https://static.centrapay.com/assets/brands/centraperk/logo.png\", \"img\": \"https://static.centrapay.com/assets/brands/centraperk/cafe-token.png\", \"issuer\": \"Centraperk Cafe\", \"issuerWebsite\": \"www.centraperk-cafe.com\", \"type\": \"centrapay.token.test\", \"externalId\": \"23403283262\" } . Error Responses . | Status | Code | Description | . | 403 | TOKEN_ALREADY_CREATED | Token with supplied parameters already exists. | . | 403 | LIVENESS_MISMATCH | The account is test and the collection’s liveness is main or vice versa. | . ", - "url": "/api/tokens#operations", - "relUrl": "/api/tokens#operations" - },"160": { - "doc": "Verifone Terminal Status Batch", - "title": "Verifone Terminal Status Batch", - "content": "Performs a bulk update to the current status for connected Verifone NZ payment terminals. See the Batch resource for how to submit an instance of this batch. | Type Name | verifone-terminal-status | . | File Format | JSONL | . | Record Type | Terminal Status | . ", - "url": "/api/batch-types/verifone-terminal-status", - "relUrl": "/api/batch-types/verifone-terminal-status" - },"161": { - "doc": "Verifone Terminal Status Batch", - "title": "Contents", - "content": ". | Models . | Terminal Status | . | Example JSONL File | Pretty Printed Example | . ", - "url": "/api/batch-types/verifone-terminal-status#contents", - "relUrl": "/api/batch-types/verifone-terminal-status#contents" - },"162": { - "doc": "Verifone Terminal Status Batch", - "title": "Models", - "content": ". Terminal Status . Fields . | Field | Type | Description | . | status | String | Current terminal status: “active” or “inactive”. | . | statusMessage | String | Reason for status. Eg: “config update required”. | . | terminalId | String | Logical terminal id. Eg: “325-136-329”. | . | deviceId | String Optional | Hardware serial number. Eg: “T404395000002”. | . | merchantId | String Optional | Centrapay Merchant id. | . | merchantConfigId | String Optional | Centrapay Merchant Config id. | . | merchantName | String Optional | Name of merchant. Eg: “Centra Café”. | . | description | String Optional | Description of the device. Eg “Front Till” | . | model | String Optional | Hardware model. Eg: “VX820”. | . | firstSeen | Timestamp Optional | Date when terminal status was first observed. | . | lastSeen | Timestamp Optional | Date when terminal status was last observed. | . | configVersion | String Optional | Version of loaded terminal configuration. Eg: “20220214.1”. | . | configUpdatedAt | Timestamp Optional | Date when terminal configuration was loaded. | . | softwareVersion | String Optional | Version of terminal software. Eg: “1.7.134”. | . | softwareUpdatedAt | Timestamp Optional | Date when terminal software was updated. | . ", - "url": "/api/batch-types/verifone-terminal-status#models", - "relUrl": "/api/batch-types/verifone-terminal-status#models" - },"163": { - "doc": "Verifone Terminal Status Batch", - "title": "Example JSONL File", - "content": "A complete JSONL batch file example. For more legible examples refer to the pretty printed example below. {\"merchantId\":\"06baa0708ee0e000696\",\"merchantConfigId\":\"baa09e8158300063fc\",\"merchantName\":\"Centra Café\",\"description\":\"Till #1\",\"model\":\"VX820\",\"terminalId\":\"325-136-331\",\"deviceId\":\"T404395000004\",\"status\":\"inactive\",\"statusMessage\":\"update required\",\"firstSeen\":\"2020-01-14T09:00:00Z\",\"lastSeen\":\"2022-03-14T09:00:00Z\",\"configVersion\": 20210914.1,\"configUpdatedAt\":\"2021-09-15 09:00:00 UTC\",\"softwareVersion\":\"1.7.134\",\"softwareUpdatedAt\":\"2021-11-14 09:00:00 UTC\"} {\"merchantId\":\"06baa0708ee0e000696\",\"merchantConfigId\":\"baa09e8158300063fc\",\"merchantName\":\"Centra Café\",\"description\":\"Till #2\",\"model\":\"VX820\",\"terminalId\":\"325-136-329\",\"deviceId\":\"T404395000002\",\"status\":\"active\",\"statusMessage\":\"ok\",\"firstSeen\":\"2020-01-14T09:00:00Z\",\"lastSeen\":\"2022-03-14T09:00:00Z\",\"configVersion\": 20220214.1,\"configUpdatedAt\":\"2022-02-14 09:00:00 UTC\",\"softwareVersion\":\"1.7.134\",\"softwareUpdatedAt\":\"2021-11-14 09:00:00 UTC\"} . ", - "url": "/api/batch-types/verifone-terminal-status#example-jsonl-file", - "relUrl": "/api/batch-types/verifone-terminal-status#example-jsonl-file" - },"164": { - "doc": "Verifone Terminal Status Batch", - "title": "Pretty Printed Example", - "content": "Warning: Below our records have newlines for legibility. When submitting a batch file you must only use newlines to separate records. { \"merchantId\": \"06baa0708ee0e000696\", \"merchantConfigId\": \"baa09e8158300063fc\", \"merchantName\": \"Centra Café\", \"description\": \"Till #2\", \"model\": \"VX820\", \"terminalId\": \"325-136-329\", \"deviceId\": \"T404395000002\", \"status\": \"active\", \"statusMessage\": \"incompatible hardware\", \"firstSeen\": \"2020-01-14T09:00:00Z\", \"lastSeen\": \"2022-03-14T09:00:00Z\", \"configVersion\": 20220214.1, \"configUpdatedAt\": \"2022-02-14 09:00:00 UTC\", \"softwareVersion\": \"1.7.134\", \"softwareUpdatedAt\": \"2021-11-14 09:00:00 UTC\" } . ", - "url": "/api/batch-types/verifone-terminal-status#pretty-printed-example", - "relUrl": "/api/batch-types/verifone-terminal-status#pretty-printed-example" - },"165": { - "doc": "Wallets", - "title": "Wallets", - "content": "A Wallet is an asset that represents money. The Wallet maintains a record of all transactions it has participated in. A Wallet has a single balance and a single currency. ", - "url": "/api/wallets", - "relUrl": "/api/wallets" - },"166": { - "doc": "Wallets", - "title": "Settlement Wallets EXPERIMENTAL", - "content": "A Settlement Wallet is a special type of Wallet that can only receive or refund money related to a payment request. This means you cannot topup, withdraw, or send money from this Wallet. ", - "url": "/api/wallets#settlement-wallets-experimental", - "relUrl": "/api/wallets#settlement-wallets-experimental" - },"167": { - "doc": "Wallets", - "title": "Contents", - "content": ". | Creating a Wallet | Listing authorized wallets | Listing Wallet Transactions EXPERIMENTAL | . ", - "url": "/api/wallets#contents", - "relUrl": "/api/wallets#contents" - },"168": { - "doc": "Wallets", - "title": "Creating a Wallet", - "content": "POST /api/wallets . curl -X POST https://service.centrapay.com/api/wallets \\ -H \"X-Api-Key: $api_key\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"accountId\": \"Te2uDM7xhDLWGVJU3nzwnh\", \"ledgerId\": \"centrapay.nzd.main\" }' . Required Fields . | Field | Type | Description | . | accountId | String | The id of the account | . | ledgerId | String | The id of the ledger e.g. centrapay.nzd.main, centrapay.nzd.test | . Optional Fields . | Field | Type | Description | . | settlement | Boolean | EXPERIMENTAL Configure the Wallet to be a Settlement Wallet. | . Example response payload . { \"id\": \"WRhAxxWpTKb5U7pXyxQjjY\", \"accountId\": \"Te2uDM7xhDLWGVJU3nzwnh\", \"category\": \"money\", \"type\": \"centrapay.nzd.main\", \"liveness\": \"main\", \"description\": \"NZD\", \"createdAt\": \"2021-01-01T00:00:00.000Z\", \"status\": \"active\", \"currency\": \"NZD\", \"balance\": \"0\", \"availableBalance\": \"6000\" } . Example response payload for Settlement Wallet . { \"id\": \"WRhAxxWpTKb5U7pXyxQjjY\", \"accountId\": \"Te2uDM7xhDLWGVJU3nzwnh\", \"category\": \"money\", \"type\": \"centrapay.nzd.main\", \"liveness\": \"main\", \"description\": \"NZD\", \"createdAt\": \"2021-01-01T00:00:00.000Z\", \"status\": \"active\", \"currency\": \"NZD\", \"balance\": \"0\", \"availableBalance\": \"6000\", \"settlement\": true } . Error Responses . | Status | Code | Description | . | 403 | ACCOUNT_MAX_WALLETS_REACHED | The maximum number of wallets for the given ledger has been reached. | . ", - "url": "/api/wallets#creating-a-wallet", - "relUrl": "/api/wallets#creating-a-wallet" - },"169": { - "doc": "Wallets", - "title": "Listing authorized wallets", - "content": "GET /api/wallets . curl https://service.centrapay.com/api/wallets \\ -H \"X-Api-Key: $api_key\" . Example response payload . [ { \"id\": \"WRhAxxWpTKb5U7pXyxQjjY\", \"accountId\": \"Te2uDM7xhDLWGVJU3nzwnh\", \"ledgerId\": \"centrapay.nzd.main\", \"currency\": \"NZD\", \"balance\": \"2000\", \"availableBalance\": \"6000\" }, { \"id\": \"NQ1yeromwnWPD2hY41L2yS\", \"accountId\": \"Te2uDM7xhDLWGVJU3nzwnh\", \"ledgerId\": \"centrapay.nzd.test\", \"currency\": \"NZD\", \"balance\": \"20\", \"availableBalance\": \"6000\" } ] . ", - "url": "/api/wallets#listing-authorized-wallets", - "relUrl": "/api/wallets#listing-authorized-wallets" - },"170": { - "doc": "Wallets", - "title": "Listing Wallet Transactions EXPERIMENTAL", - "content": "Returns a paginated list of Wallet Transactions. GET /api/wallets/{walletId}/transactions . curl https://service.centrapay.com/api/wallets/WRhAxxWpTKb5U7pXyxQjjY/transactions \\ -H \"X-Api-Key: $api_key\" . Transaction Fields . | Field | Type | Description | . | activityNumber | BigNumber | Unique sequential Wallet transaction number | . | amount | BigNumber | Absolute transaction amount in cents. | . | value | BigNumber | Change to the Wallet’s balance in cents when the transaction was applied. | . | createdAt | Timestamp | Transaction timestamp as ISO 8601 date string. | . | activityType | String | Hints to the type of transaction: undefined or “returned-asset-transfer” | . | destWalletId | String | Id of the destination Wallet if applicable. | . | srcWalletId | String | Id of the source Wallet if applicable. | . | destParty | String | Display value for party receiving funds if applicable. See note below. | . | srcParty | String | Display value for party providing funds if applicable. See note below. | . | paymentRequestId | String | Id of the related payment request if applicable. | . | topupId | String | Id of the related topup funds transfer request if applicable. | . | assetTransferId | String | Id of the related asset transfer request if applicable. | . | withdrawalId | String | Id of the related withdrawal request if applicable. | . Party Values . The “destParty” and “srcParty” are optionally provided depending on the purpose of the transaction. Values may include a merchant name, user handle, masked user email, masked user phone, or bank account. Example response payload (Payment) . { \"items\": [ { \"activityNumber\": \"1\", \"amount\": \"350\", \"value\": \"-350\", \"createdAt\": \"2020-06-17T18:00:23.000Z\", \"destParty\": \"Centrapay Cafe\", \"destWalletId\": \"GfYJd5tZQ63CrehgTP2RPB\", \"srcWalletId\": \"EBVSreNmpsE2Pazw3SipXC\", \"paymentRequestId\": \"MhocUmpxxmgdHjr7DgKoKw\" } ] } . Example response payload (Topup) . { \"items\": [ { \"activityNumber\": \"1\", \"amount\": \"5000\", \"value\": \"5000\", \"createdAt\": \"2020-06-17T18:00:23.000Z\", \"srcParty\": \"12-4000-100001-00\", \"destWalletId\": \"EBVSreNmpsE2Pazw3SipXC\", \"topupId\": \"77hqHDzw6KaaG2P2hoshUB\" } ] } . Example response payload (Sent Asset) . { \"items\": [ { \"activityNumber\": \"1\", \"amount\": \"2500\", \"value\": \"-2500\", \"createdAt\": \"2020-06-17T18:00:23.000Z\", \"destParty\": \"+6422*****36\", \"srcWalletId\": \"EBVSreNmpsE2Pazw3SipXC\", \"assetTransferId\": \"TtQHufC4LGBY2eiPRopRm3\" } ] } . Example response payload (Received Asset) . { \"items\": [ { \"activityNumber\": \"1\", \"amount\": \"2500\", \"value\": \"2500\", \"createdAt\": \"2020-06-17T18:00:23.000Z\", \"srcParty\": \"+6421*****18\", \"destWalletId\": \"EBVSreNmpsE2Pazw3SipXC\", \"assetTransferId\": \"TtQHufC4LGBY2eiPRopRm3\" } ] } . Example response payload (Returned Asset) . { \"items\": [ { \"activityNumber\": \"1\", \"amount\": \"2500\", \"value\": \"2500\", \"createdAt\": \"2020-06-17T18:00:23.000Z\", \"activityType\": \"returned-asset-transfer\", \"srcParty\": \"+6421*****18\", \"destWalletId\": \"EBVSreNmpsE2Pazw3SipXC\", \"assetTransferId\": \"TtQHufC4LGBY2eiPRopRm3\" } ] } . Example response payload (Withdraw) . { \"items\": [ { \"activityNumber\": \"1\", \"amount\": \"2500\", \"value\": \"2500\", \"createdAt\": \"2020-06-17T18:00:23.000Z\", \"srcWalletId\": \"EBVSreNmpsE2Pazw3SipXC\", \"destParty\": \"12-3546-2544786-00\", \"withdrawalId\": \"TtQHufC4LGBY2eiPRopRm3\" } ] } . ", - "url": "/api/wallets#listing-wallet-transactions-experimental", - "relUrl": "/api/wallets#listing-wallet-transactions-experimental" - } -} diff --git a/assets/js/vendor/lunr.min.js b/assets/js/vendor/lunr.min.js deleted file mode 100644 index 34b279dac..000000000 --- a/assets/js/vendor/lunr.min.js +++ /dev/null @@ -1,6 +0,0 @@ -/** - * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.6 - * Copyright (C) 2019 Oliver Nightingale - * @license MIT - */ -!function(){var e=function(t){var r=new e.Builder;return r.pipeline.add(e.trimmer,e.stopWordFilter,e.stemmer),r.searchPipeline.add(e.stemmer),t.call(r,r),r.build()};e.version="2.3.6",e.utils={},e.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),e.utils.asString=function(e){return void 0===e||null===e?"":e.toString()},e.utils.clone=function(e){if(null===e||void 0===e)return e;for(var t=Object.create(null),r=Object.keys(e),i=0;i0){var c=e.utils.clone(r)||{};c.position=[a,l],c.index=s.length,s.push(new e.Token(i.slice(a,o),c))}a=o+1}}return s},e.tokenizer.separator=/[\s\-]+/,e.Pipeline=function(){this._stack=[]},e.Pipeline.registeredFunctions=Object.create(null),e.Pipeline.registerFunction=function(t,r){r in this.registeredFunctions&&e.utils.warn("Overwriting existing registered function: "+r),t.label=r,e.Pipeline.registeredFunctions[t.label]=t},e.Pipeline.warnIfFunctionNotRegistered=function(t){var r=t.label&&t.label in this.registeredFunctions;r||e.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",t)},e.Pipeline.load=function(t){var r=new e.Pipeline;return t.forEach(function(t){var i=e.Pipeline.registeredFunctions[t];if(!i)throw new Error("Cannot load unregistered function: "+t);r.add(i)}),r},e.Pipeline.prototype.add=function(){var t=Array.prototype.slice.call(arguments);t.forEach(function(t){e.Pipeline.warnIfFunctionNotRegistered(t),this._stack.push(t)},this)},e.Pipeline.prototype.after=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(i==-1)throw new Error("Cannot find existingFn");i+=1,this._stack.splice(i,0,r)},e.Pipeline.prototype.before=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(i==-1)throw new Error("Cannot find existingFn");this._stack.splice(i,0,r)},e.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);t!=-1&&this._stack.splice(t,1)},e.Pipeline.prototype.run=function(e){for(var t=this._stack.length,r=0;r1&&(se&&(r=n),s!=e);)i=r-t,n=t+Math.floor(i/2),s=this.elements[2*n];return s==e?2*n:s>e?2*n:sa?l+=2:o==a&&(t+=r[u+1]*i[l+1],u+=2,l+=2);return t},e.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},e.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,r=0;t0){var o,a=s.str.charAt(0);a in s.node.edges?o=s.node.edges[a]:(o=new e.TokenSet,s.node.edges[a]=o),1==s.str.length&&(o["final"]=!0),n.push({node:o,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(0!=s.editsRemaining){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new e.TokenSet;s.node.edges["*"]=u}if(0==s.str.length&&(u["final"]=!0),n.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&n.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),1==s.str.length&&(s.node["final"]=!0),s.str.length>=1){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new e.TokenSet;s.node.edges["*"]=l}1==s.str.length&&(l["final"]=!0),n.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var c,h=s.str.charAt(0),d=s.str.charAt(1);d in s.node.edges?c=s.node.edges[d]:(c=new e.TokenSet,s.node.edges[d]=c),1==s.str.length&&(c["final"]=!0),n.push({node:c,editsRemaining:s.editsRemaining-1,str:h+s.str.slice(2)})}}}return i},e.TokenSet.fromString=function(t){for(var r=new e.TokenSet,i=r,n=0,s=t.length;n=e;t--){var r=this.uncheckedNodes[t],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r["char"]]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}},e.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},e.Index.prototype.search=function(t){return this.query(function(r){var i=new e.QueryParser(t,r);i.parse()})},e.Index.prototype.query=function(t){for(var r=new e.Query(this.fields),i=Object.create(null),n=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),u=0;u1?this._b=1:this._b=e},e.Builder.prototype.k1=function(e){this._k1=e},e.Builder.prototype.add=function(t,r){var i=t[this._ref],n=Object.keys(this._fields);this._documents[i]=r||{},this.documentCount+=1;for(var s=0;s=this.length)return e.QueryLexer.EOS;var t=this.str.charAt(this.pos);return this.pos+=1,t},e.QueryLexer.prototype.width=function(){return this.pos-this.start},e.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},e.QueryLexer.prototype.backup=function(){this.pos-=1},e.QueryLexer.prototype.acceptDigitRun=function(){var t,r;do t=this.next(),r=t.charCodeAt(0);while(r>47&&r<58);t!=e.QueryLexer.EOS&&this.backup()},e.QueryLexer.prototype.more=function(){return this.pos1&&(t.backup(),t.emit(e.QueryLexer.TERM)),t.ignore(),t.more())return e.QueryLexer.lexText},e.QueryLexer.lexEditDistance=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.EDIT_DISTANCE),e.QueryLexer.lexText},e.QueryLexer.lexBoost=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.BOOST),e.QueryLexer.lexText},e.QueryLexer.lexEOS=function(t){t.width()>0&&t.emit(e.QueryLexer.TERM)},e.QueryLexer.termSeparator=e.tokenizer.separator,e.QueryLexer.lexText=function(t){for(;;){var r=t.next();if(r==e.QueryLexer.EOS)return e.QueryLexer.lexEOS;if(92!=r.charCodeAt(0)){if(":"==r)return e.QueryLexer.lexField;if("~"==r)return t.backup(),t.width()>0&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexEditDistance;if("^"==r)return t.backup(),t.width()>0&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexBoost;if("+"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if("-"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if(r.match(e.QueryLexer.termSeparator))return e.QueryLexer.lexTerm}else t.escapeCharacter()}},e.QueryParser=function(t,r){this.lexer=new e.QueryLexer(t),this.query=r,this.currentClause={},this.lexemeIdx=0},e.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var t=e.QueryParser.parseClause;t;)t=t(this);return this.query},e.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},e.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},e.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},e.QueryParser.parseClause=function(t){var r=t.peekLexeme();if(void 0!=r)switch(r.type){case e.QueryLexer.PRESENCE:return e.QueryParser.parsePresence;case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var i="expected either a field or a term, found "+r.type;throw r.str.length>=1&&(i+=" with value '"+r.str+"'"),new e.QueryParseError(i,r.start,r.end)}},e.QueryParser.parsePresence=function(t){var r=t.consumeLexeme();if(void 0!=r){switch(r.str){case"-":t.currentClause.presence=e.Query.presence.PROHIBITED;break;case"+":t.currentClause.presence=e.Query.presence.REQUIRED;break;default:var i="unrecognised presence operator'"+r.str+"'";throw new e.QueryParseError(i,r.start,r.end)}var n=t.peekLexeme();if(void 0==n){var i="expecting term or field, found nothing";throw new e.QueryParseError(i,r.start,r.end)}switch(n.type){case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var i="expecting term or field, found '"+n.type+"'";throw new e.QueryParseError(i,n.start,n.end)}}},e.QueryParser.parseField=function(t){var r=t.consumeLexeme();if(void 0!=r){if(t.query.allFields.indexOf(r.str)==-1){var i=t.query.allFields.map(function(e){return"'"+e+"'"}).join(", "),n="unrecognised field '"+r.str+"', possible fields: "+i;throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.fields=[r.str];var s=t.peekLexeme();if(void 0==s){var n="expecting term, found nothing";throw new e.QueryParseError(n,r.start,r.end)}switch(s.type){case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var n="expecting term, found '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseTerm=function(t){var r=t.consumeLexeme();if(void 0!=r){t.currentClause.term=r.str.toLowerCase(),r.str.indexOf("*")!=-1&&(t.currentClause.usePipeline=!1);var i=t.peekLexeme();if(void 0==i)return void t.nextClause();switch(i.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+i.type+"'";throw new e.QueryParseError(n,i.start,i.end)}}},e.QueryParser.parseEditDistance=function(t){var r=t.consumeLexeme();if(void 0!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="edit distance must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.editDistance=i;var s=t.peekLexeme();if(void 0==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseBoost=function(t){var r=t.consumeLexeme();if(void 0!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="boost must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.boost=i;var s=t.peekLexeme();if(void 0==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():e.lunr=t()}(this,function(){return e})}(); diff --git a/assets/wallets.html b/assets/wallets.html deleted file mode 100644 index be5f11516..000000000 --- a/assets/wallets.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - Redirecting… - - - - -

Redirecting…

- Click here if you are not redirected. - diff --git a/auth.html b/auth.html deleted file mode 100644 index f1777a451..000000000 --- a/auth.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - Redirecting… - - - - -

Redirecting…

- Click here if you are not redirected. - diff --git a/fiat.html b/fiat.html deleted file mode 100644 index 1a62e7924..000000000 --- a/fiat.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - Redirecting… - - - - -

Redirecting…

- Click here if you are not redirected. - diff --git a/fiat/authorities.html b/fiat/authorities.html deleted file mode 100644 index 1a62e7924..000000000 --- a/fiat/authorities.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - Redirecting… - - - - -

Redirecting…

- Click here if you are not redirected. - diff --git a/fiat/bank-accounts.html b/fiat/bank-accounts.html deleted file mode 100644 index 1a62e7924..000000000 --- a/fiat/bank-accounts.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - Redirecting… - - - - -

Redirecting…

- Click here if you are not redirected. - diff --git a/fiat/bank-authorities.html b/fiat/bank-authorities.html deleted file mode 100644 index 1a62e7924..000000000 --- a/fiat/bank-authorities.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - Redirecting… - - - - -

Redirecting…

- Click here if you are not redirected. - diff --git a/fiat/funds-transfers.html b/fiat/funds-transfers.html deleted file mode 100644 index 70ad9a7b4..000000000 --- a/fiat/funds-transfers.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - Redirecting… - - - - -

Redirecting…

- Click here if you are not redirected. - diff --git a/images/asset-lifecycle.png b/images/asset-lifecycle.png deleted file mode 100644 index 907373bcbf02729ae3b8adc358837b43a28dab37..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 111892 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%0A-{S$n|`t1s(ldl6}iasn9UwPJLC`sNjAhVXQ2 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 NTW!25LEq-c{{TvOT%!O0 diff --git a/images/batch-lifecycle.png b/images/batch-lifecycle.png deleted file mode 100644 index f6f0ce256f8a67790cc10b70019c6633092fb67c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17113 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.5%0Aparticipant%20%22Card%20Holder%22%20as%20patron%0Aparticipant%20%22Terminal%22%20as%20terminal%0Aparticipant%20%22Centrapay%22%20as%20api%0A%0Arbox%20over%20patron%3A%20%3Calign%3Acenter%3EPresent%5CnBarcode%0A%0Aterminal%20-%3E%20patron%3A%20Scan%20Barcode%5Cn--(Card%20Number)%0A%0Aterminal%20-%3E%20api%3A%20%5Cn**POST**%20%2Fapi%2Fdecode%5Cn%7B%20code%2C%20scannedBy%2C%20merchantConfigId%20%20%7D%5Cn%5Cn%2F%2F--Check%20Barcode%0A%0Arbox%20over%20terminal%3A%20%3Calign%3Acenter%3ECalculate%5Cndiscounts%0A%0Aparallel%0Aterminal%20-%3E%20api%3A%20%5Cn**POST**%20%2Fapi%2Fpayment-requests%5Cn%7B%20barcode%2C%20barcodeType%2C%20amount%2C%20lineItems%20%20%7D%5Cn%5Cn%2F%2F--Create%20Payment%20Request%0Aaboxleft%20right%20of%20api%23f8971d%3A%20%3Ccolor%3A%23white%3E--Request%5CnAuthorization%5Cnfor%20Sale%0Aparallel%20off%0A%0Aterminal%20-%3E%20api%3A%20**GET**%20%2Fapi%2Fpayment-requests%2F%7Bid%7D%5Cn%5Cn%2F%2F--Poll%20for%20status%0A%0Agroup%20Conditional%20%5BCentrapay%20Triggers%20ID%20Check%5D%0Aparallel%20%0Aterminal%20-%3Epatron%3A%20Check%20ID%0Aaboxleft%20right%20of%20api%23f8971d%3A%20%3Ccolor%3A%23white%3E--Higher%20Risk%20%2F%5CnValue%20Sales%0Aparallel%20off%0A%0Aterminal%20-%3E%20api%3A%20%5Cn**POST**%20%2Fapi%2Fpayment-requests%2F%7Bid%7D%2Faccept%5Cn%5Cn%2F%2F--Accept%20Condition%0Aend%0A%0Aparallel%20%0Aterminal%20-%3E%20api%3A%20**GET**%20%2Fapi%2Fpayment-requests%2F%7Bid%7D%5Cn%5Cn%2F%2F--Poll%20for%20status%0Aaboxleft%20right%20of%20api%23f8971d%3A%20%3Ccolor%3A%23white%3E--Confirm%20Status%5Cnof%20Authorization%0Aparallel%20off%0A%0Arbox%20over%20terminal%3A%20%3Ccolor%3A%23green%3E%E2%9C%94%3C%2Fcolor%3E%20Display%20Confirmation%0ACard HolderTerminalCentrapayPresentBarcodeScan Barcode(Card Number)POST /api/decode{ code, scannedBy, merchantConfigId  }Check BarcodeCalculatediscountsPOST /api/payment-requests{ barcode, barcodeType, amount, lineItems  }Create Payment RequestRequestAuthorizationfor SaleGET /api/payment-requests/{id}Poll for statusCheck IDHigher Risk /Value SalesPOST /api/payment-requests/{id}/acceptAccept ConditionGET /api/payment-requests/{id}Poll for statusConfirm Statusof Authorization Display ConfirmationConditional[Centrapay Triggers ID Check] \ No newline at end of file diff --git a/images/terminal-centrapay-button.png b/images/terminal-centrapay-button.png deleted file mode 100644 index e4ea0e4493bf99a0e6f5d245b51d313688cbcfa2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 69659 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 eHAW6i>>JZ& zBYXbSuC%lVdQzgVb-*fNZg@(JI>#EDFfMa0C8iaa1IeuLX_D*swTL-PF(mA+pl;Nl zbGHRant}!+th}#rOB>oWl!%@1m{j=wIN+*o`13`Pk`Ck%AbCGzA)CPa%KysyZW}8o^DkSCh`fGTPY-b}2Fd!}_Tf|u-VwA{PXv-gLFqVF%wcs+Tm@^ZcQ zTCEXl_difWZcKM%{v8S9m|JuZ=$538y>Un|iMv81ZOqMomm~swGT^PU5 zqP5-YuON4 zm-t#div0Y)az6*R7tx7|-;EerFG^sq;$L)u-MztSz4Fq9*7(`K;Z&QTUjb;RPCxZQ ztL2~`=T)h`Svu8hNhpPO1{(|$L&F0y!~ddL8sTsgHeTbAUDR*E#jZx{GY1e-L2i>YI zW!^E2P8=|2JT%unxOZ3$l1)j-fk+=+1f>aI@nXf2WqY(Sc`1KSRwW!LUrw)|kL`4R zYt>YZ{RDmXdo=t7KJ@;OKj0jf0W7H{nMjIS*2Xaf5Y-*Z2Y&ijdEQz1!2;P5h)X$! zz<~u3;BTBY>9r1hm<@j=%;tmvrwzGqDp==23mtE*wgy?OX-cN-jSA7~f;~pVT*DY| z^GOe0ie;v13JI`W_ebyL0$GhFG%R^K!vH*nx3^czZ4v8^nZN}+=|3o2+~J~|5Zclx zJ9LQIs^$uW>8zfPLy%6UFr4S#5>ITYsgxO#d=J56L<(>-KSY05mo6BnU zX%*~=Y9i@+`#b8VM4S0pEKFX;goX(O9NO&ma`0auvTYbiXci^4uTu2w z*SgS>h)YtlUD%OMF7L&qg-PsNnTme32&y#>%75DZ%L=~?fAu)lTcA;H#=0X7`E!x2 zO7hdrUu029px^_y^X%#+V(?2^LwyOwo%OL28aBXPG~;h}%csvf8SI8hN4ZBsxQ&+$ zxKzm_mXS?aL97(KAW_P=fUAh7ffsVb-Yp44wOLtX?>&dv%<>UDF*d@4^e|PHK|?6v zCOQ|C{dJ8*~wC#65Qy_U`SmnLnp=)<`8 zwXafYbC{K8`3vLHqA=c#+#M@4gGx|+4+a2!O7aF`Dlu|oQ3n`RmkNBOtZrD;Ha1FZr^jR5#Q_)_c} zNS6#>R_qS@Yc=;!eor5jAj}pw7t0!fz2IYu5#&bm{v|${+k)iK4N8zawmA0VZ7b{* z1^+Mxq~1E2m0B%#7ugXOokm?3Ae@&3z|nWKTZY{lctiKRh)n4PFr;-;IA+1&e8#q( zUW`0{`6)OU%X{X+e@-F9Tm+FCg-@OR)Nocq1VkwX0nDnCEBNy1+kUo2aDInkKx28aFst_%XmTT)Q7gCsnD2R!}qB%;lc zmB-40q1#Z>quU}I`MuFuu8oX5i+=ZMTL%;4JeKs%1>pBEEtF#vMs9rUiogJ-xTkxr zu5!l?=%93!@NQs~Plc4D=$SOOJs+p2L9bc0@Of-Op4Jl4QTlg#`q35kGMgW=*9U3< ziXA-P)3jY;*d#@4+iOi)%ZXzhS1s5@S1!VEo3&G^2Q)6sSBZ(16!#WrMN@dJ<*I|^ z%aWkg+TR)+zzW$&LlrBd09bY+b9p#Hsc`05qC zk8@J^5n=2L{99r7<VvpDM&Fl*HNk+OfnM$gyD znugnBDf@2Yl9P2#N%{pUM-73S5XXx+<+P4@_xWv_?cueVlx#&WTLRhldT^N3=Z)>- z=kVd?^6e!y>{XAm>pP_L-4Al_nw0DHJGB9vf@r@n2}fSH#&2{NVTrDqu7dRtTF4G! zQGj_J6t5XWEJ>L^X%&FApm$ZXkR7S)DpMiB2oS}Z2dSYeg{ju8v4+f%HCOTqs%MVE z;Fu8NNoDLF{>`x@`?+KHc0`8m5I89!1Gv?ObnV_=9y~*&V4WiuAIUBsFE{>ZV|*}6 zyc*~ebaRA<(Y9OAgqqAC@m)NYz*9$qB~z%OJY54^9X!lpcfXiUl`Fq}MYBNY{5!j^ zq5|E}oUlL9F%>RT!QNB1j8ZCsQ&>)i+OFb>sfi^eM5I&oEk|d6*;U}(8@=OkqG#x( z!*&b$^B0I?7KBU-PcsiyF>B@EaGo(YwRyTHYf@)@{~_z zBcj0juPj(aBUO4zsC9aCZ6Ycj*)>=;!4y^lw_Q7g zt{{~hzz#iE~g09$MRSzM=_luljWxlhx3`9UWvE@4L{h|PEZ1#mcIn@co9IOu%UYOxBnk3dg$$;KfzB&(J@1bRUkqT zR_s_Fy-1}|b^{**aV5~xFu4W_M?@TVSUU;CAM?|KPrD9JG>nQUW*O1Q$G<2nfK=3H zOHL2Us>ct&R$0P-dTIOiVB5Vt=!#$U9fGs$?t$zI>A6>J7|6VYK}l55zkjqnLC0bM zr=+V;60tD8ru>Ym#qril$=C5EhgGc@OT>fs-_-;R+BPyqXqyr;DZ((4`Cmgxw|uvn z4Cy#-M8klAx(7p5x`6}Vp@)8D@7%P&*R-c@jCI~3V^tCB1-RYUivOt%T*-v_TdP3Y zk{&W=&p*JR4p2IoEDx~g`x}B>Y=91Z5nldfNS9GvUeOOv6``yJ>6e$L=J=&mKYPT?NUSMz%W#MY(wTR%y-CM9;GCk( zKQ%48G|U-B03c?`R*9p3mT=PP*!1$Elmbn0d~rPb8Mcb@MPqkv0>RO01k-xSP8IUG z8hwQP!yOI0T}mG{icun&IxzwVAeowgCWS-OfXb+kLBVG=5Z%iI5*^H^PfNyoG4>TY zvajkL4@>f(LkaCX-`lo`V$IHe$vwKlTCIK@-L?k3EJLye0dgQiUHzB0@9N9YtLE(^{8<{!KPLX_!t zdnG4djPV_wUz0#6NLypUO5Cg)AV0YH$h?tpAqWSO2JCVymGQtv@>{wt*l#8~pndc* zxH||l)$qHyD0K-e9*VMep#4%U@bGD2DI;F#aNluo>NBPQ9?+`jdM?ZV2NnLwuW@$W zMW@ouzadH|-4AHyL;!sVpLwzTK2t_KS-30DtI=0}X=8n)tv|P~_`GlMMio-GhsX{4 zm%1O@OkgHDUS1aG>)z30Q~jE!drC?Yf4{gt0*G-K%wrOCN+|aAQhbW@f#l zGZ--huioNp%>_?n$laX9V z3KCb5T`mRpo)|lF@48RXqpk^Ro+WIwpuSUd@Tv}Qg2zJNRHU88Y~v62eL|s7A?v;Q zKc=3Z_5NvL_~Fk4SOqqs0=)0tYnjVq>*JyTrRt3Gg$C8%5-nv^4FX#W7KzfKyw&R% z0LQftTnKw)dp2?}y@{#-#3HPk$E04j^d32=s?6*(M^13`@g%{4qk_rrXkvrr$6LcD z-*o58CI~3~tbCN6=z(x9y8~FvTX&)7Wj*?tDkeys?;CeoRM(yt8txW7818NT?HTyb zHp!qP;eWJ18UPw2iO4r1Zvdkb6-^Kp3EUjG5ymxf3+{W<0u&`jkV3SoLe>KuD!-(V z1kXr5|u$)n;B(*C8J0I1kJ-|Cso`;9n>mF03l*&`5A(v z&}AV4BmC{}6c===|JogyECI|$2XbfWa^{#lO3CY@nHUN9YpERH>pdQ7cS)82$`ZJn zNW?gY1yp?#Ylhd;BaQRHswCnog3wT%gHk6CV*}yt;d@Wlz2D;6Av5+!6MQP273`Vxm@yN66XnD# z5VKII^ed15ZFkL&?@v%~mY4Q=*>C~uG34*O>NPZ4_C(P(iC9c(VXBhM2zfe^b7fLu z2s@<__-s;QDn@UgkVw5B4(1c#dt>)5(<&-2C8q;tjx9ah-4B-6U9E1LY!-dCLIt-b zDwm@o!TFiW)x78Po}YB=*zJE-0l2)SNVlhw+7_C9y$|-EcZ8}!?qSw^fhnSTU8tV> zgcp6xuQuS5wPR*e*ZpjIoxnlM0qkm!%dOc#b-H-|=}Z zjSYcc2{-4vjjbagf=`f9@tnV;Pt$08B20MAj<_=V8T$*LQU~JKW3+2V{0O(ElByP3 zJTtaVE}A>hoqRI~Zoh6_Vk~Q3UuazL!k$CxPSlQlvf___>qpAK-P>#OIzo)ssrbr+ zVCNqY4>cX=w!SilJS@;kB~d&Ftv=5OUv{7uR7s@RX`Bi5e|Zu;LB{2K{*vUU}x8(Zi(({niRVVdBY9KhKl1WhgBZ z{kc2J6>d3$0<9fHNZ^LJQN0FgIy>-lr`X$oZIYwjKOoZv%ofpt%aN5kEv2pp0Yd6F zzS;CG27S zq48CV)z)^V>>h$kM8XLC)wQzd(7PgSl+^?a{B^jhSWGH9OpHa&r<4W(-$+Gy5-40i z0eSqOt>il4e#QC^F9S`@)VkcW9t4`2GWk$=^_81%+9FW#D1o1R5NP^&qa5!)hQE7T zcApPa$?Qc2E+5YiHTE{}{%aeR<@Nd*zJI$i01sOKW0dhH$YeVp``n*Q84wvjHC>1n z=who4=-e8IWp^L)J&;cxqdPfRJBY;at-($l8rjeL9J4zo%c(9%njVZ}3N+*TJGd20 zUKc=~6Qqt+@n@vdMZs1NhY+RqD`LQSZ8AkkU7?|t7?h~&Kj}Q>~P|AP#HN~EHMRgozMbxywy1myI?ICbE~SyRH;xGO}wU`I+($NYpMmV#|rDeQzU8urx+dfN8TJ9p<8sBn!?JQyaZS%;)JLPV)`*~ObLye+_3i%Gki)d%?l!wb(!%a zg4+6uTwY`r|4j)FLq~PIt!{*?S5;J2KAQikXX;LIq=7HEd<~Q*@w&dfSsw{d2TeK( z+Z@k_2~=8>Sa^@DO%690sTVWLc@FR1KiN#mERza|j+AH`=ykOCB0_xLYSRqx z^&l9O)~h!ZGNFs5L+5{-x%2Vh1PnSJy~M(M{_l`zKSV^J&fXJZd>^s4e0v?hGUE$- zSTcnRE!;=TareTqDwDq1sm9NJ-FJcRd@y3&b_C&coL>X%B$T*9M%fE8-oj9eZDLgE z4H;~s2;-T>mkuysVI+%Wd(uiRanK~rs9y6E!WiYm>qGljS}^6Xg)=lDjo;wHsGa1| zLgUJMgHkjH;Hd}Vf1BZyT3P^d%VOdKo;r1@&i9g2J<{y_i%FZQlx*)7)t z!0E61-KN<11UsQF|J?g2K8o_$kk7U!=zzzi0CV3|gXYRJ2NSCR6|a9>wlD!vu>~iM znmBhJhJ+%WT*iJUJz@LUIpRtIK|+Zzp(mHw4#skHcx3K+YK0yK$Sxi1Gy#R;zw#OhZnRPJLPW=}>u_ZsTIz#oZZ0xs|( zZ*QM><`W3E-0fyg6dhGWI)~608jqs%&5DD4^*D-Coh!}bHRSoR%nAxam^{iK7dZ5F z=&A;=D*79ifZ`f)su%;b>}i_&4Tci|BbvwdpIu!PP@oB1JZ;iswcxC1d?nRgar@rA zAu58+kG?c*wL3oj3l3i@CvG0j=k=?)_+V4B*Bc8#;EzQ_6Td7w@GaR!rK7RlhNZ!V zk@C5e=#QU#0n(1g*ayuuJQLwk6R6a6c`98DD=p(ggSm|XwW+PGJ^uZeindcl6fo3i z1HJissWVcBLvqAf1Wez08FXbT?l_s)4UR2qKXa`5HA2{piQf^;`$o;{I$UjBd|C}U zJ=^H7Aj^aQqY4^c3#7yI!@W`OGnBR6O3%E=YHjap8;SE!NN2!I`T^5Kue^v_$iN)E zYsYPLZ1{g0EyDfbc||! zDR!Mj<)mK$*>_|gs~_0Q#A7kcn}|54&EMblZ3ns9y&)G29)O73$a9!0l_`(_6fx^T z8|u^E;7O-&aGPbS5DtTx5o%W3d_cn3;P%7xxly=!aW`Q?zP5Z=QEUWL~m& zAIl#V9_~)gBdre8d=75~+nestryv4Qe-2@@7uhyCLF2?%AMYm)I}-r=ErCbLoR+&N zfhebnH8C_3nyw!h*EDjDj!bB56iKqo?#@7$u?ac{&giNio`;_F0xS#>wRr9{Yi}tw z&E*^%G$$(?gX-p-1NRN&4z<7d`@0t*ck8zI7wb2|ACQObe6Q~@_0_Ncr6BV#ku_LK zj?}NSzrsjq8w49jKTU5NrG+dnP91?@mQSy(HV{V}t<#!hX6Jz2+t+PEr-k=Hmwov6 z3CfQ~9*H|~t@Yn$AAZinKR*sGXnh{ZPytjt6f^6~_Amb?WjrpuE^a`&Tu5ZWaleqU zNm=hG+0s4*tyXVu$swuX+29%6H>gOU%vLO(<4QdoPf;%zdqWO*q>OW;1>Uu`ne)i? zcq}!Nid%McXuFTj-xXh!4YZ%0^Pex@j^CKf&R!quAL~6Xt@NGXi}X*Kz}=MZkx*L? z=jFS0lHiw>UHsYQnhY33=N>$|jT6#^N}J19 zSUFAN5l4NwRx?o+u33)FLfSfJ3I2){4zBm8`YOxa?}NlJ?65728?#q9YlcIy(a=!+ z387Z^Ix?=0@etx?Cy=fvr=NIQ4QB*2(6<1vJNTAWy@NI(AQHffQ6SpM-|aX%fH)vh zV*%!ZlYe>f!7}uY9%hurdk=P^Y-HRFvInL0&iS*pZ&3MmdUhx_OV(hspWNSHKSvICz^t?Z{aQI9r$G2vGiM!wm9qV z^#i4*Ef&gsa&}(b@D<_@fp7xOT7DcZ)qV?XBmDvEZ0q?x=*rRhB~96~%FPCgk^OTu z5Jna$D@vUuJ==vNhWY!zytarVQ;;w9d)b4N&DgJ;I0&0%_sy_<;Kr(>bc6db~uy=fE{gPpj?ZCEm^@k(dDUUW4fX(4P zGlm+Qx2Chq@V%GZ+Uu3AAXkshrG{kLC~~B6j^1NQIy52OW=k8xH;|h)19vyv51ZKh zcSm1LtjT(FIhiSRxfL0XA2Xu4(bPfflx zA=uaczYmtL%O#WOP~67wgxSW{pl|+cj~@v!f2+SQet-@jWJrLZp5VhvWOg&;vQzj> zwDB3M!!u?fOWs>$ZFO7JfdNIFJv*mm?9v+yYEpW?E>!DJhX@#Y;=+iiD1>D@9JCqK z*caC^hl~kRAv8UICx2$fR>dQQ8S#(S!} zy!4w~sd$IvLb|B|Yev+m{KxNtZ!AY?e!^v^)A>}H6Y*4%{zmQZgkMbO<~RS$^UIZ$ z8B|hjvf9nT)Gmtx{_cb%@hh3C(hhJm9~H>KSkud!S;4*{xMc^GaV3~-r1DzF;$;8k zJ#H=ymq(EsT06WhqRy{n`4uAd6HZhHpVxXg(6qqD2{p;y@c8Y~Eygvb=CvO(IQ)K_ zKkZ2h@Vo!H#q6-~lyK=ZV;XD+0Ubfu5CO=>P=7_>`1#8w>)$(sHw0(8Jg;{!7xoLw z;**$w>aJmhkzskoMP9Rm%-sIa0wI^0#h+;WX0%VqGeL;jw*3QIFv$7 z7qR8eJE>2_Vxlspr(-1aTy+_gRMb<|8}icU!eS3LYUFz{2kDz?jgH^Y8`#`gu^dOe zRbJhMN#}R%0==gJ&OW1$yvH&7jS#X|ND8p033g`wW;#?GkpFx5$)S0*ed(Cw7z5go zOONv2i!522BQgWM(O^=R2nU9cM{LT)ByZ=tY-f!fp8Yo`Da~`nxxU~uatihOK7}bP)l*d>tKr28b=%9^f5#%mbo9*2b)is z&%EPrkJng_F^MFX_f>QG(?@UCae%9G%@(npZ&fs##v0ch4-lFEw52$OoMwdj)v*cz5)!?-=do`3fz_d7vVk8(YcpM{7aEy@&yK##; zPp6FZ0F(O%l^^a*f^z?-pJj<{z>@>fsOSsg+94JMw#?66w0b=&0=C?$c{*llf6#Qv zv&i>yVl56gnQxs~I3UPf6YHeaTy#%|z>02Fz?Jq|#=pKP_bS3~^a`o{m+cfVvJ$N^ zXiFc%p6*|92g zbsMKuyn`kokmp4(*|Ok|q;h|Hz_&svQ4AoSw%L$m9y{Z1$dVL}fhZ;85}`~H`;cQ35%q~24|2rbE(gwf zKAg3D`?iQm#ECHQk`!DO`O_;7s@o(X5IN8&m$qzd2x#sPAAlKsI~A^#?5cLW#s|Od zf=P#}Lxk`{^!wE^qQzXGniZbiz{5(Y3!01tyyh=|?0G`euTrsu+>|<>E=+#PxY$cr z!lb$ZSGK1*xZPhXZ>xu{xAMKRkNR z97T$8Oe`-cj{ z?^%4=oP~4?f>9SAx?W(f2*|%|oxEG<9n{aFKz2uQ8E&uA6)N6<*oA?O9Ijj_a0A+@ zD@Yg|@Q9L1K_+5^aA*rY*E#YrB~^o>q-tLep$ZF$j%bX}3+Quo8xU<=$una>WQ%Q#Vhv|7M>S-?DLb z?|-+11~+&5p3cpG8?O4Wg}=J^=*nJr5t)Ky3j(rICyaMFHJTt5J>@EgKDR=w*veaH z6rW^UD@+D-hQ+J23-^F-V2%2j!HE*RnXO6IjHu7Y$r#9+(_?Vue)-1*slE~0M> z%K!DBpMZlmHqkNXg!dwUXSp@DkiK|3tiL5rue8y02#cb}=Fq6mj|C?1$$*V8QrJELT|Nwbo)cD?wkYw9yvmA%#t)409W0Zq>Ku)=5ZHz8ufK3H3@0b ztx(w!+sVd1?rGBa0ts`okvH8F!2czePVApn*%PKm}1fdH>mPCOOPGuJqxel;M8 zFK#Q~0-9|;FU}sYns!nrA8vH_c?A}qww|M>rFLmqa4EmV zygM!SBhAuK@@@o8FXZ^ww=O0-(Cyo!Vtp46DRfpQ&o%AVaU=B8?rir707c9r+3POX zb*FBQzlNd^1;n9V41lj-B?Y@Hh9UsKyhlU1hw8%CQ@0Vy;1pvv$cd zuHUs%?6vgv^-$#P&)ejuk3$QB=e>K1&AzKh(Pm$|hnEnym&DobW55<9it#hm5Qp=X~4y)M4QVVl?F7FMxSD2`*k_tzX8OMocv?G0@Z=4T&F z<)7$Lszo|Ze8cRhZg*pQBtf0nW{qX#XFV{A@9Gf`3qY!--;PT14rr|TSUTL~cUlb( zjLB;A=`^?LhuuzJ1b1vFmB(E!FEnQ=vF+fmcnd&tP&Id?WbIy)G+yq6_#227Qc5W5 z*g28_+R-VK&*3lyO|T(UD0Hm9;v6-YeS4Ua?o=rxu(r4hj?>Jc&r3BWVHxh_X}A=k zGsZfWx=uz()72<%RwJ-bxfBH zISXtQHD#$Q4>veMb{?*{hZ-pXEzyLc`Uz;M-6`m6n_V_e`zz-7cmSm?(Q~LvU?Y)fH-*o{$>B9 z-*S>n>)P<^mr(Df0T~TP=!3v&EsyLi0I}@?=eV(Q89B2vlhSIl(ykGS9!B1Z=#h#u zavjgTtQ@vW6WuQ?Ok|Fq8l#0K)h0E;*sl278Y%l86nL2If1uzDHB_d6A(Zn{}fl02=|mM;nUQ z>G_K3bW>+5dt0>~C25%zvrZuoQ?7e45Y@+NAW#6hHi~e4nr$NQm>BlC z5z)dGx7+Ij9_6EL)k5#WxYgxitQA`T@FhB$$o1ph=OG&Qp4Y{wNuC~7i9wuQz1(ld|l`;>>tNf@TRdSUOq+b%%g%NasHMPFBE?$Mwc;)*zj z)#M!l6*cyCOxtngytV#2#yL}aIL_>8d{J!i5)^>W{rFMgusc!lw)YLaWs*?tR!F4N zWp^kVIc0+%;E2_Ha_;atv)Z?m^KnRec zun9Glgbfu_Yt3^z&kOiFBoHPjBA#n(vetU)nCwTLedtmBjr*I=Ea6cU|7ho9#$(5! z@FDe~*JdJ!Q(;wP7j27L*ynmbda)|&2G9cO=4t=XbURuF!xVYB1@0UF3bI-7R;!`n zNo{)>b*Csm7KKg0H)8Gy%|R^`1BWfcay6h#?f|7-pfjyS7JrudZV>*KpwUqezRxRH zr|6%e4b6?ZjWmi&w-%L^nmJv`Hwubcpn>o+8W&&>hbUfeVHV|Ig_CaFdG78Md~94GJ$$ad1ikNvl64sif+r2YP906xH-mU0>Q2{htObql zO%Idf>0nSggtJ%}pud~83HxSo(LC!4X!nsIKgMI#_dIzp$^ozk&&*gyuL%pXM~JEA zP%Frap>R9ih?X>~iRJ7k^U0T!nVWrM`NVe<;K-91o;?@6R>aF9Ve7>;Z*`T`{RwblE z5F{5+N(7{vMMSzJ1%zF~AOu80Kv|KLZX_2_KvB8`grx+eC8YPo@ALdV@ALo6o-@~+ zbDis+``$CdrvqD%&12#H`bNXwG1u>Z9R1aIS?sGJVh+*pjzO=Xs;hUIqDYLwt@-X~ zvT9Hs94#$W8zUiUy*ZbMM$O;g!su@u<*>*kX{vQfyw}90Y!#~BzaPN9Z7e8-Z%E>f zM_GEhW&iPY2 z2N_vaMRhUzD_ z{UZ0C7wA>c`KPcQ+g&B9!+EcW_Hv^g*gaz}>*PzttJ{7IMPT$b)?1VI|=WP z0`;?1sL|g|m&D6IxQ2xgk`w-Ba^YnA8-cje)P>8z|8uz;BE35+w+~6TSyn>t9LgTN zcfWmSG(Jaq@(U;We(X=865DddG}|v~f$dkw?=Z%PiXHN%hTb)g4CpHhuTt7c$#O=s zZ@bkNONlBz+}gid=%Oyeb|;JM_saW@xvR+70g4^fmZydVw^J^jlOMys1Xq5_&=k3= z(Nob9Ffd9b`L4!tlke2{SP@)2vvBk1Zd3Z$L0Uz)EhjE} zSLF=C+Dll^2&arHe3f0;A|}dpl_8c|GF9pZbESx(NKrm7UCHmNVNqH?gEfo+SQOEH z^Y-Q>yUCPrejzj!run^bbbck%YfhpSUH9sHBO8|CZB>IX<<#?$_?ZRQ+Es!uFi353t&Yy8ka`!`V)j zJ0V%$2zw+59%!7??$LBM^p`kvnzm34_eqS+unc^yHR7kQ-g7i@{tCUTSs0hpQ{YVO z;qlJ>T_oL&Ked$sav|zASqczs*Ac-*)=z3TO0Py%PJHIls;~3tXC0yReeon>u?rrU zAV+6hq%$mCL(F!z7SEdHd$qYV=-lhK`z}lSAMIEYr;IBO6_}liNR3 zXsGe`&k4W5gHY1#)vU#?5gsDjC-E=ZnT?}p_@gT?i5GvQ{5T?Q;UgM-+xVU4Lziz< z?iCKD&nSYQmYB;py&NEuoX9P>y2oo(UCE+dFgr{XCBnA;z*zEUZ4!MirL_96=M(%L zVH=t`s!FbMHLK(VoojJS{RAd%ry=k94<9<^(3y6>!QmSE|HbUaiPP*q%x1a40b#*y z;jfTNMi-3o=-F?LoQIm`RrX>WI(#B#JHj|ht|ZaH>zry=pUOWdG(aU%A{<>Q8~$Kl zR2ny~sChG5*x!8u7ib@SaDCAL=@l?b_r*NLTd2VaK`E&2p|$?ZSA#Y(n8{-6nj%S2 zi9>cO7xcTSB0+Xn31_1>db+)NXINnC0=4r07qv;1HEKNOh%glbG|yR`!~4d8#Vd<6 zS@}=*9_`x36hbO3CUkU--X(R=Uz$iXWQ3FH^-7S4NkmV+`b}%p^U{wb_}RvXg7#M0 zj6yv|y<`-l`7q*=;^c!|>7X?@@<8})9U+X49d!t3P$3l~~AvA|2RHvAvGoWDHiKc+@&B6jr~_qs?5 zn&EgR+YrYIiB$s$sfHmM%(&})MCDe{1AF2Knc}c2lP9}I!^aCFK{l;&8hw(_&cpv#5 zgOh#i?aY#kg!m)j%kfJFx7FS44)N@USciKpyr!uFnM^^yk39+hp}4f3efAfmcfk@q ze~v9^CXrB<&)}-&N+HBd%~-VHxGI*C^@>(?YjFypJK8TLk>Pm-K>_OHpF zB>k!}%ASu|Cb-rX7k_Uf>42o`aRU9pu@0m9L`&s=)$bpZ%p0LKl@zaW;Rb!?+mc-R zLI80^a4k*T_`}58&q#&oX|-)=m4?V*I`Ppm?)HlD1vxqXCL;-^3nU}DDK&cf!8N69 zI=`b-7(?!ss@IEl%%RzfG7m_)tdkFheRBMGVJ6q0rT5~SO+_pfY<5oTi`^kYcD^Pm zN-IEl(!8KR?u{nN_UGF7JA>{4#ea6&T;(|b*y7d<_$cW|dEh-5E%KL$AhP77cj`m} z#l)QL1$Btx5g+>dkJuZIQsq)Q21j5?wTADjv|mv*CPf*1`>T0XwZZuvb4qK@o>S3X zDzC4impL%kZWv!KTXt0a@+BoW{({1$T8~M>T0Hj8>SwuU8~v+&z*-ymp>%=oDtO>f z2OQ231DB}L`UQ^}Dpa^wZ$>(r=irj=t#GDmUMhr3_0wfs1H!RF7ICVnM9!@3UP5`- zgjAd6gdSsWGc~4uapfB*peS*3%S8~8pcpom_5_YrYZq=d6z~grb;P1P$nYMPA5) zR>QZwXuTq2dOf#Er2h)7P?aIuFNaGqPdb&MCWZ=C6yJ52@4X}z?O|P(=Nvvm&}SB6 zBGL*IXp4xOzBnXh${67NB9sCSl!t<;pzLm_$nsYfrlgO+CUlysqGW z>8QR`7*%;UvEmN(Mvn)qh=qD|s3+gWdG=0?CWKyLh;2%hab7S$(Y-&({t3P-`jaBj z_Yi3x9xBmWA07#OrIjVgJiDNy6dUf}$FmY9^5~PlZX^<|=Yzc*YkPb7yQ`op@PTG^ z$T_w1%3q@+sR65(?Kapbg!vP_Pxp$yS?=pn3BE^`BBRv%aEZF=^HR(1R1pSoo)4Mj zlS5ALWLoaQpVnl3;OnPzXb-4zazw|gem=Mt_#r#)%Qc<&tIRJY={Y`&qvE4J2*g{2 z?VW1sOA*X=9S}TQokyqRCvxbMT3Exu;Bhug>HDgpJX*XE#O5qWNgt+Wci9 zi$hyR-e)p5wIj$48*aQ5$ERR49E4nLN5}^tBJMqcRo?OBFOkggHAcd}WEWUQ$TvQC zhr;NR`?ocW$hrazr)KT60r zYLoXX|E$+53#DndBk>khKnKc>t*+i#9)uk7fz%msCLYLP0_G=?b)OnnCCA&hpN`qJ z`{~`=Z%5e5eTaNx*!#)D6JvDkzVTS9v9AgJfGC^_<5ei%E{4*s56<{H`jykN1>3O7 zpfFk5F00-6)I_cP2068=kdCoLUU&m=}mWHiw@cNM#&Ex7@PQ41^Z5JO= z{N4O%wNH)O0B?W$X>j7kq-ky2L+$^EhRA$DM2_WuQqfzs*8OjvU6p6 zN?i2r`Z{rJP4B8&XRuak%@f}_(vkMzl8LBP#ts`?$sAn~`X*#FdEyN}{P9oBt7LYb zm-a&~MRN+U#78oWiHRdD$$RBN=jF8LPuFXnoZqRi+sfFKrN+0!YvvZ4*@ff~cxvjx z&$)0ZvTtp=Ak#PG*>?pX!V4XpC0XtIU4f?2mkOJwZkJtAcIudA3WGy ziMp(f-sL{8)w%Z~c>B+o^OpiHxS~UmU@J~7OY>Q&%R$UNc8aF!CK9kSm&`#239h2$ zH=)F(@zT$w-(1v&au9Ydp18WbX*TUj;(gYl8OE?e{(Sjw&rqd_eW$m^{B<6ESKg_Q;j^USx3FO2>IEWgf2db){=CJ?<+DT$bPY*Nu3( zq8|^=BfGN+j^PhKDmamN_jI18te!WGTW$br{B5PS{&U!q+OzOUl>}}sWmOndG-?ckB?lVe)N_oom-Z=N?PT(R;V(!svb zE!23D8b$mTD^n@ifx9&maiE^;a@n1#<-qc9UfGX0!PCLlEf4RrO7RFjfgXK&o0Q*p z{pVrEn+NA(r+;??NhCtMr?^+&QsX^0z|6_$XAg1De(EXOY=Uay*+yg5dV_sDe++OG%tgnr=*_YE~R6ks-YaX-Y3jF5}s6 zXZjg?_?tHq>^Fr;W$ecr2PARx$XihYEpWUa&qKF?K#BMpAy1^3h!np)x@fV+t;Th2 zKXoR8DJfsiQ6XRV-P@Vf-GaTSU4b>$x~C04LTONaR$_m3?RMyqB-^W<=U#d3@yqT- z%V|XCN0BdU&jc#MFY;hi*sQEB^L*LLYF`$!b^410bT-3qe zCsq^fR%K*ZXMB`jHCGwHiK2aQlYIK7z7Om&X$bW_5>;i05+<3{BSGlLPrJHx9*rGn zKG&y8G<%J<|AguAD{`_$p&z_%z6E?ohgYsi+g%hH)o{5*pT1?F^3oe5Oh6jWb?>JJ zhmpmGQ~0=@BzO@@mG?+4dLG~uxt3T~!zUf1Y?e;*z3?$T> z@A;iI`u?qXsNGb!`-#&RNX_vb?R@10b=;4^!EzI2So+pcG`{y<_Ziw~9xM0ybr2~X zc`E+Siii)|45=;gg4|5J;vrrpP&ntV!;eDv>bAlSGUA`-U3CuVq=d!VOQjZF1lv$tF=7;FLMul+?E1*&1`7o(Frr*=HO4B=yKlM z*>F#v@dKXmbBl*S4p&D5w);2Z62i*NU#PdHYp~Cd!m$1o)i4Jvt20CLojLKiJoob` z>BHJeZ?3{thQcL%x<|b(x7(+qV!iE03X5QcAwJ+TBMI$rS164x#asSBxjc0WYJ)or zo>2h`ss2oKA6VpMN_i#a3kmHrKT723;CETGk=}U}?WH$QRp)7>IK(}3qT^Q7Ry>%M z+mXmkoydk=u29I&CBabM{=nnI1OlPuC&M4Wcbn*IID0uQVpup9(_hGY>&DGP5>qn)7fyb!(_ z?8E-tG0f6sfuOj{iP~-$N=p}2%LK^=sAU$T>lDw~`fW4Z1ksPvdRc1_qSXpVy*9 z9#o9tT?(f>UU5FUonFmSNG|gMc`G?1*^}?eAe?CK_Cg(A2gcZu^@KZ^(VWUJPLIVu zcVHBADdUZEyqT=Dym{MzGluVpLnJQ{;J>t2hDq;WxqUd;t>W%>%95s2JMW&L`IhvL z+MmsCYVa|b=-r;|lr{AMVd7j_9@IgT;nsWIm}xU>`81eT*0;D2Qch?Nabyt_^{=`# zbGlkgWWbw0FNYF8OLX3He$NfzY6)cX|L(6fKppq(V9q`zPLJT)$Mk^RYmrY%)+5lF z_-p5)zuXCZNbJa8;qHda+~M~J_Erl#$A?Z=`cl(lb9;YBTjPp(Av|aJ2Q9xjPQ{l{ zg#L}KJlH@zbY}^5TLs%eVdQ%Q?N;IJq(`pj>8RGnpgBr@jPj%ZV|ia~mDd ziRWX|{Dgh+eg#e6?vL^^#+qjxDmKY{HUz$W#m~~MOy+jTHx*% zm>gM;q*=gkwdK#hC&*vNJg_qSVRYq?`=ua>v@`FJC~|xPIzB)mhGMY#f_IAWlrw~n zFr~8{d|DLx3U%}!CG&$QzRACqY&odsskedQEGR-Z%X4HI-JQzXgJoz0e?l9VHl_(& zTJioYnh^eAeJ$_rPSCDjt!2w0E0lAQkn;GVl1-9|(0H$R8~Zph74!&eO@B~cdS691t&Apx(le)2qmTr^Rw|zk(u_tK$R93Wb(jb|w98h}; zOW*lXlDQ8}4xXocPpv3`(`ro0;V>axY|$`q4*4{k+O0DDEqrs!evytcbF>|@{%k!D zwtY=CA+=jaH{?+UFZRZFQXpEoI|nCD-|I+sU6{#^<5f=QWRMxowQvA1b?3Xs?^8|GV2@WM#O+F}|FSHUhbx5HIQ&Az(xS?|?ga~Vt zca~faK{#X;^gzX!yB8k+Op@OzHAy3?3R^e`k=+*d9@Bk<)F6VD!bRUFx+X@_9yH#W zL>URlJM>(Qmchggns8b}R+?hp<>|a$FzmWC{o(~Iw6V*|`(e`uI=>0>0a-=i;aShD8(^FzW(B9rDm*$ z)_Ch_#6}Z^zhkd-n9TXy>+gQTz2Z)Z8f&wd>`Wt=AT9zFb$ zvDTnr`jit#-Qy{b<_TAlx`uxL`KQA!-3pI36k5#tiCEy%OMMcS=WZCQiag&i+`tGT zi0epPscUkv;U``KXLXhJCg^J(yt}p33S7wfO}aVat5V=RUv-(j`tc~2{c7fNbamTa zsw%D+{L$CRa@>$>_T#aE5=F(*4g>Vt@*?C0Px*NF+MNKX@{hIh@frUUg;mh^=3FkW z+KlJzX~30%!NH$R?r^D#r#$DdpYB9fFGs7;Tr=OMO!7CUr$_kHiFvyy6E(EIOS7>U zJfv#QeOoGT@*NyNkY`^4iX-XYR}KsZe?&b1tbV+nfdcVlNRGIMRzIx5_PxN*A ztDHPMXAfzJ&dilULuJduM?Qo3ud;C;&!6x0w?Z21EPMNLKLzrBuZkfFrQVeL8__9J zu#k#@yYWQ1Rd>>1UKWxMW6JRy`&sH1k%5~+VhtLy99?1#c{^QF7Ok3rXfH(a7HMzCuU5L$@mC+6nty!!6w|)Km@G&aferAFkY(XDaF>54_{0qgM z>HdYfRL%vrYw%ruRe8hfJ$EH8dXx%REuF*8HC=1%?ddOx?yS|g?)!+W4A$n>^htSK zdwI8SxGbtEkt$u6`K#78`%@V{$XW~L}V)}v; zf_v|J;t>4m>*6b}w4bIo{OO}OKDolh>RV&>-S z0O{IM*Q?lyqOC!an)alF(IVyEccrFzqq>>jQ%w!0MqHab+}71@{2nq^8ND}Y_%^`e zL5z;5@NvHM(rt!wt4TwIt5Hmki)*a=s#Y@ZD2)Me@z=q(H`}he$PDGC@E;d_9Zt}d zQ+Cmjv3tWinVFc$E1!CW;q&6x9&W$wS_xW2?Cs9m#VT1e_$y2jIboWwyjXqDl2^0$ znbCp79Rhe^apJZ8y%!%udP~>_9)EPIpL?~of80XA1h+~-dwp^3sy6mgl*BLrlH|FM z(AaR)PP>eKvQ>GYd(SO51+~9T*T5L`S>Y_*5=WOc;pVZ^EJ^^8iCol;qIsiR zz|*|(lC|l}<`SkT^_IRhTKU(<1Xc()Wx({trvKm8CNXp^xcoct=Ft<$aTUxtg(Uff z)on5y(ZJRh!0E`gJDg6jr>DPKHoBJfGQdOL+|JC;xxAh##m5=c&hVjmzlW#?L$yh* zh`8y=OXN$;j~%i#u3qU#)xLy^VP@1g?4^Aptq>c@)RK%|hTIQWSbD+zY3S!Q*nn^r znr>eq=f6Nf5jdoby z6HY1EO%f+6T~gBHY5q`mLH3tVt$FQhJ^$f0#ON=zOf;yG2KA3w@l zdpW>Y6Wf`x!~A6PiT8Q}^ybLcvp-Z0Wh%A=qSvIxSr{x0R%PTS@+WoZ&G>a!W`lrF z*B~svDb|MZ;b4utBHI`XB|MgX$bojJSE4{lg}+swpWvwjWuj>GNg~go5);LXbNhox z12-Tdcs_dRl8wCFKrBr58aEN@4Tx`bcNYo`8Wq-n{10xPQbNu*xJVz)(wntnc8lui zH05DCG1TP7-#xYI=n$*g)uCA@6=&hM_5eK&MLePcWVj_eE!u(x@jq^te7+Kw2(dp5 zk51yTzp79%pLk8>TX+XO{Q=7v`g1#GCblkHanq&`uZ)x6g;N zIAPiMAbY{;lsGzukqya|*Oa)@XpS!*?FcUC44vGN!>xS?6ibAJ57-GVt2p>`cZ?HC zIqxYmqekDWY@enK%)V13cDMuXeNmqyV&$|>ra@G*z$S8wudt!d&OBy;@sEJyCU%}cE{y5^3u2xE zLe4a$A3+SbjcVp~;&pNLoyylB*Fv<2{uXX+v?f8c@*RMdKrm2#$bx!yLe8`hHV6Ta zcJ1hJXUHq4SU9~Hfn00i;w}6Y3BVn(kn--lZI%cSojitZqq0e$Qg9T_z4hjx%Cj5^ zAe5^)TH8DU^|iUu`>$G%?e{l88jcRNF`b4uAVDfoa~JID3^Sw~Qec@mA+#HGVJuiE zR2k_GoP(W@xRJTc>1f)xv(4kJ_s)cnz3~oqfWV#mzyLk$C)|<#`3Z!RqHhgAXx}p6ld@M70Hu=+VNPXUI&^cn6r2)zrpX$bL<27# zQ{q38PGv_0J^;s3z)nY*8pfnp^AvOin0|1@LJQ-`6W|ZeE#8Q|8rG+ zMemixfoPP)$Mn3`i{!=6Y-L@q^~lMe#7Vc<$-7+L!|nYFyP-0xRA1Rf@CzTeqww~4 zfa~zwURmIXs#D26a}+?gb-a_uM^dkX!%FzLu_xB_vCAAcvJfV57o-nC;F0JdUZG@G zGZ0Uvjd;^RfsySRCOkmW$&rJ6H;~p@6)w=JjyA&3BM~G9&69W;^g#tJHlt-GtUP}z zLLBl^3vfLRMKdquYEhub6*Fj|_w~A$A@F4Io)opWUBIwyC4kZ(>JjL2KHeqM>>1_} zXd{;AEgf4iISafsg~eL^_n;4Jht*`dsrn)^`T{rf}Ud za?)|glUTGocR2wdK$ZkOSqPh*OwX4HAVP&HHzkNAT13M`3Hh+ zEGy0^3)B#`jc#M9$sl3V`flH%dCpI}e~81Fr(XMK-V5KPAQ!|pbw+k}Ui32HL&{^| zD5aGkZa+Ye6_Zh`B1yc#G5`s^m>27nesT?-=w^3|&0vl%kNz1vI9r)3YzSUKsU?sI zvZ$#GF8Y&i8s7>-igm-W%LKywW?;s#ks<2zm6c%wX+u0i#L*NGocfpX$+j%EE%fcOwQA);Ir+9UI-A`f4S)cG(D!xy!&Uadv>H6`Tx zZA^v@oX0RADc}Qhzx?*LS+0LYyNy2wHLwcM{F)My4jzt=6N$rL1__$AZvH)qJZn%x zLk+SG>RnFk56sd*oi^Fc8(=&IU6F#I!O96=tYhqurJ3_imEyP}VCNf0PdGx$cJg|UqY{cY z2wh8Mr zek?u7eVPCt5Z$Fx9zQ%TDzg|la7uh?pnFnB;5iuXRRu{(h(@ds zs(3*=gcUYW>N49AZ1o2A>^Z1d^-&jW-!Rif9$ec92%)`1BGK61TrgiXqcv)xXH56l8@c>fRp{ZJAuTxzF0w#A-x680<- z=w&^6*kq|j4HClVt+X4=)$}``QrJ-#P`9<$KAt`Qz<~T<@>wmr z``wiWwFCE#Py~BY9vOR96o$4_Wi1v&ePW?Eww*(rR7MZNf7tmzk)QSor=lsnIii7C zlJesQv*<#{+ZTQc!>_XCJ)yl>tA+vYAGMp9MBW081%;E>bt)d=d1PqRjTepBQYaZWXQ(-?az8CPNhTwmU@NsKc`GDDL|@v3W;n`A**NqPu~9QQuVJIKlV zWxjz?g-z$xOC;D7v}6#drwRhO5Ihs6MqO)1s_x1}jb)<%zEV^EIUF_Tt*D*i;%N}+ z(Ai)xYKTu)1MAj9(hw_J5(L?VGMV)fEiwdjbF9MYan~QH+yhoSLI9KO;fXLREe1Yx z$h@l0Q&3?&=w!ezMuUqV7Co%&);}ootoON0-kW+PST$mD=_(6jHyw4Z=xWraGgM6| zBc(K_MB1$`Cb0pj`jzO9`nG8^*?2Sga+aJYXQtz{yrD;5TCUB;=Ojg^z)ep1}<)y;@@Ci3t~Mac_N2k zAs=ZlM2;$`1c9PGs-K{!@om_PWx$>62-{L0ug@JMfqA|s5JQJ3X0;B@UJD7l2-51X z$(nR;cY?-?D(e~%)JJ3`nk1-Q5>1WU;D%7@_okZ;qorBoQVf?j&_mWxNR~GxUXB^L zl3=H^XzAJ#v3sC|yKhD&r(`fOP}E`DW>Rtbk#Vq4*{7c zF@_b;gX!B+@CWudnCgo;sQYb9C6_sHKGkuJ*it@POh%<$Xw9EnYbBczQ)~6)sk6Fa z<7D_|9OJj_li!d}J5t25pe@duw*k(cSl+3M_u)dGFoQhE8Q#>haP@K?amjW|zY0Nd z@*^m~@*0@Dt4lJ9ZV4+!9Z@X>W&!dns)D}#oGvI1gG7Rw_fTbMH5fz>qeZO%cWV!n z^wf%-_@+Jby=uGlQ;oMp?3lK%G4$ME9TD?HQOSnxRUh(+6 zdN%`R?kKqjoc;r&*ZtgaGLN zpK0+nad<_@`6R3dOG~Sak2iz^Wy8X&^9WQi96vX;`{y;f{uPALaLDk0rZxQJz~eO# z@oaeWALNUFBSFk^c|8~-I|dx0JLNoAj5PW}J&9eXpxcV4C`#1)EZO?UiAihzGyF!T zte3I~9r`m>{je94NZa#MWm@FU={`w?rC4Goe5@oLFeB*v`d z4RK;YGUiRp09ygP`4Jnaj%-=aW#SbNx0~z-bOEa%I-_T_v+zN@E2G5=WBY4-$c?8z(vYLNqT4 zuss%vQ44@rcFcZ+00fj&f{Ik2GzzV@8k$@uNcE zNIE2x2y&$Y)OnbZH$}*hKonpXY)xC9EE8Ij3f}Qf0wmysIm;5`m5iZJ+Hb!bgi1KW zR;apxJglArF7c2Z$VRFvNbEzMiwd=uh7!7T!G0>dtt0)CJ2!TdWZc+x=2%cWbv;@9LhO@U^ zr;-(?>PL@x(MN@<>=G90tcdSsF#597XCx6d(QPhQaNH1_mP8R#JpA1YoDDO+?KY-g zV|h9Db45~^=KH&=G1aF6J%LTCz#BR~c3K}(4Hp5WE~14wuMuV!b1X_)R0=;7*{zZVCq&bfBWC8tc?e|W^(gyEoD!rvYA z)4(hGDj3a&JW;{D7L2#tAvG+p?dA;yFXEU@!#n;so&5Y)#Gx#Z>3%X)&GiAV{fO#Q z&E73~$g~18R#U%_5;6GjeV(B-i?ymaE|%c}yyxKIZd(QDs$fAnaL|TEJr>;dTbu0Y z*Em*^_OUp3SPFa&@?Y#jaCRz)858Kj_{-M$O8mxLxgs3d;{+woV;Zw2txOuKqL+|$ zUqrhmCvF8qf&4l;101;$+CL{A!Gm-mlSE5!`ch(B3{f~`2)te{hzK$F z-h(8Y^k^tI&{w9;WNCy9yOu z=2%B@@UgD*GxYkH?9kR6q4Ko*>(&bjytH5>HVLJjng%Hnh1|Rp2&-d-i!k7L8$PRq z!~Nlt*I_@u(NW_C9mPZlgMUu6z>8hCR6d`ouIDHnjv8G)TI5B=DWbyU9F=; z7kDbsug7^d?B1+6?e5*;gOuDuR*g+wK+??A2d50>M+Z~`8aORnnkjt<82;vmscMYJ zM*kar5kMCd(ZI@U)h!qR6U2gb(ziD7X4c##R^%Wx=kc5WFv6{+Ac}7P zXwu~6Ct6b8Y~y@O2Q$P7WZQiEfD|XpfQ({B)7QM<3Kjbc z?>}Xw1(sOBE2x`lG1074DJs1x9EOe7t(U21LkgoO9W#ntm z`bwrL%xmygXK=e4QtMvi$Yr&rhXTS7GNRmKrr6VSYb-onx+2EaOQcWB@CouKp! z4)?X4R%wX!ulQf>VZimgW)|>n_0}sE18|6`c5CU|Uyx_FH;Lrl5_v-|s##&63(F$| z67SzQqUoP)f`#Sex6j5Rmt>P?{h@LkwhLsZClC}pqJ0S)bgBND>XPH4uflfaBnGAh z6H>i-`x=Hi1G55U{=3C)Z1(?%IUNCmKv2Ub5$mGGb;0M}7jk(bpUB`XDdSJi6LcjP z?%AJ*1G76&%W1FM|5uDQ5*f&2ELlJSq@>!IT^kNw6g5O4nHZ2K79a-FjC+7kbz?31 z+jtWQKZJ;E*600`G4YFmD#R7x(0wtSP)JHijl_{O?V%4_6emp1l9u)XR7d+cQr^d+ z3WRk~IQz8yC-=M%Z7de(dHA^uX}T)E#OG1mc8&s>y6PjP!^#Ns!qw2{zGmJ`S8%zb z2<+#xx{-f%9CI2r0$~&|&AfMf>W^|_ z)~cLIlr^2w23JWrbrlen5zb#O^9Guz*?r>p;_Mh$RC)$%Sydw6#VYFc-+1ZRYdGa& z#aAU|_lCp9W{uJ1f$|$dQ4A;)mS7Q!2G;EscVPzUvoQ-+QK{u3ZGx}SnF8Ln`H)i( z0=suxVpD39&jV8~+B?LKbgTu}=>ePd%|;>t{Kt+{Q_k7THK8U)@!CW)ikJmM=n4#? z_|b(w5v5z@#ziDi>_&ReDl(VVfb=lvvm)9d`lwW{^_KHd%%4mnii&;s*FWG?`2qB! zSWA2q<16x#%m~wbNOQeB?2`8I<;TV8WQ7uKCf)UvE8pL+K zkfw8<#*_&>GPBT(UaBi^(Il{H4BUIm;WFY7z;EP{vZS7!M;l?fH6nhTs(AMt)b64e zsS1A0UY6*3Pc2sG4c=N*H`azPJk^X}UHv&v(Pei}BrkPGDv zL-$fILYm1T>F@00zO4pv6C@!fh__<=y(3yQEXh9U++qT;PL|6Hd|3tMpB8YeFS;wW z)A7dwl<}XBT^ko4ad!2RadshiLw%rFW7IdeZiHA9JG%Ta@PBdvdqdm1vv!vP%Zx;B z2bSydkhV}NC@ULr*;kb(Pb6iQ)nPj%Zwor_ONwtlGYukj<4$;g!&<8+^^BKEk%~Xp z9PvQXu#@#>e7go>P+b2anb7xv4oN_DDrz(xBqY>-Yz`1@yGrn2KcOy! zuHihF8I%=n)VxSDM1>4^cD;lCzNWYr)Nj4~HLdl_;pmS{UQ`D}cvs=3JH6t`gePRU zwxhYZFMnBSsQEf3a=rIBIU!8PZ`chNM7K8oRngse{d6_fh9GK&p{^^}K#wEDHFBqcUUfRkLjx=kghwO=*=oxMiL3sLF&O(8clT%2%xNSt+ zIE%|s_@y>g`1XWh`%`gJMj`;k*H|$1>8_Kz``dmYsi+lNcrzZvsdw3Yfx@yq>LC~(LI9Z15%Y|cTZ*E5}&UOu;}}x9M4C#%tVKpRQR1Z{zKb^CR6|Mapxm~YU?9b_;#V%gP`Fp zeAx*e7PS4iPw>XAAj)1$lW9FM928HO-+@|wPz{#jyA#%sakHXo7fze=rY(hn(k>S7 zq^I0IcaPqK4vVcw5d6Lcy#A7Iu+_U z{*HzR=pprbvmd?iW^Gz&-5SfiL^`&{LbKq_on{J8coMr`ojNI@))%B-w^0D_Qp`D`WX$xNI}|&7|`qy zTB**~SxXmXrc;>useAbjpGlxwnA?AGqK8W*f4TRxxHyDoplwbJrq#8xoa3-|K~F9K z1x+l!Wk`!?lbH~AbrJi$a5ATUPA}SqAb6Ou^xC6BB z#U+dryR5~9tScp<5pG9rM_zA$WrA5Q#DL#BTL*IU_~ZJXNQ;cQ41C*zU3;&)*|v!lxBug8#@kU;ugNVGtDr<_q7 zbe)EM_NT99nC*EcKY*tLJZ$f^0Bb?Z2Q(0CG@!U>V|)Rd!UUtS&L%01w(K%|6rk9xdrhzyjoIMWuP#svp3YESQ(}R3S1U>GC zB-)RwOHPJp^f_|W8Pqw>lA&KoxsV?e&9LANP}h?#?%06`zP`x>&_y_pL=Txz zK#e?Hcc*+9`cmIQJQM%>p9F2oK8+MWm)8NB_uHU?p0o-xt^o59_#+}8x5A5&3CAhBB4UE&^bajiI=<$2g2nm1s^QI2GPnR&BZk#dE9YE;3z zP)uwim=F4Scy9esl%~C$j(+=~B4u>|k8g6K0+Z7$ceMSeP*m{cL=T#m#BmXFfdb^- zl#y`t6e=qVOw<3?g(E|Bep!9A_B+#b5RScxYwc}doKAWvxoUkN(xjn`R>^Ts7{IZ5 z))5}}SrX<|=u_8>j5^c1k}AI*5KE`rWrJ{XVTiX&N85FgmvXlo68YG1W@e?kM$wo3 zQ~rrnv*cMu0o3Ms!fkF)5`Nmx)R7#4e@4+XbyRYl9oHcd;mkacuj*_4d-a%K{#oGI z-#B*Qu!jGVf8&rfgxrkGp8-FW9g;}a!}&rLJRcpmRc4^&$5(bxn*Ar$ZykNV3>pc; zyIx;I0co~mAE%&}aP&hwJ0CQ@LfBiP-GuZ1W9rQVsfxO|;eF1Xjn_PLO&Ky=5|X%v zWC|fu=n6#?g;3%cLa1aem0OCGsX-KSG)O2yXpoDFB2(t+ez)g&pZER#KWm-6*IIk+ zwfFk1wVkG?`P8G2&P(x0sp(A=KH+?q7t=(cnKrVk>w z^dFG4lMBe)cZ&^R{Z+%an9#a0OXTJ9DOcvSfBB3$vEtA)jza)x$gIw%E%~)UnojG*`y-T(<@H_ECAU*(A?Fg;;&tbzX zb{mmW&pOGCmMVk4b->crA-mt@x?_B)C|1;NkC-fa@TEHM@YJgJhca#{27aGnZ!wUO zf}qD0@1^p*4PKnMi!mcX%KziXu6HBS!&pDW0eC_vIZ3ygR#a&w1@v2BfK9Bn4#?I& zz}#kFxgU&v>hO8Km;AV~z+Js}FY;K4DHWzKUu;A4J`Dd~ZZ@040<=>s@GGfS`EAZnDFAWCrjlsi}-1}7@KWg|2vkYR6?l0K;}Sw)p46^Na~sQDx8*%PSrsatu zuB1$3kS_zLg-c6c=h2r)5EXdbxtK}Dm)q~4mMu3cc%$h?Hor;Z{oBf?)z(4;v07)> zcHAeWro6(uA`6-B;)=qG(@F=W^-T?UYUuvm?K>f#)c12{uK&lU$~N)sL*i&7@JyMG zlz{VaZP$S;kX225MhczRn&kQV zh~Q{BjLO(rYs%od)SG{Eu}^xS1|7#)*5Xc*U;OGl4?47VLq~dE{p|ES>vMQLyG179 zmc6dYPmTdQ(Tv{?JTXb)pagb$D`cuY_4^5vy&YY~hQ@_W8;9~bIZ4?aaPd5_J&33+ zgJ%W5ezPzs{@9Dhwg#M<=JBn}TJ-VH2;^qcXOzyk){f|q&sl}yY|!e{!|x6?l60g; zR3<__GKF3haiplH^`-B=C1J*LiKSrR3wCK&Q8_R<7<%-n@3_ z%9W~ZV|tSmsI{so0%z*vj05K6t+eikBaETAadx{H4gEq=-V4Z3xrJ1qTDSsUj=&ONO*v3%j`RxkcRRXne9A#-S2f2c!AFTq(2?iVWO*&!?>;5ZV3W!hKS=d1y z%?L;nyQ%JCrM3g|t-=OpfHrR0FiG@{QU{T)aV!3GkN_IXV$yY|Wel|VzfKI+pp_mL8onm?O*S7Pu`s6gz@(-iSQzSlWwF$*35#Y_@=iMtd zbD>QYHzdF5+&Wt@qTDIP3(q%8V-J?HCa*-l_RA!aMO%Kg*T>?j6V=h}pWxdc76jT- zEw=;n{czOTkIRoTEh;v-7w;RN@ZS76=OqiCawpQIT9>BBI+Gxy_gvb13>V^KlF2RM zTzr^>zYgQ|4OPe<5J}wH-Hy>S(KC7tVyb>0Jc{F733d5R4`T9(%)Qn4N!R`iT7put z7#HT#o0s~H6SaWb1N!c8SKi^?1MnM1JL%oe7vKV2=h!*RhwyNb_Y_;@DOqy>i-Il_bt8;P!O63 zS_rAeYQ{OOOa(&;2FJ<#M7mdeM|j)qWLmTSh0!1*Va5(A1dnNd8j4Mm4w_Ruv<3G5 z!Z#io;B(+h-P5QQiS}tZ$ZZeBX+^Sz$CxW;70`UnFQfG(6%kr zhf)278^}8gOkOkXgc=q_xv&9U%Q^HZ%A_3BQS>Q_{*Hr343-57moMQ0IL2JoT(vMI z0WuxxR~pTx6$2%~@%R(wbGk*QvUu~qkhZya5{!i*(} ze=4+4IHXGv`Msi!Y$dYg_?tt2_aUqUTyQurYyEyGQ@%Ncch8SI0WJsfxpx`0?u)%W zr}6q8*GAHlwm8SM)s2`s31uiipKb-LbbRQC>Ida?daS9LN{Fs}cowKsyHx%G`D>^b z07O$EQW6-6W0C^KhMm%V*OZiY9W-*%o!@`#OZ!N@YDjnO{)1bMJ)+A5{i;qAjfkhr zFk_AU`5)u$Gx^kr^c^YzrR_oW8ph$5!D?h%)rrvMpFdTh?|oujqK{YO6zG^yoxvJ@ z2PM|*>}>&WEpW8-^%kGALg-i$8})x$biaU8vm@pY+#yR@ONF=0^-7marcyY6GJ z(BU8bS<^<)e4<3VzId{^bQR+_m%eyJLxqWF|9J|xx9!?N8 zJcJkf2D{BP?<}ouGxup8c~^Lv54$T>CRIi+WD_$K>GDqQx)tHL7t@4=D~Q)M1BVzG<03vtiSB$)WPliYrdb0PQb(} z(<%xPNi9rQSrlkWcc)ifBhak9Tad(voPdpz9dx}^Yb|}aMkHA(V_5`pHP&Bb^Ka;!stY^ES$RY`Nxg>7Kh@v*24DTh*jt~ zCnbXR`d$a1Udfw#tLGNSw!7s=8r_*;x!w2bl%F9WvTCPyZ7Y%NoH~ZV z*d8{RiD-{F5lMeR9kkvdVFFIPseKmr(Q@)lt+A3Rqj4+MfZ(7GI}n(o)q>aNGW??j ztl&z&_Aga3;!c-Rs%meFGlDc|I@oH%X@0hgtGvrD`g21e(f>1;*xmEOaSW30&i33cSZ{`o`#E z^#%Vo2-~&4+eGM0jtn`_3J?NfO3{$9_M9P+;`<)0{Oof=bqmwRFBL#&W%4qM!0U=X;{^|tzpphthf#?Fjan+1zUu7Qi!j2@)~ zty!D{4tPWoq47}(RMopjPOr8jnP7bH^=11DYmMtdf3TsF;Xq}g#2G9bHMa#hliU!V zXS!Yfr9wUZhZd))|5*tUaOza{>Bu?`2d|gf;7CT8wf+K5pmd%y-Vev@+v=Me%oD>+C}US$H)44*nJp9*TexJNpZ0V`6%Vni>ZmOifn|pSTAae6 z#}mM|e=sM_2HK;V6i0Ozj&Y%0!h-$a8n=Qxi1!aPS#j_GcmwPCG;3Py0TIj&h>C2l zKRn(N6bj9E;vYK}Ch)(|;vr`|N&<)Re=PwSINuiuGjb_8;hc6K8%fYzI1R=@@UC)9&zdDH)+EI z$ER8p!K-=|3Nmu_gN~^q;@t*nuJ?H3vRnO7s=e`w>_P zm;1@WqAB2;`P7tk?UVk>`7d{}K2++Q(q%l|H}QGUqk@}TzZfDc-}^EcxW_&RJw>l{ zdEq-CYN1)=)vtzq@e3{N9dpE6V#i`1Zeu%hX%Z7}iz{z?XM%gvl|yVRyMHFkK@c+3 z>s?-5Zr@Wkp|!F!wQ=uNf8&>-2l>CBJmP!YvvBZ_VqZ;9;FtLN{7?KlihV+QkJbB# z4n8(~Ab71V+fH-%P3pz#m6}!p6#`8SDN?=)H(q9d>(c0s8K9U}+}TOv->8n?p}K1(&jKd8;ubYdwB04!Y7qGc zMJObwM2xM-j~7(m}7l6yUqJbS|RRF zIA%I%XG)0bsbiVI1Aj|k{jQw7dqR<%ho#VhZIr2mJMf;oc+%P-+N+-2I(Pi!!TED& z!YmOASOQaDp9+7dQCdv-!|KO6+!b~pDclF1WNhLuwB%<+^TU-hZIaBwkIGQPc`}WA z+S@#k(i8dZGVfxh7@o-J>lDOlLXbYDL^ZyCC{#f{NllBt{#}eqJ%RpojKtfARZzxV zoqSJAf!Z;@pS;>sUSntW%Du37z)K_k7O<#eT)Td9dk9b34z%PZn)vTOQ8FqRo#3e8 zlt0(6Vqfy+7sLmAxsVCuj*O{ZKTQKOU6%}h+vHvxO)|b$oAVc{=3;CkMS0p0o?8)b znuoUS<1!3{X==&S0&DVrSWQ?5w`>nO583VNt(;=A=G1PF0jn&Znpg@00`9_LJ?=f?h96u?z=8n!G>it0t45p;g=v*Sn;|dS$5O%6WO`zKiXuIz`nSi;)Sv`Mle?b$3fXfV#ivO$b?o}{wB?&QaQ~!5Q~aOf zUEjtZf5ehwg7Ctv7?LBhgx zrq+Got>npJ1e1FaMYp6n-Pc1 zzWrU~c`Wtm_>pVI(ZJ^%J_1CY@a;E#vPtO4RNmk-NDQ2f&==kbqPnu`@M3N4Lx5;8Nv*RCg#`nsi`6lpk zYB*Ug|CH(-Px(KV{=84NE`+OC1IHDoi6>@oz`zB^N|%sN7bKH`9bst0Z~C56|USJwCD9e@K zzWtRWo}QtkZi=0rTiZCk?eL@XQ>O^;rV8z!SY2IOJvVq|~zdIblP>@nWzuMR(u>O3cV7vaNbe>UTn;fH%vP_Up}3&ivY}Y#BcC zd86xFjb*Uesbo`I^*L2`eUmRX&Gy8y*7|Dmn#+r=wJ8#sv9!1+4|HVgA4m_}5g-Ra zZWA=C+a8HJjPT>!$P?YkS8hH3LT?(htK)U%>`$B zG;WAFhU@D;9$NT&<8THzP(moFQ{1Mu!$#~x?G+np##<_>8dYhCn` z&7;{b(<}ifCVWk$4vdXz)q!h#sF9I($tQ#$8ftQBtAS_u11iN($YUt-n-%MPe$i!C zunQ)E$6WN{3}4_KY;LKQA}$2yWCVV)lVHc6zuV6>;!$pi6#Z9i-#ZCPv{b9^b>>ZQ9$HuoXvH ze393aM|Z(3N0gZ^H=n{qdh&E!`~bSLbToWCb#d=1r{_z(H;3lfM;eg+Yku8Oyk%d` zGSD|DsmmNeBJPT|ZUj_!=BXxDSwW!|U@g=^%b_dK%i0gfW?7VL97yo*k6hiRX{^q= zvIUrDktDYkm+_#M#R!lT!F+npG}hdYx33BoX56PTPdajvd6M$3t!f5-aC)vp_jj;| zQ&YyVlPa=Is_D__E>eN74A7$8X-V{z%G?PLl*;@jfM{UqLv|3Q9o1zPKHoZHT6_`P zb!n8(mgxFe@u{%s(TIGKXhyReN~^@kGl|v-s_~j37r((cv-SG= zVT5ozo4Kn9(akdV`JMI%b++OjOQ^Lg*$MMOb)w`|Uqw-7yG+%u&B$?#r~pkg9B&b* zQpX(Ud~8QE7NHOC+XL&rJc$yOFk@XDX)&wQldd0@h%>NZd~F6O3N=)ft8j+ z>Bpxz9w+w>g6~5g0X9 z8JVP6j-#IiZ$ys`s|G%2Y=kr07zx{9CiK%ma zwL0qxC;1JZAa*GyGg*S0x{mA>!uSZHQkaI=6K5aY6`c7a!+U9RW4ezJnosN{CC0Zr z3$ptQm0nG_QBhvv)ORF!=D!?mV}FpC%~<9kKMk57?*q949e{jK)56!d~VHGaPFCYPnudPW?X_ye6TCBF^4_&{)_Aj%d+!bgs5I zix#s3y8eXd>^o*5Rp=&#pkc}j$ zoYW;IdVW!O<2H$6l*nD@7@l&ZKhmgS{o35bZVT!)4NHRuJT&WGKAPAm;~ne0 z62VSjuDj|TxdMu1`!GizvMyt8=MZE$owgtsVEs2ip@OD8@8a5TU5W281oxrp>`>&r zi#pCI6?AVwe;#d?y5TjnGBX#}Ud0Q2y&mV=hf5t16=Rg*@PPdU^F$-X940zmL8KLl zh%Hh-%*fzQl9NYlHF6aZi~kY-ZLi{lGCJd=A^NUrM}BTctKCPvgx%N|p#5-E&Pmt< zrmNNII9k8N;k@R#;MNB(|5k(ud&fd63lwl>^AQPomcWzC?*Z2#z9H9$e$#PPP>vkC zw)KQP>Jp`r^?~jgs$Nop>A`pWkCbmE;veZ>9q^m;TMyguU?ur&k@tSC^q(X~2C2H} z>$)y4a#myeSfmHS-gdX>Ad))`hyG))SqIO;)nmr4m{b&-dakeF`U@3ufS2UIF9Vp{oW7o~25oP9Jim;ScO02=tqB5+fTBrl{Sid*CLr;<+T zE1v@m0@V$?s0HLPOtW^b#rDtK{z*pHrM&6?=s4S|^dX(ki|b>7K#~n(6;rwjZ~HIyf$S;Adh_u9$lB z2wxI(A@iyYa#>Ca?`Op2mIt!F#7$y|8Xq9#3+53vh0a@;0Y3zF8H4fLmLlU9-o0qo zRA^ddL*Fi(4|?$Yh9W|w_IiX~;VR!IihqnnnKS#4lUqyC+2rs3F9%AK@IHh~+YXhbiK&O~8Ii3w3Ahi$7{} ziE`b_{zMlnGUY}ZbI73KuMaIh8uaqDifRm-{6h1O)L=qYNQNry1_c^MJSE323?5zOG2FIQ?*U13M_$8?BE{^hb2So4; zu!BT2GCUUdA@>;nMxDN@C5Q<;*1Gi=mA{J{V}YevAbL<6ANp#;{tBW*#_Ko+z7<-9 z-qne=?tz4*-yJ2>>I--&FgK$r<8t!P{U_yV7zzyVGy8y28Je_R4iWB!1H{qf;QQ%6 zp~mk3pGephoToQ zyO9DEMDDqXh7uh7&bpQ!$7{xU#7dFqrCu4p;(@RQ>Z7n7=RfR*p?@Pd@E`mm5WIy> z+Xqy!Obbyj1h{-DEUd4eIM-J@c)avU-M^UqkvJB((s$~ycI$`+B)J1%2i} zahi$E=`FE|&m5!#a=;evb@1lPfHw(UsZfUxM~G%w6q%8&S^W2T z(?I>RZ$AT-%kyeK6=WX0(7dIE5wl-M_uH$Teh&-1Lz~lLgw$y|=dBBqoX>j!{*jc> z=GWxNb&gFQcoR1!S$f>DRPLsjhqm#FYg)f{1w7dJz8v#($ON|Z)xl^yW|-3}XSBF? zK{^KnX3)<-S;}qSukE|zL0djHh&o!;=*C9aj#fCbhVu%R9;$eyFHk@oy?$rtfByNYa;p<0`Qw0{` zlpVgIEko=L)h6>H5g6-0IZf!EgYf#_+dXfBYQ18cE?}t!593=_x2t5Zw*= z>SkuZ!l&VYE>0RsxXy`cJpC>iqO$Cv?O@n&I`+_*%=_IU+gtkCv9?X@8j0RpIG`6g zccL>Inprp)V`TsFN~Xb1sZ{$!Gz7ZZ2Z%X5F)91E)uRF6Hcf8-Hmr&y~1ZJPzk}L6ObM%5ZP5-dw8E(ctZh9_vlwti?-O8A? zwTANtZcB06xfQPyF%}Tg&8FmayC`T@vBx{21DWtU@6QIk(r0fA|evxn_%due8#Pk18 zbNm%Fpy#j(cVmh48%KR$Cw(0)|BQXg)q1e*J&5a}Cvv9j>23autDFzU2L9gwHJaq( zY4`OUj$={8#TmLsDwWh6?k^6d7l^!5` zBCF&<-&G!*qbG5f{|z8+i-!e+L35+$B64ohn?p=2`@Z4UWVo1{?iLwaKUy#59lLvF@GY*jF}_TzwXoj)D6j zZNooaxpk27B`qmSQm)XwQI8vsC^N^=WD=c9{e?aPoC$7t@{!ItoJqGVSNE^bLn+64 z!yJ77DSP{mT6P}kMqI;-{Z+l(sX`_>ZHFLvu|R1odq=;JhutR1z*Bje1hTePzWt-x zcMpCEynZB4Mq90V{Ljcv!OAzXPw!MyA?1~*9L5}7U+?*uLr}wVQ~bnC?ZE|em>s`3Tvr+0Q_Cx{ap*(*ud_6XahG}UZ^DRMQ@hBKNpZh=o5IsvzMH`5(uFSL0V7XV+*lQ^L})>zO~ui@TmgV0iFbc<3?q@wC>OYxi&AnIxuG zG25M?AB`^wc(Ss@!+S!n1NJn&@S%)4T-Q~B@2Vn9fjI51;yq1?*vyVGH_?HD+Ye3m zkI_IqVJl2*#8)@ssYp5xo;0v)>QU>cTvFF_wWy%3X$o{ZYz9(uyjk;eekJ8i&ImAs zbgTfTAwz`H@FbjFiG~J&VTX1rN8Fm;yT77GlAng-12}tZ*}Y9o{X=^%}9*yQ=BMQ-gao(&+m6tXx)M% zW`>YxczV9x5~M3YLd=ZyI6sbzWgStGQDEAH8|WiiE}>+!@j>0m0LRpnUDE46f8Hba zPyMK$E7F0Ob15Z)E0BB|;bMaCJbT*@$N~67H8JJ7Vj4P0vDm1_h7$GP?XHbp@t-TA zLNPUH7KQU3;g;fjT37}q>JKVF3&T>8JU*Ie_0HoX>dPz!B*|~F*wnc0xMH6V99Wln z%sB;ctvC4~LzV?0B53{&$0#ZGw+JXNBnAPj1poBET9>QX>bNtU>BjK~jvPsJ zRG|IDbNv|`BEZL{@shM+8spP!ghI67Wj+VX{g=Sv(wUl;rTO`s$6tR`HLz<9*hr*% zuO01qpa7V?ckEj z!#elePII8wsLHO4z0H2mH}h&a!e?jWVkko4Vk^FakF0r*qoZ22I_L8DDAL)*@??B< z6R$u+-}1<%(j8L$?L(9%GpxgTIE0s*-Qz`w8CEgV!^`c}>y(T$nG{C9fF}yTV?C*Z zlcv~wbM!L#mH{+5lwr}hv5&o6l-LNYbL+7wMEc2qYLvFM z5_N!qQ>kA$tY~fGZ)tk+SD7^}BKrp$(k6a{$Tkh}z;$J&hf|R3vl-ZHN>*1@1Fv<< zjTk=TD)74_Z}o?H7vLE6MK z%LthXFnKg(s1G~LmRzbG2*C_=bL+QOD*%%tn84s$4!jH)`r0c#WQLJo-z?|okf=)&FZT0iJPq07B5ZiemNNcf(PI!#g^|Mhean@d zA)2hFf7F>AI&$3135D|_9tB6~ekA=PCbHz#AaFnce0@rz+-uArnMAo(5s)p%qk6>; zI!1*3{qi4?TcF-T1v4oXirk)6+LYhTBW{Mb2HbXb@9@uo>as*|Dvj$%(&=uGrC$s~uo5IK8^l_bK8$4Q{U z!k#Cy!}vZxKCi=|)9=uW)2q{s>$lcR3waC;6k>4gG7Ov)m!Q@7d0>fQbT&2HvuP8I z0~aLJI&pPlfaH4nX(mpS)*ZxAJV%=Pq4~o&0v;dC6rPVr6N=}T&85B3G1O0nWvW7; z*k5PXMb`KFfE{|2oi_&ec$)Lw!H{lVwZ)%&6S-0Ay=lEEz-|qqZviR^N`!(sB**z{Csd;gSu`y#8)sSnxwW`FC^aP{-xRt*;?j62+ z4>+pKjEw2>XU@mPB#qASh7iirW#V4`C`zn>3c?`1-SEtA6Pa!Qd~(&Hd&JO^F78$< zz1*Hru^T+WMw?M7z5%1ttT}61#SfOqYrw3L=8)XY_tVSgXRfh$`L6NE%OFc!(e(4Ngoyzv1&{e&^1p1Cvvem7_I-{Vq`}{*yrSDkr%9`jJS{u0)B? zTPFYPO1zJ728)P@oFQ~cxpDQ?f{X{#57TG?1i`it$RkmMA6x}J3h(Uhkpl?Kd|A#^ z@Q_nW!vVo~Y=oNak(?3M@!X_=uC(?cjo2eAzGg5Y0gTo9jSYuhb0R^;zTkJHCmXm| zCrGDt=98)#Efttd_ZCq2;0WlH(?IZ{8wc6%O`zIaDZ$Wl!^4wyHnO(Agq|CSpfWtG z;~%VG%R>QWE@|4mH*exYgTErO-d!!Si&zUkYH~95DDsj>!{l)hlgX+440j{OMSbY% zOG3$>7$h_THX~Zd54_DuxUN0%OYUO**)VwswW(N$#HxkAF6P~Ixu^}+~xz36{!)D&%rvN_J`TY;~$N#;FzN?HQ zJY5Khl<>#W|8ODvTQQY!_wBwfiOXor#{VKskJex{)+e{rwa4{)2DO&)4LGDnsoMh) z_I>=qC0%5ce#+iPMy!9A2)*tgm%HW_=6|Dq``8H*Gn!{c`H6X^SNxDPv%6>i@@0T0{;ZbC>fXJv77d2Ib=nXDzNG+mS_^vsL(;_8m!ja%vQ znQQAivDNi~8wc>pwesKP;=fT~eV(a0_qEGib{Z%dPfBj%`EqxR(X#w(W-h2LWC!Fn zDYN%#R*lgU59ORy?Awlvl{UWJ zcTQnJ^*>78(zMkAeKBOLCXWa%frCL#yoew;A%@-d5OU+DOX?nHh4nXm+^mqT_FLoK zB@SG?TkaH{s9C?6TL3D!(U^7DC&ob_>F}R85J_O3=1*%cVv=cjgd{FH4}M3#L75gNyDm7kRQ)V{qJjG%Qrc!{k=O zdAIz$FL*p&;88v-55(1AEVyfA^-%+hq;HI2!FMopDe0yXZ?C8>y7}t2HIor2Y^OaT;ACFaC$Y*mlrR?)-i1|1!l07UjkO%)&xz`#m z!JIl^LNh@)*j*ZtG{6uDV--JSji>-laEk|Vze2l#4~J=F3ZO+;-8;nxt}RaUfJu^} z(BbTCK@8o3=t^+;cnSbs7};>;0XgfgenSxi2~KBrAtnc-kO1vH%5hH%bBg;_uoi&+ zI}pXP&$)k~`K*n43|)9Vj;z6Boe1V^zt|on%9)!XPuik@1Mnn)a2E~`z|!SKb@ESC z3mr0?kTZb&{UAG1mqZl!$ma4R6`H^C&HP#AP=^?%Ag!b8GozQ?J?BH7G|Xs)W=0_M zNWFF@gv>#dCucZg+h^ZJi5&v2b9gBGQRvMBp*OpCA;-V&%fZors3G?5uhXX#nR@|3 zp@on!ceSlPR!X`fT*Beu--C&;R6LEVySqWwQX&`T&0HD9I1_=^AoRj6RXu6iCuvHZ*5iE6ZuY(Z}1=h2JWIJdHbmA1CVOF zdwGueEIArTojPWE&HyD*gV04T^ z&yfV($E+SU=2}lNe@$#`Z2VE)u>Ep=BOn%p^RSI&eX*>EFZ&$xZ?@9%=_4|^kKZeu zdk84^l^FL_d6ze2bg?uWfNWDJ`@CNV9F}upV#m4e_n3Xp`>l^P#8#RO_jm}O@ zJz$&n#9Gv6qcn>po+kX7vEdFQyWo2JZaxs2|JQVW<;%prx^F&$;cD+I+sd(9fbwH% zYRl^aK%-*yIsZxe3;>9j8un0zwv&!T*W_3PfT52N!gb+@S8!a&u5?a`0bviss zg+8%+pA-#z*|{U*W#d7vuU?Qt0I@nU^OYL2a>F3}>l4qodF&}#*}60chQVRuKFDER zhBN;0TL6w&Io5E-wtTzw5b$+i4k=PrSvh#r0PtZIU}qb4$;`d*$)!beXFI7W3V2eR zJ#&i!3^+0LzI&LH5UQ)p^B@JQoF@VjK!a@RL#~p}fGMG$-f5ih#S30%z%su0kj-P7O&_YkApW1o!@zMPn&zUCGzH;%B3Un!Py1>vXDAj!n4%N=-H@J8JL zg)sx}%9Aew(aGeS{@f4@oS)u4+AlyvE`Pgah+I**%H8SYB&Mv;sfTDaer7( zf(3Y2?(h_Ur7fY#_7@M4F@_mWF+gWrg>!~_m_YljEX#`IrS1E;|0tm(rEBQWZfDqg z{LgQ3iHWHH%EiFKqB8neevGUn9=2^XKJOd%Omo*Io5U-}B-xgji=pvGfph$zHp%L9 z`HbJeZ$@8@t(k+yHAR-v5Z@exI!V#G^YBQgefjj8(1Hh-=6*tmxgy>8J&x!u+fUvq z$E~jeC$Ns#W9Q1BVbOus)&jl1arLz#zmXF?TH7mrB`5zYgUK+VX>VAc0lQXqA--1P zm;9A*BjIU(T2Bz)zHu_tKulJ%0Mk~#d#rT1#`2`vl#jMU?OE+E?N#@f$9MdzI5Rsp z_n8PYl-ZhQcKWpn0Ce-r*h{Bzc-+9^c67kiy>1cU*e_9)!U;6=8gDTAN>{rdb@Uj#zqnG!!M^h(K-4v zyC67z=3CBt80ijLaIqp&jl7?2aPl(P9jSHtEjw_^zY=1wV9y7BTd(a=#$@)LgBCam zPPdC;V`g^`cqeU(JIAYk-gP=aU;9|@93iWr^ zFr(TR+C_w4)yF(KwN^ipE;*$1d|yNL!4I(=r+;o1S-w8R%z){4n+s2yTt2{ejXO1h zmK+}$2T;$#G6z|*c$|L<*u^lEM%8qG@n>D1;{m;)&zVg+Hw-Pmb-(P#Ltj{3Q>j8x*U}&&Itr+L1cOJ_E@!i1@?U#7wY^|dGpOK z@Xnhkc&c=PNTvsu-@l(Dil!?cU#{xU@20uU{3Kip1Ug7VDOCD%Or8nRPh4$@%DyVW zaZpmwJP=$017E+YOM#UXP;@+@?FU2#Uu$Z2>@<3QCFAWKmFpO?7W;+-_SfQ|)5Sv{ zJ_sdehBrP|L#ksRZbS~9UHW*syT0m0h^?d>5TethAa*B@jy=^|t6Oxgaiq?cNpR@m zq>c+&u^rs}ek|ewBSZXP=HTGqqA2qDaOK0y8sVLXF%5l?XPq|(P#fJdq4Z^FV8G4Y zJ$h@=a{afaB=5Yr^IN^yn82>^k+B5Vb3@@6tRx_2$}sJaRSZo5=As)|7Hb7s7CPAq zrGP8R~;+S zkM&W#1sr1cZVMq=_r$Aq^H27!4?n;3g!N@~I(B{igOX$8_=mBf&CQnwoA%0MGoctY zra5gFOh3xOKGaYsdC<{nS>WsxXu(U_g%4mS;om-=7?l>qcuFtCMbE75z58?frx5iB zPWL-#iNTSsP#a%;uBg7HN;G^e4i~Z+u+h`BIdg2o?YURc`sQ-`?)QL(yd>SV2dF4G zwGo{hO)D7=H2tI3>BB{lVmER{pdl}$zIYt+d_G>!IpZTx_K8KIr3VnU7=pj?@l#F5 zDZy7Z6OIK|&tZ^4)&zYs)B+(%5LC2UkBX(n7H2_ z!`yBRXp5Il#64SM&Ht@+q*$#kR{hd}wTTX;04&LrV*VZm7OBmce7uv!K3NA3hZ~$n z>!UvIDT=NrE#s|_d2-*?V0!Jy6`Q5^@f+D!J8QPew8j29K9p@=V%2+Ppxnxp&2BuZINHtb&7& zF*cI>{Qm#P)0g-|^~LX>JG*u4`!b~Lq3pyESwohxgb5Yd1{ESMDpDa7k{Tr>q_P!p zqoNcdg)Eaq*|JlX`Q6X=_kDf;fSI%0_c`aiJuFRaLKP111l{`#kj#W}e&DcI}xw<2XxP+@sf+I1y@rj0wpD z8AckUZj66~?VA3~l`VRyu=SJXN1Nf+igA_`4hB@z^AYUJik>O-b@zKMmw=-r;IScV zcGuFpW*R<(vZ{X6t$IrQERNgR+HNrWKA@&vtCbM`gtk!A!l66q@Z=ugzfy3Xnt=o27E!`63E}KFX`Ul@-PNE!wIXCHX!B{<0=u_Wo!N* z4p@TfcwJ?D-_8A^=igYJ4*7UEoktJg$b+gUO?9~$MnpY2wm_f#CQh4hS>gyzD~RcT z$zr!%_oY+z%K7{-Nx%Nny^G@_m}TQ+E)!F+lv@~emLZVZj29%ZMy(Pg{*9juM=i^t z1JFIBj`~6BT#UW!kce0X2d%}AvIs24A%Q?v*Zeh`(?a`ijXz}_j-nIca_P4qmLc<& zS2!%v|Fh#;+A$vO9>Gr7#1+e_6Y{U%xhEm{g7>IhTSWb*{V7+aKN{an&*;Uf-_TRS zu#5h}`MYH$ystN`uVSf5TP1}5j-+D{A{Fy_H#leT`tG5xEBTX>Ce*5U3OMsnXMQ^! zD${lmbOR271n{|rbKlxf1l`r3FVku3i<`@a%jd0)DvnRez0L<~t{DK?B6^pk*4d%h zt1%|S4Qm>Pgt_5{$d%OLZ3DH@j>Gns{QXSxJ!OAEt>Ve;PQQafKR|%L7Z$)4?LTXe zEa^OsWZSS1(sjAYBEMq2X?yi+^k8~i(rG}(e^CPG#4q8X7jMNR0GMvGro2^GyJ%pz z3qd;1oa}=b9~z#<|2q*3K3*jXe$;Bg3((JBkbv;Yo24 z7}`!23+H9zZm`~>CTW>4w6ZjoY7P(Lkc(-7mLL*bcqpKIFOX7v$dCOJ`2CLRgQIGI zzDf3%p)im$uE^YdI?VnfRSm@noFq0BlLCK;v&j67Z&AeHO{u`;&G+%%ftU zLYAxaebcnjwMQPuM~^S!5J~iQJ-&*S1-b9Bw<7T58Db^@sh0#T+XahKERH#r)Once zJ>d&V!Svts1dD$oDrSL)lQ~a(P~0McjxAysnRam1GcX%Sph<~>6LQpx|DgV7U<-ia zL+^H4qZqU^00&C8gvsD4%bxh#*dB)*1>BfZ{HO!32dNwE#giDOl!JTMCHmO-pMv50 ze*bjqoCMeAN@Rg*_-1>_I}549^4T-Qsr; z9>{j~ECf#dGX@MQ506Gilt{+!YiXK{;q5C#Kt_w~qT{TWQ=jZT3^^U{gDR4GwlV>L z+{?DV>s9Jaeh28fyTK>Tc)E80pM|J$POz@~XXgcbz@fbr$vpCh~T1*5<3-s8WBfO8E!V*2qF-;4P{Hz(MI^EC!# zP&f7M?J}iCfqKC!;3YT2UDN|nvsjC7z}p7{SevkTsEVWc<80E8r)0=>CE@KfP++I@ zz`rTXkCy@`lV9{qsR{uBh(rM9(+%eDai4DyyTi`UIO~Xq_dyqqaqPWnmB1;1`=D6X zvJbtgi(p~!nl{`N&I$cnC0^J90uNY6&ykpV zr1giIP1As?Bvs;cbuZ?wAV7XLf)uOFZ;SgM3N(IHBY0Q=y7#4AqukDi%MsJ{S&Qu8 zCuE^|!}FKQBY}0vjeE@9sPs0pK6Sj(xaps5nezE7Sr`htgD=nx{hINN#~($pwuoVS z<#V!SK)EJ`7xCq!aKDYu;DWPOULV8EDBPm#a2vgTfBG-fO?;1qeb@T_)vX;D-AyS; zOB*j(K@S3j$khF6{w2L4!a1!c;>C%e_$~VRE?-XM=m~=NMXRs5H&G!C{ZKTUg9tG) zFtI8(2%tyJd;K>Fg|A>Amf?1TKI|6(z<%mZG4=p+JG46qBJQ%q`+|EYAq)EXJi@hs z9iN7-L~$dQ@fd)6nF6W+_LKdI`b8uV?aLKz2WGOc85AHM&O&Y;8O+| zgdIeQV&FCDNC3)lf7;uQFM)aXws#)~28Qd!!79*yfPpvj{8XZ2&Ys;H(rg*NFHOQ) zjt5v+VL+o9U+gtQIuYrudWp+QaE{31tE7};b5#P5(5#^htb;zVjJGkZ;fCV}408Il z-&4{;`B)5kuYW^g0kD)UMh--nb0izUs|WYj5+o&*H<5S7HR92c)$* z!IzTFtXd+hfIBS$-ge!#+LiUg-uIaMwd+Ji+9hm_5_|`u<3Z5}KXE{-RVlc{!+62z zzCr*c*Afm_?YV2o2;Mya(e$!%@*#NVDah5Wee9yGu;SrY-@1y}0M8F+9?)_6P}I*S zoFvv49GXZ>)DZ-qaqBHzjz3T~ImRpmUV?1Gj5@gb-MQQ36wa(oAPZK1aqA{_iPL^W zYDflDVNp38QO=x4=H2f6rf@{-L-*@OC$X@tky8)>2%W0ime7?5=ru1BXA;{*G1LcD zX(yV;@gOq6UyHVmMN3sU+C+^TVD6@+fTjQfaE-S#4JL!%9c))2eNG?($+Z!}WJyZw z>A52$R1!XhFQeSgycR=I{ZN%L#)CX2GJmnF^aC0;Jnh;~u)gee;8h~3jPldEMghRW ziDX0e_s=hYNH#Lfn{%7ssw-V}g`G$gdiBm559VU{8wynhBln5umu- zFGMu(`{5n3SmsWgrDbaX0XFI5Lz`bE;2IgGMEtWS7rYw0@UC8H8ujT>ysdW@AIj>r z=Wn74pkCyzKXILpEKcuN(vIIO`iU$ATsxum>SXVJ;E!RF7>CeK=Pb)vGDv~+c|bRt z;n`bnp;NM|Xb4`#jx03q1^sgsz_laDxhGIm8bzd|jh*zbdi!(Ycq^Sg6fNJ1JtGM!y*)ub!PqT{84tVkR%3o#PRztW1UAYAq z)j_EqV}xl&c?H#97PAIsJ~w*y#fR^S84(3bSy@?2vEl1)=gf9Q9hx?Yig+4u2DZac zF=vVA&ji{2!M&9~xOX?CTei7|#e07%PJXUvlO*1L}LkwiHimA=IW@ib3sX_Y5|>a*3=n zYUlOu<%uVVVSq3sZ48s#&8E<4)+9kZrebCCU;3pu%Da056a@+H!kQ(n z=bWRLTKpQVXPI*SQGDqc*>bEsSa@Xb885ayV11l1AO_}t`egXMP$)2zgJn76h3w>q zojE(FN`y(bAOjML^r4EVmzIg-rq-W!zD(o+)j}y*@P_sZaMXHrK4Rw$YaIfNx^>Bm zv6mla`J-*!k|5(!@6yF$F+9jYjQ~~cxe{=1Qq~89L_F5U0S&hClg$%dUdE`0mb9M} zzFC_6X|VVNv(Iq9iOl1DdKZYI;F&d@JFV-a;MV+Rdpk)&EghaX0~B6$`Q7-<$VF zAN};ogdZH;508xO&bdexW@X3z)*syx1*Y+C+)v-1es)|)h5blA_a2T35s;jC+{&`| zV0Hx9yi>^hK=M#=*J%#C4lx$~TAWy4@BX;-LHX7GWuM(qDd>xMW!&Yi10Pd}NPTQE zZA{nkmpFp$Z9-$Z79x%2%tq&S7L*m`u%JT>UV}SzkSExXD8*OwItRHg%a6{$La@pi*4yOylPd)AWX40>D-6DRg z#e>1diZ`7&K?3l~4lWomJ1Maz+={FrqPKka=Y4*LB$#*15q=q~qX@0Bdf%a03IFhqytn*PO>2IJAzMl@^WDIDSr~E-&ot7v#_g`E+fqdv%;h*!HF(F5NH0? zwK^`6*&DJJ4`2^orts)$C>egN{SkBX;=)tKu4|0pTil(=?RZ9Os^5h-yMTzs1>t15 z9hM?sOnCi>&`Pi0Us`69jM9hTilOy=5L2iN;#@xWEZ$M}@(z#}}tCqeKJ1+)5D|{yI74hfbs-X`SICUE}l?G$rXnq>^r>~0= z=P;Xh-ie)@xOQZ@T#c?|X#tp}+;E5QNxQpJNe37uul_0GkQ(sbY6|Cvq4QPsIVG&! zABkwP3<&r><$fRKp8Ub`e0txJUU++man*&2L94{-Sf2Zt9Q9yiA8MW!!0>7f|GmhHu1n?zxlU1UD69o0rB_$v{np zswT#QDCQV>Oo3?Y9*SEtDy!qb$75y=2-HV!fd2y#AcCp(8p7hb{)ICGK2#t0z5j~Q zYz-OMN_WpmVAd-zacJdwzvMjeS;4?SAYbevZ<4xg6&}gv0zt#e*Wa0|N@xPwlS=M9 zEiJJd$tM)7ncxCH`}VDb(DP&@0!KNJXd=q93-jI1rT^}M;|P^0SBuHt4{KwQxmhf@ z4DpbTQUHyQDt@)Jq;V%C3e=w0K$dep^6}`o2~pv;R(bStkD$t}VSP|6v~rlT1Dw$L zo1UwNRdA3oe0$l-PWGP^d-xSBqa*1Ke#7{ZT4t4+Yp@hJSk~v`N)XTk5hS{K$n(kz z>O`JQkIJu!Yxj(@JSw`bDkAPAo?ah~^5+iw9qJ~P5YYaRb3NA^#MUW-xaRHr;~Mbn z#~iHzGmyRCuXFGIpX24qAoHG{x}ozOv1H#9@;fhE#GV6^5MYPsYOOMFsL zcR_Pani7YXd0^hE(9x#tFZmt&Hx8}U#C@IH@?-6Tp7))zuiM@T1fWIqrO|XV11wZy41ZClTz`@k`qS0-)xxpBPj=N>-L=b-1zk% zAf0VitUDY!>eay73tFmmXxUK99S)isY-Vlsr@TokZ`=AuCU8&GqAVdi6)C<&@5{yd3r6opd{IFYKzr%Rh3)J=5F z^`G%E{@vuMs`a5us-ItOgS@(2Ep&=ZC&146Y$^ATbQ9r{c3Q+u>|QXEhhEg19hKdz zhxu4!Hd@85M~euGci%Th-N&VaLQU<>?*Wr_KtJruni(vwj{%-oboeKG=NZ?^)JYB+ zJdB@+#Rn-cm5`KE*|>5pVtH5mdH$8v8{5MTtJC^n-d(TOykeedy?7dLAK4XB73bXb zaL(rO%ayY>)uF6A4Rg(CTgaenitN$NT`y5u-q9bZYgV?Y(DmM0`1^FWH)wId&5p`wXCl#@{)uBbeyb;1xkC3XDa8s}K;i`Wyi5re>%=DgDRpW-L>9rt z#9g)^Nl~6gMAc5=45{SnX%c#i-Ms6G`YGv2FGNhwj=v&5%GI}(;>+0Sf8i>>|0>UM z<`rJmdD<`=SqL&;24N(gwn9cff%=1bOP4q0WMX{pQE;@b;Zc6hw*dbsrwKboQH&sE znhDK6zXnA16r{xMJTXJQ%}dlHl-5X|aaE@0NP7~Nr0uUJ{k5pV@bppy-~*K7b)F=I z6DE=z<|%)q9J>pBWHxH#S7OT>+-Ijhs1$o{?;Nl>4RWqL3&e+I z2GUHYK1dr^jBPYmN@Yuv;8}5Ada5Vb6C1?{NltdCAb0l@=S^&}JuUpI>@y*|!JX6J z1Ydvo65o#l#&I?8sK&JoikDtll0sfgMqAn|{LaO;Pw6a2H>`cQ+_&GxWZ~gc}v$ycSE9PDpt{ux)28gqO(YRF{Z2IS* z+PQ|+VAg8GGp$C)mTaAc{Wo`Jjr@+{iaJ^HEP1+~mhDGRKkd0Vao}hfs9Esh1Pu{ton5`t ziVz^FlnWPV9nI|2d#wSQmOb$^)p@Y4@aA&8zGX*3p}|G>gw|sXJk;wRtzf=9{k+GeeJQTj*L#f0lEIboSk*F;F@>&9fa;;}gz5zOeBEVxH zdi-zgH<6;y$8Hv?$C151y4h~y;VBpXjE?BYv0)KB?Z6RUK<2J68yr6NfgO3Mo0qO%ID-Mk*h|( zn2_9u&ESW`DheCdq&o*_>NaiF1Dop6K)Uo0s%|BW81l`ao~0T;q6VTOt3uCn61G-) zJ+Po&uTbI>-#j?XS00ghx<&&~ zH=36^sb3FQ?&icoJ*rsX?Jr}163CwArs|3J$(n(|wDb1+K-#JvKU2F7HA84Km^+FC zAoru{=Krex;TpLFcveSa5CX_4THF6noj5JEqZHr9r|nuCP@J0s!f9Fw-$b-VeC@RB<3Q;^vnqJY zzns9Y^bikXoOZwdvC@&SaqPPq7WovW{dQt!w^;p@;QEV0Mf=~ZtOzt$t$^F03R&|_ z(enG^ZdLm9K#6UIi?v{jnc_=xaND;@t|)Mi^1(?#``@1loYk_54$DFRQH8zSumXzrKZ~vqOhP)Y*0b zM|$2Vqq~pCbB=e1dsX&q#k{O?Ap?CY)f}A59&@Vjrun@5&(!sUVoi$KezAvCCQLf= zoF%~&G4b`}z0*r2P17$9(;#pXGc+N49lvfhc%6KH`5lLSCbk=Wlmb}!7lE(3sG;eO zQ}>*47bIZWGEg2D3hI@vUNo<*@~SBMOj5$x@keYK6A5*a=zi%yRK88t-YSulT3qTB$ziM!{ovpcnB%6J)&ekh z0|%lN)5+ZjT!buA18ZG?2cZAD+v}U~$POsnJ2=67C_{$xTHT4?ygeVM3g2ka=ewqs z(t=Hsp`sm0N@3dW(il27k^nftnjzDoC#`Wx{5lk53`Ax}jfm=(E+R!`2h7+hraN9` z)6qmb(>UCcCGGzM|gwBhh2rSdHdm*?0{3yJyY2I2%biU*{XH|2c2&D zKQ;!75`ejffp%hk1q01k;J=IJqkiw0Bs^!M&S%ReVgPOI+XW?0?_J7!;27}o#qJUf zQ3ub;_KVpeYD|K_o(?_qL~lz%l*!7l__Q6s8ZY{I0%fQ8TXMmioDUq{6*+Z;H(huK zx|JB5INe9ZZ#Z5_5XoRWxTJ7QX;T>;;Hv!d?#owG8DivfDEOc$93!!%sbT72G!J=DN|zJW}L7C<)$c zzSth8Ka{{!5$9C^%%;xF#?tMvv8uD}SDHT0HmgG2eStKSyT`)@8mdHcYYF!SzzwL7 zorko%j+W>pK_H2;XFMBQBmqPNL#_=???e-e7*N%AQ4=T5y!TiS0={sp*NAiI*@j4r zwbQ_Bt=|%VF)H(Z;Z$LiW{_h#uw8xIrg#30AX&vCK^Keuyp#s4k!k>)%h(EPLI$ zCI-6I3}NLEPsFj44TK+)R6gmtZGV3uTl;2NtqgMACT&YE=&qtNP{QlZPAR=C7ZUr0 zE9!#>RHDS)e0T7e@0~x&w*?f}o7~5mHSscJ|JHptM1@l070A1voB8krK)2yKFffAa zHjH-x0|B&daMgs5r#xPBm;UDi7OknlBxVCgeGz}5sbutXKCyS_?f}Z;iplS#cu>!3 z+ez+w?(8Y0URNl65_{CHJU=~!a#jBu_&s94hSO(1|eJ1_e*7$d!kRku^JlL9n>UF_Lb(8x*kSfBf1N=S$ ze?L`f}~pYK#N_Ec^cL zF0|n1k5CTEz`oqHi&=0hldd@dF}1&=3;m_<8n_#b^`iwYAmr)nvagSw4BrQ(_@kSC zCGy=~cjJ|3q$`@8(C=R^Z6=;XUAK=peCJwn#d#2^n+&$+vOA@aoo(8TAf+6SdnS?< zTqrB$)2~IBFhGj!Y%?2pfAN!RwpfB5ks09)yp52oKSzhyurtfsYs~HGHC87ci5feN z;Y;{Tx*((Y0E0P7&?G=d+(nflxDj5kI9T<$zjQa+1wRZZg?w>;Saat=7~T+^$-cFl z9)UQaIHBPs@VIg5?dvpt+Na68RU4xxq!3t*%-nMZV@7Xq7u@gE?Iyu?f&@9t_bC!H z4%)su*e$37+MlbePI%fB`Ju%DAPhL=pW4uG6l1Au_7=XU*GjD67j0iB80kjmX0$UR zF~97P*Et3x^*ok6znVxZ>nsLYNRD}lWe&d*Zo6)ioPRTrzhnhz>Nj& ziUh<2z|X=1;!yHIrXpK^ELu!Djw&hyqcG&N8}A_rfPX%O97j0Z zoyR@C7asWVElCH>KZ0C=G*Z;}u_f;~g;~;{ZQ8cTR{l(L0iX}X2*BKEzlY1KMGLKK zu}-(y>ht9>E7MlgZ%S0OI5OXkMWc={@kBW5{cWN9Bv?P;d^QwA@6$TWrN_+$^_K6N|IIfCgYL-9^(VVSr)FPr9*3Xc4&uc6%v{R~@BmjK zg=i1uZlqJ7vuH5W{2ww(*+rm@=|p?y-9<#@OB#=mYlCcN5)vLxX77zhQSFq;QFw-$BHG5)gigZXN# zg$*+6>uXqzwYk-xW1P@noY$A*yk9tx!ye$vP-P@HVH^F}>YjK#6v%H+$cAn*AiW@+L2(mFth196k`0VwidnX+Xz2C8%b2I72^r-0KZt zVd+eadgPJ#DxBd0?jw$hHCku#Ge73Aj2qc%)8D3lNuP)xn;7Mg1!|YV!NkOzD9Th3 zA-V+fbZ8%Jc-WwWwSqv|6`jYsWPfbr=V_XO>&{QMT}+;xjj z>%{ZafKreYX5ltZCDPK8;H@QHRkjveY6{XO9S@t%i!DM&)lHLjd%c$jjaJyx8jHzv zrgw4O&PCDq%j+svHyb$PudJW?JGi8`omH8$x%aE_#p#1Hiyb8O^XhR=x0%mb<~;C& z>)jYw23AFH33_1aL4&^h8w7jk#KR;&`FZj5_qQLjp36vw3|-(jAkyNfIuWkO4rOA- zGk?3p#t0G5jXkj4FRFjltIVhTa7TY`pL3jMzTeXaLFc3%b`l*Fn1K8W`84rp9S9u0 z^1Ek3KL>ZVfJ^tRq*J9WFPmmd2;tu4VNo0`2W!G+AWDfdbl(|`D2`xhB##v^5kH3q zGsXfD)Q*H<2S;r?qo{!J$gWXJx)P!%oGtHCLly$K+S=w=}yT9WDr=|(_ z9bpXs3oKYahaf&kIDD7+NGdD9-G%WU$~-8#eOBy6kNdVb?w z=BI;e$}#c$qojY0tQfz4x(nohtx0!aS^^DYG4LB8G01tL*HOvUyG;b)Btp^b2%;Q@ zorqEO%$(c$921|d;+uR)#Wbs`no&$me)UK(z}wOs#e&M@acZ`xN}0fW)*lj0r({Gw zru&Gink?-RWC+JqLIdi@F^p88tSx^g_bh;&p{_ z_20YRkO*X|hSmS(BZxfp-%B~$Fv55VS~gCSVcy5@w%suO>xD;Nxe@5|>+P88^8wra zMGHR=DVXx}%GdQ{Fj39|RaaF2$F~bCg*=3i>uwPqEU^J2ZnKfE+a;LUyGd|8CMB>^ zS(yo480K77e~h`E*H(BY>g5J57{_%{>X&Lze>9zSRP(RI?rqrxsraOIz4*jtXT*uoW7FxeTM-@4R}4wu=$pAM>B_jt((jH`6pCJ?rR$Z?6+ z6CWkD{oCuPk;~aYmcp|M@qXd;In6$ggOs)0@f3CL`koj~SJ>4!_AE3%1&r472rvIE z38lw9Z&FX5SgJq@#!OMHnx5oY7rP!>`A`xVxMG`wK zt7#4F?$7FW*K(=YIn{+-VLySHx+a=KgbVH*xXrdaw@1u)4{vbl$i@so#bP75a@R`@ zIJGHotWp_1>%Dda4Kb+R3aG?+6-zY*!vOF~J_Tq85qiX{Mg42V7sQFOUAV?wCs-WU zPhz}oRK|{5wT;UE;Q_Z$zHr4MRmPehWhcGSJyMz&@jgCB!m4Yk3af5xFdo#arRTb9I9@vtI%tlN|ArQwBAt^uLR%Uw+yY zo4Zj(II9cga(UpeQ<_9r9?K6em{nI1)u|AT%s3DY&bSlQr<89hu-$aV(2css?3yva zBLO6T7`>Dxjyb!0V28Xf*gZA|Nk~ZC_5}XZNR=VDj`RB_hs#5WYxWeJ1J+>dno#7w zeNsaMFRnU))_cz&^F8xvx{|pe+edl*VT`)?{NiN&=Fwu-Dr*7?)R>BS34|7C>4csQl z{T&;63r;29yw*`!d~7UtKa~5s2s64h*1Gm&Yt*0wM>*jiHfaatio5yX>;GK8-hf(C zg%APygjIiYy{}%XIrguzz$5XVVqHw(}aCGN+NJ4*oVAoW)0 zKz3w+$a7(@sJV-p=YSm8p#XZea}G>ogV(4rSVF%>%%sflBpyIaI0uCCjJeOWV@v&X z3Ehv0^Lbx3{z)dEQwZtxx--z5PT4xzYqak!#-UfaVN68(P~00!WA-9_6Dl95WfA|p zv|yu_caL#%z!uOZ9vL_lYNGSHtU7oMO9HP!>hVr2`yXf~0R(kpBYrx~oD>8`{H{`8 ze)zYY)HTH6fQTa}Bb@Zbo>y4>G}H0DD(JF-Xd6eQsEz;kr;J%$XQ81MPD+^l(=atE zHy(Vr%O(#t+BPi2>u&#eSt;j#*O#me6p?sA#@Cs2J3UF)2p>^gks@-&qa1T9mm^3( zC*h438J_ii1AHzCMY@7UcBUGbRUP8y)SKI+oxuB#Z+7S3 z4`*Ii*4m#}%LedYVXPs{HOqeYfS8<;3=W7|E72c>`(Jqm1z*8|>15R;K<7jUsKC7D zR-Hrf&w_|IP~fEpz7fa+E%?%3TI`sXoeIedAnI1!_|yJtz6Y0+GB7;4`0oBnWAafV zI%umKp@_mT?^RuduA0X-Ggr~1jf)g@=6`nL2(;-7zRjxoy9)MS;Ha_!dzcV7x}jDM zW`cF=s@F_kgDwT|Ct$GR_2t(?SQMe64@J3MaiW@(V;bdf)WK$JT&lGD&@l)lD&q7^tAUf>q=4U{?Duu22Mase9B+3P+h!Of1TlAG~-0Q7M%_hkIGCRRdf$F?H_JDFr$3KY$-hbj(uktwb~ce(8wrt1Od9)MfEJ$<55uaR&v z=eHvm`67^N(i0A^-b~neN?m=p++#J(%LD?g(m7Y)FtjI}lYX^nYs7#DE71sMhV}Jz z8^Eux0loM$9h&lv)CbSR9h?*hR^MLvLbnAuB1^wzbNFcozDUDR8xlH9p|U<#w66#Z z8r+qXOr`_b6iDLL-F-^}APL^pUQxy!39%wJFx=Zs;9sMw*9go>N}9B=?a!5Y-O z*Ng_1Zq-v@9~|y*;?<=Cx-pmc#(==@czBxE^Y0p_%BaTfGWE1RefTv*_6bnI^uEVB za9-4&C5DI>TP3?t+fu2G?9@ost8?J@=OB9Jfc~m$Fg4_=1sMAdU68-j0gpqPN)5Rr=j2OyIXTOJ|C%0iWP^Pa zswF?*iz1*~Ckl4k%n?)~gb)gzQefS+>)yo@(E1KrI`cllRW%joT!#2s1A+a8_%Gy# zKjQMBZU@?al0Du6>BTiz18;LW`fIqhec2DD9QG z!EUnLy8E~r%ML^6*gqLK2Tpjir`S9XuF)icEHR(;mm?i_%tg&A%-W)my#$F~rR|F#xiQgiV*q}rh#TpcgLz2biGHK?cfM>n~v z7Rerl^WRld++N;F$^14DdzR~+ys@p>yX3!TLd_Y2l?U4%_xpU&(px}YW2GP3Qqjd2 zP=K8c8r*1t2DjgD!TZd=f2U$)ZoH7pdlhSZU3No0GjFlR%&alqVDAm@tn6aPPp`Fq zlLf!(padB9I_8HQ$_S{y&Yo-UG?@AFI@v^q2uAfbR6QuN`Rt+HasEZ1PSV|J2t>w} zfC94Vqn~5N))Vln8zMhT|Aw+0tm2%vZZOw+Wd%`*XDxxD1~7T`11itNQft$b{I1hIj0fV`E7jlH zGq9A|yZebF8}U3N8!WNa-74TOf60cXqC!C|D_IJjzAsC1O|qr(?@h48*)H7=U_Sa^ zW2rdX0r9#PvgGpxa?7q{(iA(f)Y#$p!yuaVr)KMTDw&k3$+OK3AHl89rB9>}PqXBo z?8xIU0Y(rca@}xmYR+k>sv)mMiVCk8n^#QU&p*8zk+H5gp6X1+;%MQE$~Q|V-=0LL~Zz%N~v|Mm#!7|gO4L%88&Ij=as zHy5L};@Q3#|M-Ks&H3%$<$7alDe8l>k|8W1JE&ByU#H8?uIb+mYn&q|zMOqV*8>&k zJ0_-nqwI6ZnL8MY%M525){Q4tGa(^5!A3ynrlJy6r6n64#KaJ`TQU~Cy*_+L2APkz zKV$b@7`NgeHlAZ%zud$2q~#$`CB_b_qNJ#vN_49Y*#0;5tjnn35o+NA?m4eEpX_2> zX6;Q?M`VT`^f)OB!D;NI>Ble1MQ<=Fq3%H$KMzKo`AKZ9aWnf&8HIt~slUyNQjgR8vhf?ZDo81AJ zXj7S8?A=L)6k2c{_iAY0u@`u%gCpn&`;w(1xlJLn(>=P3=__q%Qu~wsKNR z^NR19Jep!6?mc_RT#|{3gNQnoKHICw0L-W^zgF zh~S%r-Nhf$yAz8@fVMwAN-a|=0=3DNljS`OD7_!1j} zhWz+t#C3K*y*}gk?9idbBd2@6Bnk>T&&PDWjF>ohVoyN!n$*>`rMdH$Uu4~0>il~r zqU)g8Z>;ORLWb*U2hZmzpj0rbR(#W!H}ofODQEKnxX-aER|`XP#>V~~|NVH<=ljw$10l=tfd;(F=P9cdk!(ceRau z|NAF2btTdX4uAgnQvMr9_Kri3M&s6IBP-8f#iKK^S;x6M+de86Y_qh5bei+KjBi>&BUI(8ds5V4 zw(^$QzCM>}pz^!w^C^ZfNfGoFX?nR4ypt6U@L{f|zv+B-pBK6M zT)fN_$D{iN?C zOuQ&J4*WtgK7qplQ|!~I(ugeS)o}yf_DptN&J=5!&0RZkDW^!3Op9|G;CvQ!pbLWK zB#<+TP_7ZmvVZhz(2Eqs z@%|K67fzbjprp59^aOL_nosNiHcHhQfWeO(8pL)V7u3fn$YN5oF#{y#=qEKyPXGe{ zQ?-ojE2$ca3=%~DpR3>aHr0F~fMTA`9w0^4!RO-dmp}r0*aAQ%B=FG4lHX9xRE-QdPr3C~*|hBB3~@7JV;yyh-NDw8*a(TFxMnS)D*1R#!!ewtwEZ<}l>r|U5Huca<)hAdJ2$n)5?;{VLq zjH=Rn&!ZP}?zzdCOOD{l_VpR8r8SmmM0;*)YmdLQKva)A3vyl!-9{I3n!1B_f5a3= zJxJ|06i^u?s&_Eg4qX9z@^D&k=Q6!X#P7zN!;9cEyJ2K-NXVQMYH<&{{XaR+A9z!! z3}uh~;gf~e47g#h`)+u^W)38m`)E5gG0~~)39*t5d)K}je64gN(yWNC@f`Z_eqsW| z^3OT>!40^B$G<=IqT(BvDq$WjT3?vn=Hvk|IoKCj>FL@0+@FkfbELfs)ylx@Znpix z&k$;VsXIIohpzeyQbdWgtKMb6#Tmj>LQ(p^UYy;Sn*BDdjX^I7IjR!wSIn!UZ{l;0 z{oPvh(|8md@9dFaa_=N`uK*sxw=1|rPrjWMuQRUWM!(65(0iB;R50NJRBqad6OFq6 z3gF8D!1elNYM-_}KJpr|{@jn%0`Z1b^^Bc@-J~Iq_5(9z|7Il7ai3eZ65_89+sZ5m zfJgk$JkQynuZMKz;Nko$=m~KIeBc}un3kx1?czrr>=RNuAEo)gf-YU=`5sE|a}k^i zjQ9$|dlIaFzWrw*Jv{J?KSAXov(B9kHK7W@hd7ydlLq%a=TQ+%nD;Z_y8`t8Uq{#C z4(0ZR_xF7>V=(R_U6|Y=WGW&t21BG1CAsDrNf(sPFT{KEsk6pM5Rm`jG6Ow_CK(mXT9%Q>)mVZXYGp_EeV4*y;eB1G+p(0_2$XRNmd}{ z+?>ESabk#Tf4&&2&)`K8|Bu)+G{ST@C*~-%-m~_v@tegr^6P#DDV0}iZ zo+xxE5AdUw$r~@>?Wlnb%OSb}pei@EzURR?(Ui@fZ|wPv_K=MUm@d9vdP}@S(2qVQ zwY=koCwHu%W%!~oIPVOiyX?Xers5SZ$ASLE6EE$s*dycpV;`K@^1Ueb;9e-vCTu$& zmG^^=U?G(|_r_a5rq_RJP=$i`rE1&X`;EbwWJCwt0(n0e+I<&Bc!7%#u?7@Xspke% z^m9M$lW8EoQ<;~CGIvccy5;+T?x@9rAMF+n8u6E#q0(@0<05Q04j${G2I!%;N=;}E zM}I7E0Qt=ZwchJf~#Tq5t_uwxF_B_1z z&`Fu+hGmB7i{Y|AxYv&xn`D_Eog_|K)q;Il<8ntuH)*YkCCPBm}STBI%FT{o-yMTg2* z#3$3!ELZgJ+cR}XruR7=t+&%M!!+k=YntS`4~CIF8PEIF&3`2nzPh|pKH39s1$9iG ziGJw|weMtBJ_lPLoCRV-&N$F`~?!+JzUD{*gnK>AKYLqBJ0PZB^YWpb&_ee^DSOOAa-hG_qL`5qqvWo?+Wz3;N=N1v7V0;X<^W>ZX0 zd!5aEy}}Rcc77X~BkCk`vb~q`U}k*y5bR_@+o9DKQZ6@Xo9B8b@=@)>5^4TE;)$hI zjbFU+Xl?k-Q=mXu#l~i{GCS>6gopa5?C0*9+ThesYes23e;8~dVjbfR>l_k_%q054 zq_>glF0KtueCgpR28Nb6D>)L;5@Psmk64MR`%y9g2XL=5_bxmC3mR^pDl@$HPV5A?)!Yobk}o_ z1f0tc*|uw&nik(b$$uf^FoyKM`Ivw#I+)j%C|;9q_2FZP6$7m^3pl zhn(^3d?)+!6?0pPeZWyulS^mU^TcKFECFCCr!|z}0cDvxR1zUWNptoWJx{`w$AMKt ztUWW8t-(vl@HKPbR+-N4N9U8{skpGOa=SF4Tx9yKzqv;{T`~}S_#TdJuLWhsX9uOb z;xv`ecE(hiz5=`KE^KSmj|>BX5HvS~5s5m%9WA+Fx_ACGE5uo}VCli5DGk!KdAs#a zsvyOyU;?ORx`GFDMm>ygUBkn}i#IVbvv+@2wFc*=xZbW7ij||ZVM{p?h2}nL+Br?~ zEhxg(8l08Y6}$s6Dz9N%K>jg5F(wvsDTZMD93Zvh$sc6Zf1w|*u_Hvb(|-=)?K9Lo zt6jc;uLFUNKfmAmZJ@fdv^DU(AHN7{!F%gaw5wr~85FWkk?BRZ1436>K^GK&{YU|U zG{q|tCI#RU9me8iZx$`} zJ~k!Eq>H~kpV^@0dEUG`_RS?ZTJioDvMU#}gRndn^H}KUjVl`Gu7<-FSlWHslVjQ~ z%KAB-tEI@CbjH&eO^-s$W*w{WDANRWZ~*#ngkFXFq?HaTf{G~Wr$?EE&n=n*`UV&c zGEUO3rqXZyKQFdn@WApMw==X+AYvKOs`L2hLCK=fu~Cs&n%f0hnd+!z{ot>MTo0pfD zh=|BJ#(|lcc?BSZ3@Kck9K621N=r*$U!2g<(Y?RFpC9eg)6<_GY;kgOdU$wnadCNj zd)wRFV`F0r2@A8au`w|*;o{;73JS8avR?i<pZVNJvO$hr3s2M_5=`sHmvByStx1e?~_~KR7t} z^XHG8oZLS%{rvovmX<6nEmv1p{Qdpc)>ao57v<&Ut*xyC0|U3Vwm*FMu)eg8u^Yio01vlpA=Gk9! zyMO%5FDZ?zztb@=*45Pwjf_rA{&IJBS6Wt4+t{M0sAy(p#>~QYetxblK^+^PK+i^N zXlQ6^YMR=1KQl8E5fK4d?lsT6o|~I%Y-)zog*dvpYw8-5S5~X3sp;$MUtL{6BE{h0 z;T3U++uGXl^Yc~k$x2I0{ewbNQc^}nM>8`s6B84wM;`skZ(G{Cl$Di3ajB|Do{EZ! zem6?hG&Dm73TYW=Aa3Mos3Zde1I_K7wY9a7`%51)&ViMejpH}S*$yPfbYS@zVuP`M z{C4^07_v7zK0aPO`UL4nfqZj?B&!L!O+cm^{L61ACnxz$3L*aN8^^EKK^AOU>H03Z z+$>bp2*g&J>;n_40$$5X#){)mgpl?WNU7UWnRrjSa7`q?2o9v)06=J&@>1ejpVrU&L;nE|gcQA3;Z;HXXZ!#8*zCON zS48#mZHuqdQfwNJd%%Pt_{vP?Yu~|%H|l+W=`YUh0r22uNnrY=VMwGukVt*}czyr; zE>dRzi5JNGs@gDqD90 zO_HtxO;A^m(^AHIBqA=b;N4cJSrc+#E=!L!`I&BZ(x?DvDYtJ+UZf(w*1dZ8>+^Hl zf!oLrNO0~nA*Gtkw-S__rsu{mv4s%KW@$oltrwXY*orAc)6a}XAe~ciUQMvmgO2)? zO~;%3OI&-X;`h0_q>R$l&0&-gYg*{rXz|eQQ`R z?2<%kJat@u^j6rEtek~0@MU{rH$$Tz9?k1pJ1*w;Mu9~Jvh?Oq!^Ull zDBct$adyxd=TV zXo8hZ-K+9!Eue?5OW21=k@^Aq4k8;rJVn9nG4LQ5gm`7^2_v3>5WX%TMfitLh6h@f zC<3o!%x|1vDZ#mtRVJd+vV&oSijks;jB+%N!(Xd{WgliPG`ZF)U#e!{h+y12!QpFO zV(n;J)pZqCDJ5zxmKrH_^|x@0Lm_rXFwQbIIoIB^dF1Y{fmdijlYlCzy9ZuT?;{zF z!tpnV)xIdp&%<0z7T<;`cj&~X8In!r<&AFLW+@BN&R@0h!(rF16RFNwiTDgYOKXF? z3hlE&DI9`cDgBH1LPIA3?DSu8;yazj1XoEDU z;AnJkbi?y(^tRLCqz1aHnx|FQuYkVc7d3V6M^&5HA(5LdeYQEsXV(OagTt8*%vg)0 zHqn#1J4m?+Bhkej8vX7tN?)Yi1O0r>5q&DMDpW5s6Erv$UeD?U%H_lV46W85WaD|6~dof19O3 zVg<<%GW(<}9sFE`lMn-BJ95ijCquD2;3fNsEd8Yo^1XQZgWsnxcZL++5h5JRKsQZp zx_|ye@AUDF?_q;Wrspl=-ZR(Fohkkv4K3T%_v-FLdTySyFMdUQZ)xee$_E#wF2kk1 zj_=IPfgwv`7gLz2R+PVHMu^4Ii!P|#jA)Q38!zSOk5-OEk>DLAXup!TJr{qh4gFJFF>ic9L=ZHdCQkrzozdIinkxpd+$Pbb2--&67PLK$E4%ZL zAwky&u7Hu+V1iDd9>C6Ozf_~`9LpU%+zB*dz#>AAt1ql5^D zDcb=aYtYMVG=Wo&m_^UTGl`MjbNzKC$d0t3s(5V~|bXn7HBfAqE=$ zd&!rFh?KY?N*L8XSWp(yP%ITZZWW%3n;3B?g$XE@Yqrmmy;t6cAs7i6`#UO_rj4%q zy~MS-AXb=*G(7kdVlluCp4Oowh){XzGnFwsJZ6yA8z|VjC`rO>Wb<*!f$GbewsnQh zmgf7>fh0~q6I_O}cfYeS*fA1`?$F8X8q1Y*G3g&)R|-+2FS7_40$Bhtz2S#tU@q|Z z=XvNg%(sleJV{SSdMOTax5Gb_`XHr<=16EYy;t);!fYp7n`e0M9P$L=d{3Px&!fM{cl7-YGd`5M{y&h3chPoD$~PsUQ=Y z`W$cjs{!5FyTskhXFVXwUMS6|ZlZDso>X|nL}&*nfl5d%(qlWj$mmDdy`1r16R#te(Zrgv^Smc zdz*8!k4uGP-%}qpfuWDSA88j2JeUcgu+BEk^gq}pP5@!Y&IaL_r$H{8>FLh-dve-X z#U8$SZjYG911OsQCv*a26_48fpHeUpDczdGJ7-J z0v=9{LBt<6iXF3V@(6#JDCvSY2Tvg#S2^NXdE7f!aPY#UrbQ%P`(p zLfzACNT1Rtq(y2Et6gr=@%jF7Hc0(rlEKO{EAQZPrjfmfwf!sQoo8?kViAsOwk%5_ zJOW&VM4}Ip+nTjGJeUAG%huvml9&hDL2Rwf-p~$2J7dcK9|(U4w`LCS@Gc9~SaCGo z83&f4)`ZJP2a%RuepU)hq@ZEAnmZE)sER+0j|jrD2loZ9UR{o98YvH@Iq3QAYt_c}*oHf0MdYkI)iVu#3c5BHI2Wuii5f_wO zU;DP%;5c3c6lg%voMUbK3lz33>m;@;3;b;>|0VQhd-q&d3;i&8m};Zm#PMpTBAh%yrSUeEQIXrFI|w6VUS zei1?Qv;9x`b^96Izz)NceDJ&&UP?^wP@m=<%-6T@}vs{2tFFIsT_`rv@>X;i@Gt!(Gx76kkkB8J^JBb0vy-9ZD{>3#ec zYG11-3=MUi%N3bnkKk~knp-lEuLAe53Csq<*_9L$$a~a6nYI#tA-k<*bYGz#hX@+j z3zuq*Zi_K8c{geo7%F|gd49W#zkd{T42ie=8#*f*?0&s(`WCqOet7{#mjV(0O-f5k zd^4?EIZLjPp5AI1XEM}onuX$~{+^N@vKANirK#R_mt+;)A64w96pBdLJRHN8Gc~8H$kbA9PJnWwI+3)~&C)ZC(%P!Cv!W&quFGus=d1c<(PUuM($}5YciCFNq_?w6-&AxQsfh80 zvf<3HI1056g?RM^;g`n}+&36Zw8`jDlp>wtU<&`T?*#5DVmd(g6`N!TW_LJJsrIT# zQ`iSHBpSoKLJ_}~py!vPrF_}qWKqc5-i}xoM0hLsACF%g0)O`SKX?f=#4|ShdHJCe zcwWudh`ka}Z)0&wc^&xpzd8#Sp6Xenjra zA`{YCcl*rG6q04qWl~5?D}<1s0}|@$>FVt2@eh>+q_vNwU1|&@kD@6L^sF;m=XuMZ+))R2YseWA0Z{LJyAI+=>B?Ne?UN6t zQv`Qn0tRl+r=F;W^WGuNux5PnZzE7xN^yR$!>lXcmA_`w|hXb)pUmq0}SH-yV9kGLH`(|mr^JuD0+NnjOw89dQ~s*ZWk z){`%SQX9M0)dCLA#LeRq#awXu0{)#NOj`IcR~sHHR30`;37Ehn=LK0&cl(~eeZ?_F z=_XJk>L6Fz!H+__sRf#U?;Hy-c+(EsOsM7vhZbPz6j_t-0s^|0z(jlFunc)Sl9>Q7 z67ExRs?~vAw5NrxW?goVM4toytNWc&7qsp_E7@)F+{{zp!X*J%J~ID%|35x3;nc7# z$0++StO1jRd1|&-DUe@t)_?zL18Nojw+;wpG#w%;;GW8-f>Q@ncogw{a_&K^Jy$d9 zJ$h;Ld9}eaDvDg_sd^ELC3b}uIVH;kXF_&E-_rWX&8Gjt?W>S`N@Y}Q!m7=v)P#GG zp|rDvD2x9y-Yh1L@1-?~RjgIN&Mjr)pj2C324aV|Ms#wK&Dwx3Qj5^06?7d*!zsp= zvBTOI#2^XY3MoXoTq?c7R$^2a2#cUGDu%P;6(oiR+HON~L#MTXS%;NLww|Z`K_s&& zym`;jI_fGy>Mtm7d*pI8lwCk5ikp3b9r9QlSrFAwZB$FQxe=Lpx1Tl;{r=AUjCa5L z;Nt_bURM8$q#(~z9+g-l-?9YWvJ2TkQr!LUGtb|P>C5{wrXl$3dNv&D)AO)3?}Nyv zn=6g+>rZ_6XuZzu9TR=)6H=T zhcUg(H!dh%DK+nAi0gO2J4A&sHryWgm%A=z8Z3Ex7Kp+Mf^Yh_o597b^%4)qicZfB zU`<|)ZnAP_50@QGkTN4afc&MCKo~SRhzId1 zx5Aa@2}SrKKYje8gE(AYK}}=|c(1SeHx1SsUcEMLP!qFB6>(ACX4LL2DzNN?$&VU1 zjaNti&b`>Xt`qz3!IQy@IDN=$Ju{e3k5Es}LV0L1;igH3Xz)O)&N+3c(tFEugEep8 zcOWc;jbHN`y6!}+_N?)OXs!q6x}>&4NuJ)ZT>Mc|&Hi$UVW^e%*E)k1h6RUI)EjjD zrQgr564z@tnn%5%^e<{HIHTftyPf@J0>o(BpDUr7!9SB^+o5s_*_sY}c_FB}KozE* zG4MJ3*^3+hZO*>!3hXMtZc+9-9JiSOABIFw*jlHzv4Dxj*nF=3p|$D>WEJ*8p{54d zCU$7d5HQNylC=N?HiBIh$q!(bovmKd%=TSnzpx< z!`@St5HG}99UuTzIa>6)A;)@IZBeY{X9(vf=WZy$K$0dK=!Na2o`oZl7zJ0~fknnn zC(zyF{OB~%I?Zn;NpNhR@8@V@@Th&98nIe^(_jz)4+_pnio%Ee1POwj(&%jwHMN)w zRtD#a!lf{VE+LsAOhsKvm>K33sig8TOvF#tTkxQQz5`Gyu9F(Rf@dssW|})ZTX$+# z)%X7IgUyQ$H?ni3gHY*j3*ZrHL%V_q?-==w=9Y1JWa}oB_EPH~5wW=nUy>a1tGcNW zH@d1@MX<#(-yGX8!blAP0~t;CMsDvqqePOT9BLB!5Pt5lx z`yY&PApy0}dYOF_P)}~$xzkaDx=G2ofXPOZrg-a;wDlt>$J$BoXX+%6o6n5mUc~se z8=xAF82~bls8ll=DsrCxNZx-i6}1Ra5<--m+ZkzfNnQT=+g5+T=!KPkA>W3)k(Hli z+>wZucQbWaJlicMxS>6b0)m1r^ti7Uhd!Yt37+n$_E>PB;dnK0KYOx`fdue_qWiSH>;2&2(%Jztuq_$i#s2s^bT1g)GxSu$G=pFfUK!h@*sy8}0Y3xLUi zqhu0-0iw>{T=#&A%dBSDL_qi)&z>VQPa*I3%_^4#!pZT;y%PHp*5ziNS&7Ys=F|JZ zxmTAcimYVic5f@t{Oj_3Hf#09G(6Zu2TFt~Gy};j;&IN)OS3`pVV+x>YDscy1zSNU zxI5drSNG=7x&kn!ENd;n9`p5RMM5c4=IYl)u~m{b+?e6$&y+G7oy{h_?#KLL_e|3l zgMlta!P^lIZ6DhJ`Qwp`>Eut7Rdvkmki zlWShwB#F59Xf@@7AJ~%bwQZp6({`gnpDK1kKah+y%&lu*L?*l$yow%n@&VWFOrCX=n26H;7{3Pu z!z#3e>tpK@==NXlEF`kt^ZVe3F&^%RX9|Kp3an*;0Oj{8`A~$bKgk>=tNkYy?^~w` zi4ALSCa?h_itjVvfLIoY?CtEVNr)C=trl=Q?!_Ch?jrecfd3v+&IG-J6ty-j@mhK; z-BWeI8VT}1q4<^p?*b5k*#nT!!gs?i`ZIkSV#p~uLue!PEy85{6%6_SYFPws)Y`+9 zb}^2sXMDtZF*u!{Pw5(c_q#GyPx9+PF$(9amwX3lV2;AA%8!tbAsD)oc;In`TdWEZ zgmFZS>nOQN9($1#h?z9l*cUQX3sX8i@Jl*RWy5~N3EE8O`eMyWB5hZe>9Trky4+{JctqPoxFN{+DTaV9 z3o{XpIOzFp%u{#*T8!%kjdDbqeeiUTlw#t;mh2VknB-e{44s|7H2a~#2O~ZqQf&WO zK?(neR1P7^PkW?7j33Z>>kypqbKvrS(07tZn@GvP-$_uKh)|m5?Z@pVxlP^)#UxRh zTiy_`PzlpQw#Vh0Y%(?2vNY{*eA#Ehu+r-9b!D6are&&-VxsR}Za*v58k~LopJeTL zyW<9Xbq(JjJcxC42~xTO7fuCtmry_mFviFck}VzzRljqHZdwnshWv!MWxue?GNJYF5?l8%X;_^=h{C(E49i z=R(SvLg*feB+zmD0)hncXM%s6wFxReK$(4I0eGG(rPXu9Z{u6w{&;`uZ;0kK%i81g z;)l_%@B2mxk2{@O$s6H9Ob&Oz1s9_LtC9zgnYec-1FJ(&Ibc&AkkF6w-O5z*1P`Y$AD|A9m)TbcIu`S->~_up&x zV|;<4jXhSeTY14nuS54X)n{jFL}@vz_!3-=QU)CMQ!EJqIYA8SCrP&xC}jqUU1(D| zmjNl1GP1O=26}pziwcj^~ z1Gq#Xd5j@=w6}|slh3}s?d@B){_R1V!miCT>&oZs8TfSX1;_KP_FCsW9 zlj}Q!g{*ly@urN~jpK{y+53&U0Q#!prZ3Cln6e%n1Bb?=?4$`pMgjIuh@W8cY_RE& z$qTrVudzhCH7LpS{psN?z@4kmbcU{?;&UVmFTk%26dD!ui1G(QvTBB(7dJeAP2L)M zfzE&T*7enP+Uf*kHZx~z3dpUiT{ky!N0R)4zJZfnA5`eb_@yQEvN1?2|7cZ(Fo6v`nL+ff-#=E@q_R7U)x!{05r!xrwJgQ9PFIo`FCptD^K-1v53EUuK6S*84IxnlxSC~I?Y zwK+6YkaLAD%meM2Bbla`{W*kaQe&797uX=_GWx~rN{pnZ$g%I}s@n?(w>uvvtG;uC z)V?y0LnDBO_eT7bc?wjw>^HCB*pEQ>UHC1ef!BC zUarbS@+U$At}q?m?+A08@&t*rb^`Ko3;}jGnAFs88uNptz_{28C#QY$x3s9MIq7b- zH6vrL>Zg=5Ru(8D@p#RBN4+RNhlZY1&9&|Y^dnOU-SZ>)V|@yA5KJG!=2~B01g$6RI-zmVx`j$jX$=zzL-Vavi5(_Uy>>H3N`qc%*^Yx%iK!`F zcp@K1k_rDI7+#JO1x{XOId$O=>eZ5tk{>$<<<+{hxeImjH9lOle3ugXB0jAk0=Zyn zss}^w{-fxTXqQ1z!eu=@#56ESzz=yCV)74&zQXf-;TkM)?5HLTVryh^jOGpuOzt9j z`2-{otTm4Ef%a-hqzZ@;=*b;5I>TFRua;&w-8a(G=XQ9{5*K|;W#j&wQ}L_BIvuS(wBPcfiI2qHKCMrG@}D35cutHZ;mK8&WN z6kb!b?-eV&O%7Yk0k;E0HJ6c{R?LfXWFYNJweBvuiT`xjQ-n&6K=*#WnzF`QJ3{K2 z7sREn4h}y2}n7F zBOl1uYodxzL}1&6L`zlI=rwJ5yCGe{=Bn>p@f`?)&McI)B(2s-@HK)eB3<*wn);Q$ zi{}{o+u&-%hmsdX!+?buUfZ&guc4T%{-BOyVWn;Us_zXt&#i-e**;kMmccrCxPAIv z17&rU4dEEvCgSMw9y|&OCIOO&`8o3$fpokER&3CBHijHcj@2tpV*B91#Iow}xU(-T zyF9rZ&I?(e0E1(1uSU)X4x$Y*cq&d>*ZD2q=LrEO#DD54UWU{ymMei<_;hMK#;^U_0 zm^_$(YPd{_zNr)13=&gBOF{8pHK$o3a0O3FJmUT z$%Z}bsT@opYrbYRh`EZ*2UzYm@pgeLx=Vt6eLM9wFGbiU^NO2eONSN`eJlb!5)oOV6)E+6?yuHpzUWe#dj9Jj;mm~I-)co|m>M3vq9qS??tonJ_q*fW^j9dPlPvbKy z5vuzmvjTBw;#$i|xK!;rxJI52R=<9H_-+ov=e|GG_4o+0vix7oqM^iEMsq&P8fh^N zL%#puJ@KIv6tsLeq6$AknV8I3O3&f_v%O?9aVIlV>k_K2-OEH=j!0g4_>xH2i4!7+ z!*f!iN#etjae@+nwL!W}N|7nMg=e+`kH?UVyaRlRYio7hb<^Zk_tP zzGvZB^Zu;*eD$ybu_?P-7MQ;R2X*(igGC=9=#XT6-~zR|`RdtxB5 z%OHJz;1}w{N1}kO*E2>nr}uyJF1^$MH=+&8zlM$UouJ`zOLc*;)8p%fc<`z#dbH{R z8_4?6cDse~0|GmP+#)TN+k^*$M2mK+g_W9Awzx5;c>#u;!YN}`=djO7>Sz2FsKMc+ zQkI!YE5eV1LkfOqmPI4A&QY8^^sPD*y@*c|Q1**+OR*;9sa?L`&P3P9P}YrqF8U9; zW>nbvKav2|rdwPdxexz?B;!CGMDz}l1rt)PDt3B({8lScxAj=N=<>L6@gTNwt1y;m zqMjX9BFhLf)JH?LWbI^A8S7@Cj3dWB8xuFwEF}-ClVTOc&7{V)a92!I{GQ?yzv)vo zh(J)E7dsxSuG>-pP5?DV@uMYU@1@BZEPFGYQ^nU-4Ut~3C1I+Zj?C<4io z)%7;o-reHB+|iM@`Sk0VNAk-ur0^MH2qpGSRk090V>;<8*;*@GG79Xgt zu0LB#n=e!8=31!nyiad)o|Rwe?mhl`9jBIKWXp@4zoIr(YEzDEKPa=m5V4yiFfj*> zwhQw{pd%w~w63aA1kWG9QSD_O#~YUN87@rEf94*4ts`r+pPMMLMx3k1Tqp|x9#+9i z`Fk}iM ziVZxJ76$XJIQ*&qid-}w8tMo&rwyUs|C2%v&4M7sAiGh@ zr)et_`7>FaO$PDbCWOrm%N1hian38*Mwaa`i$LoMm#{`c*CyXy#bOePfaWA8APzo6KpyBn}P4pq0^xdng zn-Sd2gl7ZQ$HqXkv!gn>4zUG8c0}PtuE4MzjBgo{1xj(iBA;?u;lrT#>iB|y;~t7` zC^jPO01E+sg*pdRN9jp~o1?-2J&=y!9)%7{Dh<^#BAD`BRn%;=K`!z=)GB-I2USYd zwRE12s%Uf0xO>XQ+;17%Xwioi%^k?MRi28?&P{rd@faX2!@G5jm2BnJ)Z9sHe}6I@ z-AQ==rK%~4{d4vB$i=&-+dnedLZ{awitK3s#`G031c8tOydD1x&aKdbZ0PQ)X*f=Q(BX-o?)Pyf%${2v!T*^YK?DGdwH|l&RzD%t=_pGpw z&F?lm*ie-G%V|J56zPt&OZ%A>(j&rjizSkaRk4cHZx37k6Pned)X@6ZHfX8|auuIU zd23ZK#oW!e>g&swg(v9UM{8nQ;lc%y5bcjxz)?*v?lLIB9x&!O?WOnx zJLi4-_G6RjYi3$lpPL%iPb82`1dOPF28TDlL%AeJNaO_n`pNm!*B6FojeWKsws?LvD`nC zbP)uEkigYY3$uSi``grr^Xn>aY~okt*a*ygDgCfAc@qoIt#9Ex1U59dE>BHhv^7|p>o|P4yzX`k&V5`>Nj?+Vt zG@-Lft-_#4DL;L?9Ex2nvQp$5PeNXM>LhrMMa&h8Tz=zVqaTqwDjs&=j-DM+9Ss4;AD|PBh(1Vv$)piu_~;F9(`t|}%

Redirecting…

- Click here if you are not redirected. - diff --git a/profile.html b/profile.html deleted file mode 100644 index 8d8730653..000000000 --- a/profile.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - Redirecting… - - - - -

Redirecting…

- Click here if you are not redirected. - diff --git a/quotas.html b/quotas.html deleted file mode 100644 index 5dd3cc4b3..000000000 --- a/quotas.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - Redirecting… - - - - -

Redirecting…

- Click here if you are not redirected. - diff --git a/redirects.json b/redirects.json deleted file mode 100644 index 541a91c56..000000000 --- a/redirects.json +++ /dev/null @@ -1 +0,0 @@ -{"/accounts":"/api/accounts","/assets/asset-transfers":"/api/asset-transfers","/assets/":"/api/assets","/assets/asset-categories":"/api/assets","/api/asset-categories":"/api/assets","/auth":"/api/auth","/fiat":"/api/bank-accounts","/fiat/bank-accounts":"/api/bank-accounts","/fiat/bank-authorities":"/api/bank-accounts","/fiat/authorities":"/api/bank-accounts","/assets/discrete-assets":"/api/external-assets","/api/discrete-assets":"/api/external-assets","/api/batch-types/farmlands":"/api/batch-types/farmlands-external-asset","/fiat/funds-transfers":"/api/funds-transfers","/api/section/payment-requests":"/api/payment-requests","/api/section/assets":"/api/assets","/api/section/settlements":"/api/settlements","/api/section/batches":"/api/batches","/api/section/accounts":"/api/accounts","/api/section/integrations":"/api/integrations","/api/section/scanned-codes":"/api/scanned-codes","/api/section/merchants":"/api/merchants","/api/section/bank-accounts":"/api/bank-accounts","/api":"/api/introduction","/transacting":"/api/legacy-payment-requests","/api/transacting":"/api/legacy-payment-requests","/merchants":"/api/merchants","/api/payment-activities":"/api/payment-requests","/profile":"/api/profiles","/quotas":"/api/quotas","/settlements":"/api/settlements","/assets/wallets":"/api/wallets"} \ No newline at end of file diff --git a/settlements.html b/settlements.html deleted file mode 100644 index bb067904a..000000000 --- a/settlements.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - Redirecting… - - - - -

Redirecting…

- Click here if you are not redirected. - diff --git a/transacting.html b/transacting.html deleted file mode 100644 index 854905f66..000000000 --- a/transacting.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - Redirecting… - - - - -

Redirecting…

- Click here if you are not redirected. -

!TvcQR za{+c>`@hC}P(_!cU;H|icR#KBM?rsO?W-5Uhf67 zP#WlY6qsQdFe|#GJcd}&ueDzKK`sJC1w{bwf<2P0!m5^~-JJV&y;`jDi{Kx8u}wnJ z1Qz*sW9YCP$h5&r(>RwG-#EA9S`B zZ%e1t?(q^-#BRa6YeY|Fn6L;P&)6L|*;S`|@ffZKOx5ic5bf^x6`@h8%b*2@e|l}% z`>b=*?}R1neN2X^HRyJc1(NN$SCl+`*6_7hh7iA@vq5Zt4gscTFJELwjSS8Q8X}@# zRFOB3em&!%O2v0ZDF{sYck8K7s_zqa{cV1YxMGq!g4mw%WqL}NSe7H@P2tpV!$hdR zBOK@K)lk=}F^e4OvjiSINr}$MCND8n|A}k9S1D zcU%WMT!~m~rVWoj;cuUlOko5X0QSq(@2tTd&mW;f7J}Qm0(;XrlNQI|L9n&?@VR=! z6OOt^ez@Gq5B{Ck=~0OJyy9|YO3E=IedUx*b$k)D9Dp0&$GQ)tc^uMc-3siK6K2pd z8N~f9bt&rKemK08>Mk~A4_7|iA)BIpk-&-Zo_Ktc(rA}-mO!C0}R2)TwXhuJ=%FHjUh`>I#aDozuWRQWjMa@0`q0u@v zL@FZ;Q}BBc7C*HB^;2IgsqN|Ykc&dw-H9_CEP}8$On7Z@`=R;M3#%yV{HU ze)U-?(JwEvOZz*#Uk4VO+`oO>9zm*56gmG@6!seFLw8g6r=VCO+<=zI0 zGjSQRX`6+LP}?{i|M2b(2f5potoAk9-`g?Qd@3P#u_O9Jtlq3-uDj3N8se8&vR8Wm z6%b%M*5M@mG3e~+@md$?S>xRLTz&~BQp3|HFOo2S3FW%>iEQ`jBkj}2ot;GM3yADH zhG5>Arpz4$M`VLWrure~HScmed68|FBGYK|o_v*if-7mF` z6rDt6C$(zrI!d?FTICGW6_J?3Eki1VmC4^}VtE zgZ$U}CUcKqv(|?JJxp7@Pf&U*h%nlU6JY`3zj!RPu*VG(U2aYEk?bmG#uNtOoT}HB z6OCl@chWxEdIPfIV+?Vfd! z7Li;9h^F3=rpcl3(K?obtcMG)C}v1FpyINB$;V$gH9jcP<7g{XXw*Atm$K%jv6SQd!DiH0qob3ULVoaIt1gx)jxV2UW}4cd)ad>kxrQ07hQF$!Sl~YATMdAXHrY!w|`mxRQf^e>hO4 zE)C5gp;7g_P=ONaYArC=>J^%tySrT9u1Yv3m5WaCRNMACnq{pxlJk4CgsxzxYK|_! zh8gO#3&R(*6P?{o(+ocN>geg-x2fbmdC3jlJ?x#Oc+1>AadTf<J+L^lrW2>lC2Mto4XZINhp@bmFeaCPprb*rA5UIPQHMCF?sq{luT&bK3P>d4LY(otE~B*eJ#6roM@y=73MqqbNa* zIq@4YL#7gC6Nf8Bx<9EK6BcJubRb𝔜J&6IYw!r(IZwebeKmgDFgNUv#}M)Lkgf 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 diff --git a/merchants.html b/merchants.html deleted file mode 100644 index 42375bb8c..000000000 --- a/merchants.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - Redirecting… - - - - -