summaryrefslogtreecommitdiffstats
path: root/l10n-bg
diff options
context:
space:
mode:
Diffstat (limited to 'l10n-bg')
-rw-r--r--l10n-bg/browser/branding/official/brand.ftl39
-rw-r--r--l10n-bg/browser/branding/official/brand.properties8
-rw-r--r--l10n-bg/browser/browser/aboutDialog.ftl82
-rw-r--r--l10n-bg/browser/browser/aboutLogins.ftl441
-rw-r--r--l10n-bg/browser/browser/aboutPocket.ftl71
-rw-r--r--l10n-bg/browser/browser/aboutPolicies.ftl17
-rw-r--r--l10n-bg/browser/browser/aboutPrivateBrowsing.ftl73
-rw-r--r--l10n-bg/browser/browser/aboutRestartRequired.ftl10
-rw-r--r--l10n-bg/browser/browser/aboutRobots.ftl29
-rw-r--r--l10n-bg/browser/browser/aboutSessionRestore.ftl51
-rw-r--r--l10n-bg/browser/browser/aboutTabCrashed.ftl22
-rw-r--r--l10n-bg/browser/browser/aboutUnloads.ftl36
-rw-r--r--l10n-bg/browser/browser/accounts.ftl102
-rw-r--r--l10n-bg/browser/browser/addonNotifications.ftl126
-rw-r--r--l10n-bg/browser/browser/allTabsMenu.ftl17
-rw-r--r--l10n-bg/browser/browser/appExtensionFields.ftl31
-rw-r--r--l10n-bg/browser/browser/appMenuNotifications.ftl66
-rw-r--r--l10n-bg/browser/browser/appmenu.ftl256
-rw-r--r--l10n-bg/browser/browser/backgroundtasks/defaultagent.ftl7
-rw-r--r--l10n-bg/browser/browser/browser.ftl957
-rw-r--r--l10n-bg/browser/browser/browserContext.ftl382
-rw-r--r--l10n-bg/browser/browser/browserSets.ftl218
-rw-r--r--l10n-bg/browser/browser/colorways.ftl26
-rw-r--r--l10n-bg/browser/browser/components/mozSupportLink.ftl5
-rw-r--r--l10n-bg/browser/browser/confirmationHints.ftl23
-rw-r--r--l10n-bg/browser/browser/contentCrash.ftl34
-rw-r--r--l10n-bg/browser/browser/customizeMode.ftl38
-rw-r--r--l10n-bg/browser/browser/defaultBrowserNotification.ftl23
-rw-r--r--l10n-bg/browser/browser/downloads.ftl244
-rw-r--r--l10n-bg/browser/browser/editBookmarkOverlay.ftl61
-rw-r--r--l10n-bg/browser/browser/extensionsUI.ftl31
-rw-r--r--l10n-bg/browser/browser/featureCallout.ftl36
-rw-r--r--l10n-bg/browser/browser/firefoxRelay.ftl19
-rw-r--r--l10n-bg/browser/browser/firefoxView.ftl98
-rw-r--r--l10n-bg/browser/browser/firefoxWebAuthn.ftl3
-rw-r--r--l10n-bg/browser/browser/fxviewTabList.ftl42
-rw-r--r--l10n-bg/browser/browser/identityCredentialNotification.ftl3
-rw-r--r--l10n-bg/browser/browser/linuxDesktopEntry.ftl22
-rw-r--r--l10n-bg/browser/browser/menubar.ftl336
-rw-r--r--l10n-bg/browser/browser/migration.ftl145
-rw-r--r--l10n-bg/browser/browser/migrationWizard.ftl96
-rw-r--r--l10n-bg/browser/browser/newtab/asrouter.ftl180
-rw-r--r--l10n-bg/browser/browser/newtab/newtab.ftl265
-rw-r--r--l10n-bg/browser/browser/newtab/onboarding.ftl268
-rw-r--r--l10n-bg/browser/browser/originControls.ftl3
-rw-r--r--l10n-bg/browser/browser/pageInfo.ftl261
-rw-r--r--l10n-bg/browser/browser/panelUI.ftl25
-rw-r--r--l10n-bg/browser/browser/panicButton.ftl31
-rw-r--r--l10n-bg/browser/browser/places.ftl248
-rw-r--r--l10n-bg/browser/browser/placesPrompts.ftl17
-rw-r--r--l10n-bg/browser/browser/policies/policies-descriptions.ftl49
-rw-r--r--l10n-bg/browser/browser/preferences/addEngine.ftl22
-rw-r--r--l10n-bg/browser/browser/preferences/applicationManager.ftl25
-rw-r--r--l10n-bg/browser/browser/preferences/blocklists.ftl33
-rw-r--r--l10n-bg/browser/browser/preferences/clearSiteData.ftl56
-rw-r--r--l10n-bg/browser/browser/preferences/colors.ftl40
-rw-r--r--l10n-bg/browser/browser/preferences/connection.ftl99
-rw-r--r--l10n-bg/browser/browser/preferences/containers.ftl93
-rw-r--r--l10n-bg/browser/browser/preferences/fonts.ftl121
-rw-r--r--l10n-bg/browser/browser/preferences/formAutofill.ftl115
-rw-r--r--l10n-bg/browser/browser/preferences/fxaPairDevice.ftl7
-rw-r--r--l10n-bg/browser/browser/preferences/languages.ftl73
-rw-r--r--l10n-bg/browser/browser/preferences/moreFromMozilla.ftl15
-rw-r--r--l10n-bg/browser/browser/preferences/permissions.ftl190
-rw-r--r--l10n-bg/browser/browser/preferences/preferences.ftl1155
-rw-r--r--l10n-bg/browser/browser/preferences/selectBookmark.ftl9
-rw-r--r--l10n-bg/browser/browser/preferences/siteDataSettings.ftl63
-rw-r--r--l10n-bg/browser/browser/preferences/translation.ftl40
-rw-r--r--l10n-bg/browser/browser/profile/default-bookmarks.ftl3
-rw-r--r--l10n-bg/browser/browser/protections.ftl154
-rw-r--r--l10n-bg/browser/browser/protectionsPanel.ftl110
-rw-r--r--l10n-bg/browser/browser/recentlyClosed.ftl30
-rw-r--r--l10n-bg/browser/browser/reportBrokenSite.ftl3
-rw-r--r--l10n-bg/browser/browser/safeMode.ftl11
-rw-r--r--l10n-bg/browser/browser/safebrowsing/blockedSite.ftl53
-rw-r--r--l10n-bg/browser/browser/sanitize.ftl106
-rw-r--r--l10n-bg/browser/browser/screenshots.ftl43
-rw-r--r--l10n-bg/browser/browser/screenshotsOverlay.ftl3
-rw-r--r--l10n-bg/browser/browser/search.ftl36
-rw-r--r--l10n-bg/browser/browser/setDesktopBackground.ftl40
-rw-r--r--l10n-bg/browser/browser/shopping.ftl3
-rw-r--r--l10n-bg/browser/browser/sidebarMenu.ftl18
-rw-r--r--l10n-bg/browser/browser/sitePermissions.ftl12
-rw-r--r--l10n-bg/browser/browser/siteProtections.ftl90
-rw-r--r--l10n-bg/browser/browser/speechDispatcher.ftl3
-rw-r--r--l10n-bg/browser/browser/spotlight.ftl13
-rw-r--r--l10n-bg/browser/browser/sync.ftl29
-rw-r--r--l10n-bg/browser/browser/syncedTabs.ftl58
-rw-r--r--l10n-bg/browser/browser/tabContextMenu.ftl110
-rw-r--r--l10n-bg/browser/browser/tabbrowser.ftl127
-rw-r--r--l10n-bg/browser/browser/textRecognition.ftl3
-rw-r--r--l10n-bg/browser/browser/toolbarContextMenu.ftl64
-rw-r--r--l10n-bg/browser/browser/touchbar/touchbar.ftl38
-rw-r--r--l10n-bg/browser/browser/translations.ftl3
-rw-r--r--l10n-bg/browser/browser/unifiedExtensions.ftl3
-rw-r--r--l10n-bg/browser/browser/webProtocolHandler.ftl3
-rw-r--r--l10n-bg/browser/browser/webauthnDialog.ftl3
-rw-r--r--l10n-bg/browser/browser/webrtcIndicator.ftl187
-rw-r--r--l10n-bg/browser/chrome/browser/browser.properties514
-rw-r--r--l10n-bg/browser/chrome/browser/customizableui/customizableWidgets.properties54
-rw-r--r--l10n-bg/browser/chrome/browser/downloads/downloads.properties77
-rw-r--r--l10n-bg/browser/chrome/browser/feeds/subscribe.properties10
-rw-r--r--l10n-bg/browser/chrome/browser/places/bookmarkProperties.properties16
-rw-r--r--l10n-bg/browser/chrome/browser/safebrowsing/safebrowsing.properties6
-rw-r--r--l10n-bg/browser/chrome/browser/search.properties32
-rw-r--r--l10n-bg/browser/chrome/browser/shellservice.properties16
-rw-r--r--l10n-bg/browser/chrome/browser/siteData.properties8
-rw-r--r--l10n-bg/browser/chrome/browser/sitePermissions.properties49
-rw-r--r--l10n-bg/browser/chrome/browser/syncSetup.properties14
-rw-r--r--l10n-bg/browser/chrome/browser/taskbar.properties12
-rw-r--r--l10n-bg/browser/chrome/browser/uiDensity.properties5
-rw-r--r--l10n-bg/browser/chrome/overrides/appstrings.properties44
-rw-r--r--l10n-bg/browser/crashreporter/crashreporter-override.ini9
-rw-r--r--l10n-bg/browser/defaultagent/defaultagent_localized.ini12
-rw-r--r--l10n-bg/browser/extensions/formautofill/formautofill.properties109
-rw-r--r--l10n-bg/browser/extensions/report-site-issue/webcompat.properties10
-rw-r--r--l10n-bg/browser/firefox-l10n.js6
-rw-r--r--l10n-bg/browser/installer/custom.properties87
-rw-r--r--l10n-bg/browser/installer/mui.properties61
-rw-r--r--l10n-bg/browser/installer/nsisstrings.properties49
-rw-r--r--l10n-bg/browser/installer/override.properties86
-rw-r--r--l10n-bg/browser/langpack-metadata.ftl13
-rw-r--r--l10n-bg/browser/pdfviewer/chrome.properties20
-rw-r--r--l10n-bg/browser/pdfviewer/viewer.properties214
-rw-r--r--l10n-bg/browser/updater/updater.ini9
-rw-r--r--l10n-bg/devtools/client/aboutdebugging.ftl274
-rw-r--r--l10n-bg/devtools/client/accessibility.ftl58
-rw-r--r--l10n-bg/devtools/client/accessibility.properties291
-rw-r--r--l10n-bg/devtools/client/animationinspector.properties183
-rw-r--r--l10n-bg/devtools/client/application.ftl88
-rw-r--r--l10n-bg/devtools/client/boxmodel.properties32
-rw-r--r--l10n-bg/devtools/client/changes.properties60
-rw-r--r--l10n-bg/devtools/client/compatibility.ftl23
-rw-r--r--l10n-bg/devtools/client/components.properties20
-rw-r--r--l10n-bg/devtools/client/debugger.properties1012
-rw-r--r--l10n-bg/devtools/client/device.properties20
-rw-r--r--l10n-bg/devtools/client/dom.properties27
-rw-r--r--l10n-bg/devtools/client/filterwidget.properties59
-rw-r--r--l10n-bg/devtools/client/font-inspector.properties58
-rw-r--r--l10n-bg/devtools/client/har.properties30
-rw-r--r--l10n-bg/devtools/client/inspector.properties562
-rw-r--r--l10n-bg/devtools/client/jsonview.properties45
-rw-r--r--l10n-bg/devtools/client/layout.properties136
-rw-r--r--l10n-bg/devtools/client/memory.properties434
-rw-r--r--l10n-bg/devtools/client/menus.properties18
-rw-r--r--l10n-bg/devtools/client/netmonitor.properties1496
-rw-r--r--l10n-bg/devtools/client/network-throttling.properties28
-rw-r--r--l10n-bg/devtools/client/perftools.ftl3
-rw-r--r--l10n-bg/devtools/client/responsive.properties125
-rw-r--r--l10n-bg/devtools/client/shared.properties24
-rw-r--r--l10n-bg/devtools/client/sourceeditor.properties117
-rw-r--r--l10n-bg/devtools/client/startup.properties243
-rw-r--r--l10n-bg/devtools/client/storage.ftl96
-rw-r--r--l10n-bg/devtools/client/styleeditor.ftl42
-rw-r--r--l10n-bg/devtools/client/styleeditor.properties67
-rw-r--r--l10n-bg/devtools/client/toolbox-options.ftl128
-rw-r--r--l10n-bg/devtools/client/toolbox.ftl34
-rw-r--r--l10n-bg/devtools/client/toolbox.properties243
-rw-r--r--l10n-bg/devtools/client/tooltips.ftl36
-rw-r--r--l10n-bg/devtools/client/webconsole.properties526
-rw-r--r--l10n-bg/devtools/shared/accessibility.properties142
-rw-r--r--l10n-bg/devtools/shared/debugger-paused-reasons.ftl55
-rw-r--r--l10n-bg/devtools/shared/debugger.properties67
-rw-r--r--l10n-bg/devtools/shared/eyedropper.properties14
-rw-r--r--l10n-bg/devtools/shared/highlighters.ftl16
-rw-r--r--l10n-bg/devtools/shared/screenshot.properties127
-rw-r--r--l10n-bg/devtools/shared/shared.properties6
-rw-r--r--l10n-bg/devtools/shared/styleinspector.properties234
-rw-r--r--l10n-bg/devtools/shared/webconsole-commands.ftl3
-rw-r--r--l10n-bg/devtools/startup/key-shortcuts.ftl28
-rw-r--r--l10n-bg/dom/chrome/accessibility/AccessFu.properties112
-rw-r--r--l10n-bg/dom/chrome/accessibility/mac/accessible.properties71
-rw-r--r--l10n-bg/dom/chrome/accessibility/unix/accessible.properties21
-rw-r--r--l10n-bg/dom/chrome/accessibility/win/accessible.properties21
-rw-r--r--l10n-bg/dom/chrome/appstrings.properties35
-rw-r--r--l10n-bg/dom/chrome/dom/dom.properties376
-rw-r--r--l10n-bg/dom/chrome/global-strres.properties5
-rw-r--r--l10n-bg/dom/chrome/layout/HtmlForm.properties35
-rw-r--r--l10n-bg/dom/chrome/layout/MediaDocument.properties21
-rw-r--r--l10n-bg/dom/chrome/layout/css.properties43
-rw-r--r--l10n-bg/dom/chrome/layout/htmlparser.properties120
-rw-r--r--l10n-bg/dom/chrome/layout/layout_errors.properties35
-rw-r--r--l10n-bg/dom/chrome/layout/printing.properties56
-rw-r--r--l10n-bg/dom/chrome/layout/xmlparser.properties48
-rw-r--r--l10n-bg/dom/chrome/layout/xul.properties5
-rw-r--r--l10n-bg/dom/chrome/mathml/mathml.properties15
-rw-r--r--l10n-bg/dom/chrome/nsWebBrowserPersist.properties17
-rw-r--r--l10n-bg/dom/chrome/security/caps.properties9
-rw-r--r--l10n-bg/dom/chrome/security/csp.properties99
-rw-r--r--l10n-bg/dom/chrome/security/security.properties71
-rw-r--r--l10n-bg/dom/chrome/svg/svg.properties5
-rw-r--r--l10n-bg/dom/chrome/xslt/xslt.properties39
-rw-r--r--l10n-bg/dom/dom/XMLPrettyPrint.ftl5
-rw-r--r--l10n-bg/dom/dom/media.ftl5
-rw-r--r--l10n-bg/extensions/spellcheck/hunspell/Copyright18
-rw-r--r--l10n-bg/extensions/spellcheck/hunspell/README4
-rw-r--r--l10n-bg/extensions/spellcheck/hunspell/bg.aff430
-rw-r--r--l10n-bg/extensions/spellcheck/hunspell/bg.dic440103
-rw-r--r--l10n-bg/mobile/android/chrome/browser.properties44
-rw-r--r--l10n-bg/mobile/android/chrome/passwordmgr.properties20
-rw-r--r--l10n-bg/mobile/android/mobile/android/aboutConfig.ftl28
-rw-r--r--l10n-bg/mobile/android/mobile/android/geckoViewConsole.ftl22
-rw-r--r--l10n-bg/mobile/chrome/region.properties27
-rw-r--r--l10n-bg/netwerk/necko.properties74
-rw-r--r--l10n-bg/security/manager/chrome/pipnss/nsserrors.properties331
-rw-r--r--l10n-bg/security/manager/chrome/pipnss/pipnss.properties132
-rw-r--r--l10n-bg/security/manager/chrome/pippki/pippki.properties76
-rw-r--r--l10n-bg/security/manager/security/certificates/certManager.ftl171
-rw-r--r--l10n-bg/security/manager/security/certificates/deviceManager.ftl133
-rw-r--r--l10n-bg/security/manager/security/pippki/pippki.ftl88
-rw-r--r--l10n-bg/toolkit/chrome/alerts/alert.properties23
-rw-r--r--l10n-bg/toolkit/chrome/autoconfig/autoconfig.properties12
-rw-r--r--l10n-bg/toolkit/chrome/global-platform/mac/intl.properties7
-rw-r--r--l10n-bg/toolkit/chrome/global-platform/mac/platformKeys.properties34
-rw-r--r--l10n-bg/toolkit/chrome/global-platform/unix/intl.properties7
-rw-r--r--l10n-bg/toolkit/chrome/global-platform/unix/platformKeys.properties34
-rw-r--r--l10n-bg/toolkit/chrome/global-platform/win/intl.properties7
-rw-r--r--l10n-bg/toolkit/chrome/global-platform/win/platformKeys.properties34
-rw-r--r--l10n-bg/toolkit/chrome/global/aboutStudies.properties33
-rw-r--r--l10n-bg/toolkit/chrome/global/autocomplete.properties9
-rw-r--r--l10n-bg/toolkit/chrome/global/browser.properties7
-rw-r--r--l10n-bg/toolkit/chrome/global/commonDialogs.properties43
-rw-r--r--l10n-bg/toolkit/chrome/global/contentAreaCommands.properties22
-rw-r--r--l10n-bg/toolkit/chrome/global/dialog.properties12
-rw-r--r--l10n-bg/toolkit/chrome/global/extensions.properties27
-rw-r--r--l10n-bg/toolkit/chrome/global/fallbackMenubar.properties8
-rw-r--r--l10n-bg/toolkit/chrome/global/filepicker.properties18
-rw-r--r--l10n-bg/toolkit/chrome/global/intl.css11
-rw-r--r--l10n-bg/toolkit/chrome/global/intl.properties43
-rw-r--r--l10n-bg/toolkit/chrome/global/keys.properties78
-rw-r--r--l10n-bg/toolkit/chrome/global/narrate.properties14
-rw-r--r--l10n-bg/toolkit/chrome/global/printdialog.properties53
-rw-r--r--l10n-bg/toolkit/chrome/global/resetProfile.properties14
-rw-r--r--l10n-bg/toolkit/chrome/global/viewSource.properties16
-rw-r--r--l10n-bg/toolkit/chrome/global/wizard.properties8
-rw-r--r--l10n-bg/toolkit/chrome/mozapps/downloads/downloads.properties6
-rw-r--r--l10n-bg/toolkit/chrome/mozapps/downloads/unknownContentType.properties18
-rw-r--r--l10n-bg/toolkit/chrome/mozapps/profile/profileSelection.properties55
-rw-r--r--l10n-bg/toolkit/chrome/mozapps/update/updates.properties44
-rw-r--r--l10n-bg/toolkit/chrome/passwordmgr/passwordmgr.properties62
-rw-r--r--l10n-bg/toolkit/chrome/places/places.properties33
-rw-r--r--l10n-bg/toolkit/crashreporter/aboutcrashes.ftl31
-rw-r--r--l10n-bg/toolkit/crashreporter/crashreporter.ini60
-rw-r--r--l10n-bg/toolkit/services/accounts.ftl8
-rw-r--r--l10n-bg/toolkit/toolkit/about/aboutAbout.ftl9
-rw-r--r--l10n-bg/toolkit/toolkit/about/aboutAddons.ftl471
-rw-r--r--l10n-bg/toolkit/toolkit/about/aboutCompat.ftl17
-rw-r--r--l10n-bg/toolkit/toolkit/about/aboutGlean.ftl3
-rw-r--r--l10n-bg/toolkit/toolkit/about/aboutHttpsOnlyError.ftl31
-rw-r--r--l10n-bg/toolkit/toolkit/about/aboutLogging.ftl17
-rw-r--r--l10n-bg/toolkit/toolkit/about/aboutMozilla.ftl3
-rw-r--r--l10n-bg/toolkit/toolkit/about/aboutNetworking.ftl54
-rw-r--r--l10n-bg/toolkit/toolkit/about/aboutPerformance.ftl67
-rw-r--r--l10n-bg/toolkit/toolkit/about/aboutPlugins.ftl42
-rw-r--r--l10n-bg/toolkit/toolkit/about/aboutProcesses.ftl62
-rw-r--r--l10n-bg/toolkit/toolkit/about/aboutProfiles.ftl74
-rw-r--r--l10n-bg/toolkit/toolkit/about/aboutReader.ftl50
-rw-r--r--l10n-bg/toolkit/toolkit/about/aboutRights.ftl36
-rw-r--r--l10n-bg/toolkit/toolkit/about/aboutServiceWorkers.ftl40
-rw-r--r--l10n-bg/toolkit/toolkit/about/aboutSupport.ftl311
-rw-r--r--l10n-bg/toolkit/toolkit/about/aboutTelemetry.ftl117
-rw-r--r--l10n-bg/toolkit/toolkit/about/aboutThirdParty.ftl3
-rw-r--r--l10n-bg/toolkit/toolkit/about/aboutWebauthn.ftl3
-rw-r--r--l10n-bg/toolkit/toolkit/about/aboutWebrtc.ftl197
-rw-r--r--l10n-bg/toolkit/toolkit/about/aboutWindowsMessages.ftl3
-rw-r--r--l10n-bg/toolkit/toolkit/about/abuseReports.ftl29
-rw-r--r--l10n-bg/toolkit/toolkit/about/certviewer.ftl21
-rw-r--r--l10n-bg/toolkit/toolkit/about/config.ftl53
-rw-r--r--l10n-bg/toolkit/toolkit/about/url-classifier.ftl58
-rw-r--r--l10n-bg/toolkit/toolkit/branding/accounts.ftl7
-rw-r--r--l10n-bg/toolkit/toolkit/branding/brandings.ftl45
-rw-r--r--l10n-bg/toolkit/toolkit/contentanalysis/contentanalysis.ftl3
-rw-r--r--l10n-bg/toolkit/toolkit/downloads/downloadUI.ftl51
-rw-r--r--l10n-bg/toolkit/toolkit/downloads/downloadUtils.ftl106
-rw-r--r--l10n-bg/toolkit/toolkit/featuregates/features.ftl13
-rw-r--r--l10n-bg/toolkit/toolkit/formautofill/formAutofill.ftl16
-rw-r--r--l10n-bg/toolkit/toolkit/global/alert.ftl8
-rw-r--r--l10n-bg/toolkit/toolkit/global/appPicker.ftl10
-rw-r--r--l10n-bg/toolkit/toolkit/global/browser-utils.ftl3
-rw-r--r--l10n-bg/toolkit/toolkit/global/commonDialog.ftl10
-rw-r--r--l10n-bg/toolkit/toolkit/global/contextual-identity.ftl29
-rw-r--r--l10n-bg/toolkit/toolkit/global/cookieBannerHandling.ftl3
-rw-r--r--l10n-bg/toolkit/toolkit/global/createProfileWizard.ftl53
-rw-r--r--l10n-bg/toolkit/toolkit/global/cspErrors.ftl32
-rw-r--r--l10n-bg/toolkit/toolkit/global/datepicker.ftl3
-rw-r--r--l10n-bg/toolkit/toolkit/global/datetimebox.ftl39
-rw-r--r--l10n-bg/toolkit/toolkit/global/extensionPermissions.ftl31
-rw-r--r--l10n-bg/toolkit/toolkit/global/extensions.ftl95
-rw-r--r--l10n-bg/toolkit/toolkit/global/handlerDialog.ftl45
-rw-r--r--l10n-bg/toolkit/toolkit/global/htmlForm.ftl14
-rw-r--r--l10n-bg/toolkit/toolkit/global/mozCard.ftl3
-rw-r--r--l10n-bg/toolkit/toolkit/global/mozFiveStar.ftl9
-rw-r--r--l10n-bg/toolkit/toolkit/global/mozMessageBar.ftl3
-rw-r--r--l10n-bg/toolkit/toolkit/global/mozSupportLink.ftl5
-rw-r--r--l10n-bg/toolkit/toolkit/global/notification.ftl9
-rw-r--r--l10n-bg/toolkit/toolkit/global/popupnotification.ftl10
-rw-r--r--l10n-bg/toolkit/toolkit/global/processTypes.ftl45
-rw-r--r--l10n-bg/toolkit/toolkit/global/profileDowngrade.ftl17
-rw-r--r--l10n-bg/toolkit/toolkit/global/profileSelection.ftl36
-rw-r--r--l10n-bg/toolkit/toolkit/global/resetProfile.ftl13
-rw-r--r--l10n-bg/toolkit/toolkit/global/resistFingerPrinting.ftl6
-rw-r--r--l10n-bg/toolkit/toolkit/global/run-from-dmg.ftl19
-rw-r--r--l10n-bg/toolkit/toolkit/global/tabprompts.ftl13
-rw-r--r--l10n-bg/toolkit/toolkit/global/textActions.ftl48
-rw-r--r--l10n-bg/toolkit/toolkit/global/timepicker.ftl3
-rw-r--r--l10n-bg/toolkit/toolkit/global/tree.ftl6
-rw-r--r--l10n-bg/toolkit/toolkit/global/unknownContentType.ftl42
-rw-r--r--l10n-bg/toolkit/toolkit/global/videocontrols.ftl65
-rw-r--r--l10n-bg/toolkit/toolkit/global/wizard.ftl37
-rw-r--r--l10n-bg/toolkit/toolkit/intl/languageNames.ftl211
-rw-r--r--l10n-bg/toolkit/toolkit/intl/regionNames.ftl275
-rw-r--r--l10n-bg/toolkit/toolkit/main-window/autocomplete.ftl14
-rw-r--r--l10n-bg/toolkit/toolkit/main-window/findbar.ftl76
-rw-r--r--l10n-bg/toolkit/toolkit/neterror/certError.ftl137
-rw-r--r--l10n-bg/toolkit/toolkit/neterror/netError.ftl152
-rw-r--r--l10n-bg/toolkit/toolkit/neterror/nsserrors.ftl350
-rw-r--r--l10n-bg/toolkit/toolkit/passwordmgr/passwordmgr.ftl23
-rw-r--r--l10n-bg/toolkit/toolkit/payments/payments.ftl18
-rw-r--r--l10n-bg/toolkit/toolkit/pdfviewer/viewer.ftl247
-rw-r--r--l10n-bg/toolkit/toolkit/pictureinpicture/pictureinpicture.ftl26
-rw-r--r--l10n-bg/toolkit/toolkit/preferences/preferences.ftl37
-rw-r--r--l10n-bg/toolkit/toolkit/printing/printDialogs.ftl112
-rw-r--r--l10n-bg/toolkit/toolkit/printing/printPreview.ftl60
-rw-r--r--l10n-bg/toolkit/toolkit/printing/printUI.ftl130
-rw-r--r--l10n-bg/toolkit/toolkit/reportBrokenSite/reportBrokenSite.ftl3
-rw-r--r--l10n-bg/toolkit/toolkit/updates/backgroundupdate.ftl5
-rw-r--r--l10n-bg/toolkit/toolkit/updates/elevation.ftl14
-rw-r--r--l10n-bg/toolkit/toolkit/updates/history.ftl29
328 files changed, 466616 insertions, 0 deletions
diff --git a/l10n-bg/browser/branding/official/brand.ftl b/l10n-bg/browser/branding/official/brand.ftl
new file mode 100644
index 0000000000..b969c357dc
--- /dev/null
+++ b/l10n-bg/browser/branding/official/brand.ftl
@@ -0,0 +1,39 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Firefox Brand
+##
+## Firefox must be treated as a brand, and kept in English.
+## It cannot be:
+## - Declined to adapt to grammatical case.
+## - Transliterated.
+## - Translated.
+##
+## Reference: https://www.mozilla.org/styleguide/communications/translation/
+
+## Firefox and Mozilla Brand
+##
+## Firefox and Mozilla must be treated as a brand.
+##
+## They cannot be:
+## - Transliterated.
+## - Translated.
+##
+## Declension should be avoided where possible, leaving the original
+## brand unaltered in prominent UI positions.
+##
+## For further details, consult:
+## https://mozilla-l10n.github.io/styleguides/mozilla_general/#brands-copyright-and-trademark
+
+-brand-shorter-name = Firefox
+-brand-short-name = Firefox
+-brand-shortcut-name = Firefox
+
+-brand-full-name = Mozilla Firefox
+# This brand name can be used in messages where the product name needs to
+# remain unchanged across different versions (Nightly, Beta, etc.).
+-brand-product-name = Firefox
+-vendor-short-name = Mozilla
+trademarkInfo = Firefox и логотипа на Firefox са търговски марки на Mozilla Foundation.
diff --git a/l10n-bg/browser/branding/official/brand.properties b/l10n-bg/browser/branding/official/brand.properties
new file mode 100644
index 0000000000..9d6a612125
--- /dev/null
+++ b/l10n-bg/browser/branding/official/brand.properties
@@ -0,0 +1,8 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+brandShorterName=Firefox
+brandShortName=Firefox
+brandFullName=Mozilla Firefox
+
diff --git a/l10n-bg/browser/browser/aboutDialog.ftl b/l10n-bg/browser/browser/aboutDialog.ftl
new file mode 100644
index 0000000000..2d6ba14ec8
--- /dev/null
+++ b/l10n-bg/browser/browser/aboutDialog.ftl
@@ -0,0 +1,82 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+aboutDialog-title =
+ .title = Относно { -brand-full-name }
+
+releaseNotes-link = Новото в това издание
+
+update-checkForUpdatesButton =
+ .label = Проверка за обновяване
+ .accesskey = П
+
+update-updateButton =
+ .label = Рестарт за обновяване на { -brand-shorter-name }
+ .accesskey = Р
+
+update-checkingForUpdates = Проверка за обновяване…
+
+## Variables:
+## $transfer (string) - Transfer progress.
+
+settings-update-downloading = <img data-l10n-name="icon"/>Изтегляне на обновяването – <label data-l10n-name="download-status">{ $transfer }</label>
+aboutdialog-update-downloading = Изтегляне на обновяване – <label data-l10n-name="download-status">{ $transfer }</label>
+
+##
+
+update-applying = Прилагане на обновяването…
+
+update-failed = Обновяването е неуспешно. <label data-l10n-name="failed-link">Изтегляне на последното издание</label>
+update-failed-main = Обновяването е неуспешно. <a data-l10n-name="failed-link-main">Изтегляне на последното издание</a>
+
+update-adminDisabled = Обновяванията са изключени от вашия системен администратор
+update-noUpdatesFound = Изданието е последното на { -brand-short-name }
+aboutdialog-update-checking-failed = Невъзможна проверка за обновявания.
+update-otherInstanceHandlingUpdates = Друг екземпляр на { -brand-short-name } е започнал обновяване
+
+## Variables:
+## $displayUrl (String): URL to page with download instructions. Example: www.mozilla.org/firefox/nightly/
+
+aboutdialog-update-manual-with-link = Обновяванията са налични на <label data-l10n-name="manual-link">{ $displayUrl }</label>
+settings-update-manual-with-link = Обновяванията са налични на <a data-l10n-name="manual-link">{ $displayUrl }</a>
+
+update-unsupported = Не може повече да обновявате тази система. <label data-l10n-name="unsupported-link">Научете повече</label>
+
+update-restarting = Рестартиране…
+
+update-internal-error2 = Проверката за обновяване не е извършена поради вътрешна грешка. Новите издания са достъпно на <label data-l10n-name="manual-link">{ $displayUrl }</label>
+
+##
+
+# Variables:
+# $channel (String): description of the update channel (e.g. "release", "beta", "nightly" etc.)
+aboutdialog-channel-description = Канал за обновяване <label data-l10n-name="current-channel">{ $channel }</label>.
+
+warningDesc-version = Това е изпитателно издание на { -brand-short-name } и може да е нестабилно.
+
+aboutdialog-help-user = Помощ за { -brand-product-name }
+aboutdialog-submit-feedback = Обратна връзка
+
+community-exp = <label data-l10n-name="community-exp-mozillaLink">{ -vendor-short-name }</label> е <label data-l10n-name="community-exp-creditsLink">глобална, сплотена общност</label>, работеща за една отворена и общодостъпна Мрежа.
+
+community-2 = { -brand-short-name } е разработен от <label data-l10n-name="community-mozillaLink">{ -vendor-short-name }</label>, <label data-l10n-name="community-creditsLink">глобална, сплотена общност</label>, работеща за една отворена и общодостъпна Мрежа.
+
+helpus = Искате да помогнете? <label data-l10n-name="helpus-donateLink">Направете дарение</label> или <label data-l10n-name="helpus-getInvolvedLink">се включете и вие!</label>
+
+bottomLinks-license = Лицензна информация
+bottomLinks-rights = Права на крайния потребител
+bottomLinks-privacy = Политика на поверителност
+
+# Example of resulting string: 66.0.1 (64-bit)
+# Variables:
+# $version (String): version of Firefox, e.g. 66.0.1
+# $bits (Number): bits of the architecture (32 or 64)
+aboutDialog-version = { $version } ({ $bits }-бита)
+
+# Example of resulting string: 66.0a1 (2019-01-16) (64-bit)
+# Variables:
+# $version (String): version of Firefox for Nightly builds, e.g. 66.0a1
+# $isodate (String): date in ISO format, e.g. 2019-01-16
+# $bits (Number): bits of the architecture (32 or 64)
+aboutDialog-version-nightly = { $version } ({ $isodate }) ({ $bits }-бита)
diff --git a/l10n-bg/browser/browser/aboutLogins.ftl b/l10n-bg/browser/browser/aboutLogins.ftl
new file mode 100644
index 0000000000..e2212803c3
--- /dev/null
+++ b/l10n-bg/browser/browser/aboutLogins.ftl
@@ -0,0 +1,441 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# NOTE: New strings should use the about-logins- prefix.
+
+about-logins-page-title = Регистрации и пароли
+about-logins-login-filter =
+ .placeholder = Търсене на влизания
+ .key = F
+create-new-login-button =
+ .title = Нова регистрация
+about-logins-page-title-name = Пароли
+about-logins-login-filter2 =
+ .placeholder = Търсене на пароли
+ .key = F
+create-login-button =
+ .title = Добавяне на парола
+fxaccounts-sign-in-text = Вземете паролите си на всички ваши устройства
+fxaccounts-sign-in-sync-button = Вписване в Sync
+fxaccounts-avatar-button =
+ .title = Управление на сметката
+
+## The ⋯ menu that is in the top corner of the page
+
+menu =
+ .title = Отваря менюто
+# This menuitem is only visible on Windows and macOS
+about-logins-menu-menuitem-import-from-another-browser = Внасяне от друг мрежов четец…
+about-logins-menu-menuitem-import-from-a-file = Внасяне от файл…
+about-logins-menu-menuitem-export-logins = Изнасяне на регистрации…
+about-logins-menu-menuitem-remove-all-logins = Премахване на всички регистрации…
+about-logins-menu-menuitem-export-logins2 = Изнасяне на пароли…
+about-logins-menu-menuitem-remove-all-logins2 = Премахване на всички пароли…
+menu-menuitem-preferences =
+ { PLATFORM() ->
+ [windows] Настройки
+ *[other] Настройки
+ }
+about-logins-menu-menuitem-help = Помощ
+
+## Login List
+
+login-list =
+ .aria-label = Регистрации, отговарящи на търсеното
+# Variables
+# $count (number) - Number of logins
+login-list-count =
+ { $count ->
+ [one] { $count } регистрация
+ *[other] { $count } регистрации
+ }
+# Variables
+# $count (number) - Number of filtered logins
+# $total (number) - Total number of logins
+login-list-filtered-count =
+ { $total ->
+ [one] { $count } от { $total } влизане
+ *[other] { $count } от { $total } влизания
+ }
+# Variables
+# $count (number) - Number of logins
+login-list-count2 =
+ { $count ->
+ [one] { $count } парола
+ *[other] { $count } пароли
+ }
+# Variables
+# $count (number) - Number of filtered logins
+# $total (number) - Total number of logins
+login-list-filtered-count2 =
+ { $total ->
+ [one] { $count } от { $total } парола
+ *[other] { $count } от { $total } пароли
+ }
+login-list-sort-label-text = Подреждане по:
+login-list-name-option = Име (A-Z)
+login-list-name-reverse-option = Име (Z-A)
+login-list-username-option = Име (А-Я)
+login-list-username-reverse-option = Име (Я-А)
+about-logins-login-list-alerts-option = Предупреждения
+login-list-last-changed-option = Последна промяна
+login-list-last-used-option = Последно използване
+login-list-intro-title = Няма намерени регистрации
+login-list-intro-title2 = Няма запазени пароли
+login-list-intro-description = Като запазите парола в { -brand-product-name }, тя ще се покаже тук.
+about-logins-login-list-empty-search-title = Няма намерени регистрации
+about-logins-login-list-empty-search-title2 = Няма намерени пароли
+about-logins-login-list-empty-search-description = Няма резултати, отговарящи на търсенето.
+login-list-item-title-new-login = Нова регистрация
+login-list-item-subtitle-new-login = Въведете данните за вход
+login-list-item-title-new-login2 = Добаяне на парола
+login-list-item-subtitle-missing-username = (без потребителско име)
+about-logins-list-item-breach-icon =
+ .title = Взломена страница
+about-logins-list-item-vulnerable-password-icon =
+ .title = Уязвима парола
+about-logins-list-section-breach = Взломени страници
+about-logins-list-section-vulnerable = Уязвими пароли
+about-logins-list-section-nothing = Няма предупреждение
+about-logins-list-section-today = Днес
+about-logins-list-section-yesterday = Вчера
+about-logins-list-section-week = Последните 7 дни
+
+## Introduction screen
+
+about-logins-login-intro-heading-logged-out2 = Търсите запазените си регистрации? Включете синхронизирането или ги внесете.
+about-logins-login-intro-heading-logged-in = Не са намерени синхронизирани регистрации.
+login-intro-description = Ако сте запазили данните си за вход в { -brand-product-name } на друго устройство, ето как да ги вземете тук:
+login-intro-instructions-fxa = Създайте или влезте в своята { -fxaccount-brand-name } на устройството, където са запазени вашите данни за вход
+about-logins-login-intro-heading-message = Запазете паролите си на безопасно място
+login-intro-description2 = Всички пароли, които запазвате в { -brand-product-name }, са шифровани. Освен това следим за пробиви в сигурността и, ако сте засегнати, ви предупреждаваме. <a data-l10n-name="breach-alert-link">Научете повече</a>
+login-intro-instructions-fxa2 = Създайте или влезте в профила на устройството, където са запазени вашите данни за вход
+login-intro-instructions-fxa-settings = Отворете "Настройки" > Sync > Включване на синхронизиране… Изберете отметката за регистрации и пароли.
+login-intro-instructions-fxa-passwords-help = Посетете <a data-l10n-name="passwords-help-link">поддръжка на пароли</a> за помощ.
+about-logins-intro-browser-only-import = Ако вашите регистрации са запазени в друг мрежов четец, можете да ги <a data-l10n-name="import-link">внесете във { -brand-product-name }</a>.
+about-logins-intro-import2 = Ако вашите данни за вписване се съхраняват извън { -brand-product-name }, можете <a data-l10n-name="import-browser-link">да ги внесете от друг четец</a> или <a data-l10n-name="import-file-link">от файл</a>
+
+## Login
+
+login-item-new-login-title = Нова регистрация
+# Header for adding a password
+about-logins-login-item-new-login-title = Добавяне на парола
+login-item-edit-button = Променяне
+about-logins-login-item-remove-button = Премахване
+login-item-origin-label = Адрес на страницата
+login-item-tooltip-message = Уверете се, че съвпада с точния адрес на страницата, в която влизате.
+login-item-origin =
+ .placeholder = https://www.example.com
+login-item-username-label = Потребителско име
+about-logins-login-item-username =
+ .placeholder = (без потребителско име)
+login-item-copy-username-button-text = Копиране
+login-item-copied-username-button-text = Копирано!
+login-item-password-label = Парола
+login-item-password-reveal-checkbox =
+ .aria-label = Показване на паролата
+login-item-copy-password-button-text = Копиране
+login-item-copied-password-button-text = Копирано!
+login-item-save-changes-button = Запазване
+about-logins-login-item-save-changes-button = Запазване
+login-item-save-new-button = Запазване
+login-item-cancel-button = Отказ
+
+## The date is displayed in a timeline showing the password evolution.
+## A label is displayed under the date to describe the type of change.
+## (e.g. updated, created, etc.)
+
+# Variables
+# $datetime (date) - Event date
+login-item-timeline-point-date = { DATETIME($datetime, day: "numeric", month: "short", year: "numeric") }
+login-item-timeline-action-created = Създадена
+login-item-timeline-action-updated = Обновена
+login-item-timeline-action-used = Използвана
+
+## OS Authentication dialog
+
+about-logins-os-auth-dialog-caption = { -brand-full-name }
+
+## The macOS strings are preceded by the operating system with "Firefox is trying to "
+## and includes subtitle of "Enter password for the user "xxx" to allow this." These
+## notes are only valid for English. Please test in your respected locale.
+
+# This message can be seen when attempting to edit a login in about:logins on Windows.
+about-logins-edit-login-os-auth-dialog-message-win = За да промените регистрацията, въведете данните си за вход в Windows. Това се прави с цел защита на регистрациите.
+# This message can be seen when attempting to edit a login in about:logins
+# On MacOS, only provide the reason that account verification is needed. Do not put a complete sentence here.
+about-logins-edit-login-os-auth-dialog-message-macosx = прави промени в данни за вход
+# This message can be seen when attempting to edit a login in about:logins
+# On MacOS, only provide the reason that account verification is needed. Do not put a complete sentence here.
+about-logins-edit-login-os-auth-dialog-message2-macosx = променя запазена парола
+# This message can be seen when attempting to reveal a password in about:logins on Windows.
+about-logins-reveal-password-os-auth-dialog-message-win = За да видите паролата, въведете данните си за вход в Windows. Това се прави с цел защита на регистрациите.
+# This message can be seen when attempting to reveal a password in about:logins
+# On MacOS, only provide the reason that account verification is needed. Do not put a complete sentence here.
+about-logins-reveal-password-os-auth-dialog-message-macosx = показва запазената парола
+# This message can be seen when attempting to copy a password in about:logins on Windows.
+about-logins-copy-password-os-auth-dialog-message-win = За да копирате паролата, въведете данните си за вход в Windows. Това се прави с цел защита на регистрациите.
+# This message can be seen when attempting to copy a password in about:logins
+# On MacOS, only provide the reason that account verification is needed. Do not put a complete sentence here.
+about-logins-copy-password-os-auth-dialog-message-macosx = копира запазена парола
+# This message can be seen when attempting to export a password in about:logins on Windows.
+about-logins-export-password-os-auth-dialog-message-win = За да изнесете регистрациите, въведете данните си за вход в Windows. Това се прави с цел защита на регистрациите.
+# This message can be seen when attempting to export a password in about:logins
+# On MacOS, only provide the reason that account verification is needed. Do not put a complete sentence here.
+about-logins-export-password-os-auth-dialog-message-macosx = изнасяне на запазени регистрации и пароли
+# This message can be seen when attempting to export a password in about:logins
+# On MacOS, only provide the reason that account verification is needed. Do not put a complete sentence here.
+about-logins-export-password-os-auth-dialog-message2-macosx = изнася забравена парола
+
+## Primary Password notification
+
+about-logins-primary-password-notification-message = Моля, въведете главната си парола, за да видите запазените регистрации и пароли
+master-password-reload-button =
+ .label = Вписване
+ .accesskey = в
+
+## Dialogs
+
+confirmation-dialog-cancel-button = Отказ
+confirmation-dialog-dismiss-button =
+ .title = Отказ
+about-logins-confirm-remove-dialog-title = Изтриване на регистрацията?
+confirm-delete-dialog-message = Действието е необратимо.
+# Title for modal to confirm the removal of one saved password
+about-logins-confirm-delete-dialog-title = Премахване на парола?
+# Message for modal to confirm the removal of one saved password
+about-logins-confirm-delete-dialog-message = Това действие е необратимо.
+about-logins-confirm-remove-dialog-confirm-button = Премахване
+
+## Variables
+## $count (number) - Number of items
+
+about-logins-confirm-remove-all-dialog-confirm-button-label =
+ { $count ->
+ [one] Премахване
+ *[other] Премахване на всички
+ }
+about-logins-confirm-remove-all-dialog-checkbox-label =
+ { $count ->
+ [one] Да, премахване на регистрацията
+ *[other] Да, премахване на регистрациите
+ }
+about-logins-confirm-remove-all-dialog-title =
+ { $count ->
+ [one] Премахване на { $count } регистрация?
+ *[other] Премахване на { $count } регистрации?
+ }
+about-logins-confirm-remove-all-dialog-message =
+ { $count ->
+ [one] Така ще бъде премахната запазената във { -brand-short-name } регистрация и всички известия за пробиви, появяващи се тук. Действието е необратимо.
+ *[other] Така ще бъдат премахнати запазените във { -brand-short-name } регистрации и всички известия за пробиви, появяващи се тук. Действието е необратимо.
+ }
+about-logins-confirm-remove-all-sync-dialog-title =
+ { $count ->
+ [one] Премахване на { $count } регистрация от всички устройства?
+ *[other] Премахване на { $count } регистрации от всички устройства?
+ }
+about-logins-confirm-remove-all-sync-dialog-message =
+ { $count ->
+ [one] Така ще бъде премахната запазената във { -brand-short-name } регистрация от всички устройства, синхронизирани с { -fxaccount-brand-name }. Също и всички известия за пробиви, появяващи се тук. Действието е необратимо.
+ *[other] Така ще бъдат премахнати запазените във { -brand-short-name } регистрации от всички устройства, синхронизирани с { -fxaccount-brand-name }. Също и всички известия за пробиви, появяващи се тук. Действието е необратимо.
+ }
+# Checkbox for modal to confirm the removal of saved passwords
+about-logins-confirm-remove-all-dialog-checkbox-label2 =
+ { $count ->
+ [one] Да, премахване на паролата
+ *[other] Да, премахване на паролите
+ }
+# Title for modal to confirm the removal of all saved passwords when user is NOT synced
+about-logins-confirm-remove-all-dialog-title2 =
+ { $count ->
+ [one] Премахване на { $count } парола?
+ *[other] Премахване на всички { $count } пароли?
+ }
+# Title for modal to confirm the removal of all saved passwords when user IS SYNCED
+about-logins-confirm-remove-all-sync-dialog-title2 =
+ { $count ->
+ [one] Премахване на { $count } регистрация от всички устройства?
+ *[other] Премахване на { $count } регистрации от всички устройства?
+ }
+
+##
+
+about-logins-confirm-export-dialog-title = Изнасяне на регистрации и пароли
+about-logins-confirm-export-dialog-message = Вашите пароли ще бъдат запазени като четим текст (например Лош@Пар0ла), така че всеки, който има достъп до изнесения файл ще може да ги види.
+about-logins-confirm-export-dialog-confirm-button = Изнасяне…
+about-logins-confirm-export-dialog-title2 = Бележка относно изнасянето на пароли
+about-logins-confirm-export-dialog-confirm-button2 = Напред с изнасянето
+about-logins-alert-import-title = Внасянето е завършено
+about-logins-alert-import-message = Подробен отчет за внасянето
+confirm-discard-changes-dialog-title = Отказвате се от промените?
+confirm-discard-changes-dialog-message = Незапазените промени ще бъдат изгубени.
+confirm-discard-changes-dialog-confirm-button = Отхвърляне
+
+## Breach Alert notification
+
+about-logins-breach-alert-title = Пробив в страница
+breach-alert-text = Паролите са изтекли или откраднати от този уебсайт, откакто последно сте обновили данните си за вход. Променете паролата си, за да защитите профила си.
+about-logins-breach-alert-date = Пробивът е станал на { DATETIME($date, day: "numeric", month: "long", year: "numeric") }
+# Variables:
+# $hostname (String) - The hostname of the website associated with the login, e.g. "example.com"
+about-logins-breach-alert-link = Отидете на { $hostname }
+
+## Vulnerable Password notification
+
+about-logins-vulnerable-alert-title = Уязвима парола
+about-logins-vulnerable-alert-text2 = Тази парола е използвана в друг профил, вероятно жертва на изтичане на данни. Преизползването на информация за удостоверяване излага на риск всички ваши профили. Сменете паролата си.
+# Variables:
+# $hostname (String) - The hostname of the website associated with the login, e.g. "example.com"
+about-logins-vulnerable-alert-link = Към { $hostname }
+about-logins-vulnerable-alert-learn-more-link = Научете повече
+
+## Error Messages
+
+# This is an error message that appears when a user attempts to save
+# a new login that is identical to an existing saved login.
+# Variables:
+# $loginTitle (String) - The title of the website associated with the login.
+about-logins-error-message-duplicate-login-with-link = Запис за { $loginTitle } с това потребителско име вече съществува. <a data-l10n-name="duplicate-link">Преглед на записа.</a>
+# This is a generic error message.
+about-logins-error-message-default = Възникна грешка при опита за запазване на тази парола.
+
+## Login Export Dialog
+
+# Title of the file picker dialog
+about-logins-export-file-picker-title = Изнасяне на регистрации
+# The default file name shown in the file picker when exporting saved logins.
+# This must end in .csv
+about-logins-export-file-picker-default-filename = logins.csv
+# Title of the file picker dialog
+about-logins-export-file-picker-title2 = Изнасяне на пароли от { -brand-short-name }
+# The default file name shown in the file picker when exporting saved logins.
+# This must end in .csv
+about-logins-export-file-picker-default-filename2 = пароли.csv
+about-logins-export-file-picker-export-button = Изнасяне
+# A description for the .csv file format that may be shown as the file type
+# filter by the operating system.
+about-logins-export-file-picker-csv-filter-title =
+ { PLATFORM() ->
+ [macos] Документ на CSV
+ *[other] Файл на CSV
+ }
+
+## Login Import Dialog
+
+# Title of the file picker dialog
+about-logins-import-file-picker-title = Внасяне на регистрации от файл
+# Title of the file picker dialog
+about-logins-import-file-picker-title2 = Внасяне на пароли към { -brand-short-name }
+about-logins-import-file-picker-import-button = Внасяне
+# A description for the .csv file format that may be shown as the file type
+# filter by the operating system.
+about-logins-import-file-picker-csv-filter-title =
+ { PLATFORM() ->
+ [macos] Документ на CSV
+ *[other] Файл на CSV
+ }
+# A description for the .tsv file format that may be shown as the file type
+# filter by the operating system. TSV is short for 'tab separated values'.
+about-logins-import-file-picker-tsv-filter-title =
+ { PLATFORM() ->
+ [macos] Документ на TSV
+ *[other] Файл на TSV
+ }
+
+##
+## Variables:
+## $count (number) - The number of affected elements
+
+about-logins-import-dialog-title = Внасянето е завършено
+about-logins-import-dialog-items-added =
+ { $count ->
+ *[other] <span>Добавени регистрации:</span> <span data-l10n-name="count">{ $count }</span>
+ }
+about-logins-import-dialog-items-modified =
+ { $count ->
+ *[other] <span>Обновени регистрации:</span> <span data-l10n-name="count">{ $count }</span>
+ }
+about-logins-import-dialog-items-no-change =
+ { $count ->
+ *[other] <span>Дублиращи се регистрации:</span> <span data-l10n-name="count">{ $count }</span><span data-l10n-name="meta">(не са внесени)</span>
+ }
+about-logins-import-dialog-items-added2 =
+ { $count ->
+ [one] <span>Добавена парола:</span> <span data-l10n-name="count">{ $count }</span>
+ *[other] <span>Добавени пароли:</span> <span data-l10n-name="count">{ $count }</span>
+ }
+about-logins-import-dialog-items-error =
+ { $count ->
+ [one] <span>Грешки:</span> <span data-l10n-name="count">{ $count }</span><span data-l10n-name="meta">(не внесена)</span>
+ *[other] <span>Грешки:</span> <span data-l10n-name="count">{ $count }</span><span data-l10n-name="meta">(не внесени)</span>
+ }
+about-logins-import-dialog-done = Готово
+about-logins-import-dialog-error-title = Грешка при внасяне
+about-logins-import-dialog-error-conflicting-values-title = Множество конфликтни стойности за една регистрация
+about-logins-import-dialog-error-conflicting-values-description = Например: множество потребителски имена, пароли, адреси и т.н. за една регистрация.
+about-logins-import-dialog-error-file-format-title = Проблем с формата на файла
+about-logins-import-dialog-error-file-format-description = Неправилна или липсваща заглавна част на колона. Уверете се, че файлът включва колони за потребителско име, парола и адрес.
+about-logins-import-dialog-error-file-permission-title = Грешка при прочитане на файл
+about-logins-import-dialog-error-file-permission-description = { -brand-short-name } няма права за четене върху файла. Променете правата на файла.
+about-logins-import-dialog-error-unable-to-read-title = Грешка при анализ на файл
+about-logins-import-dialog-error-unable-to-read-description = Уверете се, че избраният файл е CSV или TSV.
+about-logins-import-dialog-error-no-logins-imported = Не са внесени регистраци
+about-logins-import-dialog-error-learn-more = Научете повече
+about-logins-import-dialog-error-try-import-again = Опитайте внасянето отново ...
+about-logins-import-dialog-error-cancel = Отказ
+about-logins-import-report-title = Отчет за внасянето
+about-logins-import-report-description = Регистрации и пароли внесени в { -brand-short-name }.
+#
+# Variables:
+# $number (number) - The number of the row
+about-logins-import-report-row-index = Ред { $number }
+about-logins-import-report-row-description-no-change = Дублиращи се: точно съвпадение със съществуваща регистрация
+about-logins-import-report-row-description-modified = Обновени съществуващи регистрации
+about-logins-import-report-row-description-added = Добавени нови регистрации
+about-logins-import-report-row-description-no-change2 = Дублиращи се: точно съвпадение със съществуваща парола
+about-logins-import-report-row-description-modified2 = Обновена съществуваща парола
+about-logins-import-report-row-description-added2 = Добавена е нова парола
+about-logins-import-report-row-description-error = Грешка: Липсващо поле
+
+##
+## Variables:
+## $field (String) - The name of the field from the CSV file for example url, username or password
+
+about-logins-import-report-row-description-error-multiple-values = Грешка: Няколко стойности за { $field }
+about-logins-import-report-row-description-error-missing-field = Грешка: Липсва { $field }
+
+##
+## Variables:
+## $count (number) - The number of affected elements
+
+about-logins-import-report-added =
+ { $count ->
+ *[other] <div data-l10n-name="count">{ $count }</div> <div data-l10n-name="details">Добавени нови регистрации</div>
+ }
+about-logins-import-report-modified =
+ { $count ->
+ *[other] <div data-l10n-name="count">{ $count }</div> <div data-l10n-name="details">Обновени съществуващи регистрации</div>
+ }
+about-logins-import-report-no-change =
+ { $count ->
+ *[other] <div data-l10n-name="count">{ $count }</div> <div data-l10n-name="details">Дублиращи се регистрации</div> <div data-l10n-name="not-imported">(не са внесени)</div>
+ }
+about-logins-import-report-added2 =
+ { $count ->
+ [one] <div data-l10n-name="count">{ $count }</div> <div data-l10n-name="details">Добавена парола</div>
+ *[other] <div data-l10n-name="count">{ $count }</div> <div data-l10n-name="details">Добавени пароли</div>
+ }
+about-logins-import-report-no-change2 =
+ { $count ->
+ [one] <div data-l10n-name="count">{ $count }</div> <div data-l10n-name="details">Дублираща се парола</div> <div data-l10n-name="not-imported">(не е внесена)</div>
+ *[other] <div data-l10n-name="count">{ $count }</div> <div data-l10n-name="details">Дублиращи се пароли</div> <div data-l10n-name="not-imported">(не са внесени)</div>
+ }
+about-logins-import-report-error =
+ { $count ->
+ *[other] <div data-l10n-name="count">{ $count }</div> <div data-l10n-name="details">Грешки</div> <div data-l10n-name="not-imported">(не са внесени)</div>
+ }
+
+## Logins import report page
+
+about-logins-import-report-page-title = Отчет за внасянето
diff --git a/l10n-bg/browser/browser/aboutPocket.ftl b/l10n-bg/browser/browser/aboutPocket.ftl
new file mode 100644
index 0000000000..9b412b92fe
--- /dev/null
+++ b/l10n-bg/browser/browser/aboutPocket.ftl
@@ -0,0 +1,71 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### Pocket button panel strings for about:pocket-saved, about:pocket-signup, and about:pocket-home
+
+
+## about:pocket-saved panel
+
+# Placeholder text for tag input
+pocket-panel-saved-add-tags =
+ .placeholder = Добавяне на етикети
+pocket-panel-saved-error-generic = Получи се грешка при опит за запис в { -pocket-brand-name }.
+pocket-panel-saved-error-tag-length = Етикетите могат да са до 25 знака
+pocket-panel-saved-error-only-links = Могат да бъдат запазвани само връзки
+pocket-panel-saved-error-not-saved = Страницата не е запазена
+pocket-panel-saved-error-no-internet = За да запазвате в { -pocket-brand-name } трябва да сте свързани към интернет. Свържете се към интернет и опитайте отново.
+pocket-panel-saved-error-remove = Възникна грешка при опита да бъде премахната страницата.
+pocket-panel-saved-page-removed = Страницата е премахната
+pocket-panel-saved-page-saved = Запазена в { -pocket-brand-name }
+pocket-panel-saved-page-saved-b = Запазено в { -pocket-brand-name }!
+pocket-panel-saved-processing-remove = Премахване на страница…
+pocket-panel-saved-removed-updated = Страницата е премахната от запазените
+pocket-panel-saved-processing-tags = Добавяне на етикети…
+pocket-panel-saved-remove-page = Премахване на страница
+pocket-panel-saved-save-tags = Запазване
+pocket-panel-saved-saving-tags = Запазване…
+pocket-panel-saved-suggested-tags = Предложени етикети
+pocket-panel-saved-tags-saved = Етикетите са добавени
+# This is displayed above a field where the user can add tags
+pocket-panel-signup-add-tags = Добавяне на етикети:
+
+## about:pocket-signup panel
+
+pocket-panel-signup-already-have = Вече сте потребител на { -pocket-brand-name }?
+pocket-panel-signup-learn-more = Научете повече
+pocket-panel-signup-login = Вписване
+pocket-panel-signup-signup-email = Регистриране с електронна поща
+pocket-panel-signup-signup-cta = Регистрирайте се в { -pocket-brand-name }. Безплатно е.
+pocket-panel-signup-signup-firefox = Регистриране с { -brand-product-name }
+pocket-panel-signup-tagline = Запазвайте статии и видео от { -brand-product-name } и можете да ги преглеждате в { -pocket-brand-name } на всяко устройство по всяко време.
+pocket-panel-signup-tagline-story-one = Използвайте бутона на { -pocket-brand-name }, за да запазите статия, видео или страница от { -brand-product-name }.
+pocket-panel-signup-tagline-story-two = Преглеждайте в { -pocket-brand-name } на всяко устройство и по всяко време.
+pocket-panel-signup-cta-a-fix = Вашият бутон за запазване за интернет
+pocket-panel-signup-cta-b-updated = Щракнете върху бутона на { -pocket-brand-name }, за да запазите статии, видео и препратки. Преглеждайте запазените на всяко устройство и по всяко време.
+pocket-panel-signup-cta-b-short = Щракнете върху бутона на { -pocket-brand-name }, за да запазите статии, видео и препратки.
+pocket-panel-signup-cta-c-updated = Преглеждайте запазените на всяко устройство и по всяко време.
+
+## about:pocket-home panel
+
+pocket-panel-home-welcome-back = Добре дошли
+pocket-panel-home-paragraph = Можете да използвате { -pocket-brand-name } за да разглеждате и запазвате страници, статии, видео и други или да се върнете към това което сте чели.
+pocket-panel-home-explore-popular-topics = Преглед на популярни теми
+pocket-panel-home-discover-more = Открийте повече
+pocket-panel-home-explore-more = Разгледайте
+pocket-panel-home-most-recent-saves = Тук са последните ви запазени неща:
+pocket-panel-home-most-recent-saves-loading = Последно запазените се зареждат…
+pocket-panel-home-new-user-cta = Щракнете върху бутона на { -pocket-brand-name }, за да запазите статии, видео и препратки.
+pocket-panel-home-new-user-message = Вижте какво сте запазили последно.
+
+## Pocket panel header component
+
+pocket-panel-header-my-saves = Преглед на Моите запазени
+pocket-panel-header-sign-in = Вписване
+
+## Pocket panel buttons
+
+pocket-panel-button-show-all = Показване на всички
+pocket-panel-button-activate = Включете { -pocket-brand-name } във { -brand-product-name }
+pocket-panel-button-remove = Премахване
diff --git a/l10n-bg/browser/browser/aboutPolicies.ftl b/l10n-bg/browser/browser/aboutPolicies.ftl
new file mode 100644
index 0000000000..aa288623e9
--- /dev/null
+++ b/l10n-bg/browser/browser/aboutPolicies.ftl
@@ -0,0 +1,17 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+about-policies-title = Ведомствени ограничения
+
+# 'Active' is used to describe the policies that are currently active
+active-policies-tab = Наложени
+errors-tab = Грешки
+documentation-tab = Документация
+
+no-specified-policies-message = Услугата за ведомствени политики е включена, но няма зададени политики.
+inactive-message = Услугата за ведомствени политики е изключена.
+
+policy-name = Ограничение
+policy-value = Стойност
+policy-errors = Грешки във файла с политиките
diff --git a/l10n-bg/browser/browser/aboutPrivateBrowsing.ftl b/l10n-bg/browser/browser/aboutPrivateBrowsing.ftl
new file mode 100644
index 0000000000..17e3d917a4
--- /dev/null
+++ b/l10n-bg/browser/browser/aboutPrivateBrowsing.ftl
@@ -0,0 +1,73 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+privatebrowsingpage-open-private-window-label = Отваряне на поверителен прозорец
+ .accesskey = О
+about-private-browsing-search-placeholder = Търсене в интернет
+about-private-browsing-info-title = Вие сте в поверителен прозорец
+about-private-browsing-search-btn =
+ .title = Търсене в интернет
+# Variables
+# $engine (String): the name of the user's default search engine
+about-private-browsing-handoff =
+ .title = Търсене с { $engine } или въвеждане на адрес
+about-private-browsing-handoff-no-engine =
+ .title = Търсете или въведете адрес
+# Variables
+# $engine (String): the name of the user's default search engine
+about-private-browsing-handoff-text = Търсете с { $engine } или въведете адрес
+about-private-browsing-handoff-text-no-engine = Търсете или въведете адрес
+about-private-browsing-not-private = В момента не сте в поверителен прозорец.
+about-private-browsing-info-description-private-window = Поверителен прозорец: { -brand-short-name } изчиства търсенето и историята на разглеждане, когато затворите всички поверителни прозорци. Това не ви прави анонимни.
+about-private-browsing-info-description-simplified = { -brand-short-name } изчиства търсенето и историята на разглеждане, когато затворите всички поверителни прозорци, но това не ви прави анонимни.
+about-private-browsing-learn-more-link = Научете повече
+about-private-browsing-hide-activity = Скрийте активността и местоположението си навсякъде, където разглеждате
+about-private-browsing-get-privacy = Получавайте защита на поверителността навсякъде, където разглеждате
+about-private-browsing-hide-activity-1 = Скрийте какво разглеждате и местоположението си с { -mozilla-vpn-brand-name }. С едно щракване създавате сигурна връзка, дори в обществени мрежи.
+about-private-browsing-prominent-cta = Останете скрити с { -mozilla-vpn-brand-name }
+about-private-browsing-focus-promo-cta = Изтеглете { -focus-brand-name }
+about-private-browsing-focus-promo-header = { -focus-brand-name }: Поверително разглеждане в движение
+about-private-browsing-focus-promo-text = Мобилното ни приложение специалното за поверително разглеждане изчиства историята и бисквитките всеки път.
+
+## The following strings will be used for experiments in Fx99 and Fx100
+
+about-private-browsing-focus-promo-header-b = Вземете поверителното разглеждане на телефона си
+about-private-browsing-focus-promo-text-b = Използвайте { -focus-brand-name } за онова търсене, което не искате да правите с основния си мобилен четец.
+about-private-browsing-focus-promo-header-c = Следващо ниво поверителност за мобилни устройства
+about-private-browsing-focus-promo-text-c = { -focus-brand-name } изчиства историята всеки път, а също спира реклами и проследяване.
+# This string is the title for the banner for search engine selection
+# in a private window.
+# Variables:
+# $engineName (String) - The engine name that will currently be used for the private window.
+about-private-browsing-search-banner-title = { $engineName } е вашата търсеща машина по подразбиране в поверителните прозорци
+about-private-browsing-search-banner-description =
+ { PLATFORM() ->
+ [windows] За да изберете друга търсеща машина, отидете на <a data-l10n-name="link-options">Настройки</a>
+ *[other] За да изберете друга търсачка, отидете на <a data-l10n-name="link-options">Предпочитания</a>
+ }
+about-private-browsing-search-banner-close-button =
+ .aria-label = Затваряне
+about-private-browsing-promo-close-button =
+ .title = Затваряне
+
+## Strings used in a “pin promotion” message, which prompts users to pin a private window
+
+about-private-browsing-pin-promo-header = Поверително разглеждане с едно движение
+about-private-browsing-pin-promo-link-text =
+ { PLATFORM() ->
+ [macos] Запазване в док-а
+ *[other] Закачане към лентата със задачи
+ }
+about-private-browsing-pin-promo-title = Без запазени бисквитки или история, направо от работния плот. Разглеждайте свободно!
+
+## Strings used in a promotion message for cookie banner reduction
+
+# Simplified version of the headline if the original text doesn't work
+# in your language: `See fewer cookie requests`.
+about-private-browsing-cookie-banners-promo-header = Банерите за бисквитките изчезнаха!
+about-private-browsing-cookie-banners-promo-button = Намаляване на банерите за бисквитки
+about-private-browsing-cookie-banners-promo-message = Нека { -brand-short-name } автоматично отговаря на изскачащите прозорци на бисквитките вместо вас, за да можете да се върнете към разглеждането без разсейване. { -brand-short-name } ще отхвърли всички заявки, ако е възможно.
+
+## Strings for Felt Privacy v1 experiments in 119
+
diff --git a/l10n-bg/browser/browser/aboutRestartRequired.ftl b/l10n-bg/browser/browser/aboutRestartRequired.ftl
new file mode 100644
index 0000000000..683707f99b
--- /dev/null
+++ b/l10n-bg/browser/browser/aboutRestartRequired.ftl
@@ -0,0 +1,10 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+restart-required-title = Необходимо е рестартиране
+restart-required-heading = Рестартирайте и продължете да използвате { -brand-short-name }
+restart-required-intro = Във фонов режим е започнало обновяване на { -brand-short-name }. За да завърши ще трябва да рестартирате.
+window-restoration-info = Прозорците и разделите бързо ще бъдат възстановени, но поверителните не.
+
+restart-button-label = Рестартиране на { -brand-short-name }
diff --git a/l10n-bg/browser/browser/aboutRobots.ftl b/l10n-bg/browser/browser/aboutRobots.ftl
new file mode 100644
index 0000000000..a2986d458f
--- /dev/null
+++ b/l10n-bg/browser/browser/aboutRobots.ftl
@@ -0,0 +1,29 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### These strings are used in the about:robots page, which ties in with the
+### robots theme used in the Firefox 3 Beta 2/3 first run pages.
+### They're just meant to be fun and whimsical, with references to some geeky
+### but well-known robots in movies and books. Be creative with translations!
+
+# Nonsense line from the movie "The Day The Earth Stood Still". No translation needed.
+page-title = Горт! Клаату барада никто!
+# Movie: Logan's Run... Box (cyborg): "Welcome Humans! I am ready for you."
+error-title-text = Добре дошли, хора!
+# Movie: The Day The Earth Stood Still. Spoken by Klaatu.
+error-short-desc-text = Идваме с мир и добри намерения!
+# Various books by Isaac Asimov. http://en.wikipedia.org/wiki/Three_Laws_of_Robotics
+error-long-desc1 = Роботите не могат да наранят човешко същество или чрез бездействие да му причинят вреда.
+# Movie: Blade Runner. Batty: "I've seen things you people wouldn’t believe..."
+error-long-desc2 = Роботите са виждали неща, на които вие хората не бихте повярвали.
+# Book: Hitchhiker’s Guide To The Galaxy. What the Sirius Cybernetics Corporation calls robots.
+error-long-desc3 = Роботите са вашия пластмасов приятел, с който е забавно да си заедно.
+# TV: Futurama. Bender's first line is "Bite my shiny metal ass."
+error-long-desc4 = Роботите имат блестящо метално седалище, което не е за ухапване.
+# TV: Battlestar Galactica (2004 series). From the opening text.
+error-trailer-desc-text = И те имаха план.
+# Book: Hitchhiker's Guide To The Galaxy. Arthur presses a button and it warns him.
+error-try-again = Нов опит
+ .label2 = Моля, не натискайте този бутон отново.
diff --git a/l10n-bg/browser/browser/aboutSessionRestore.ftl b/l10n-bg/browser/browser/aboutSessionRestore.ftl
new file mode 100644
index 0000000000..24aa000a13
--- /dev/null
+++ b/l10n-bg/browser/browser/aboutSessionRestore.ftl
@@ -0,0 +1,51 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+restore-page-tab-title = Възстановяване на сесия
+
+# The title is intended to be apologetic and disarming, expressing dismay
+# and regret that we are unable to restore the session for the user
+restore-page-error-title = Съжаляваме. Не можем да възстановим разделите.
+restore-page-problem-desc = Не можем да възстановим вашата последна сесия. Изберете „Възстановяване на сесия“ за повторен опит.
+restore-page-try-this = Все още ли не можете да възстановите сесията? Причината понякога е у някой раздел. Прегледайте предишните раздели, махнете отметката пред тези, които не ви трябват и отново пробвайте възстановяване.
+
+restore-page-hide-tabs = Скриване на предишните раздели
+restore-page-show-tabs = Показване на предишните раздели
+
+# When tabs are distributed across multiple windows, this message is used as a
+# header above the group of tabs for each window.
+#
+# Variables:
+# $windowNumber: Progressive number associated to each window
+restore-page-window-label = Прозорец №{ $windowNumber }
+
+restore-page-restore-header =
+ .label = Възстановяване
+
+restore-page-list-header =
+ .label = Прозорци и раздели
+
+restore-page-try-again-button =
+ .label = Възстановяване на сесия
+ .accesskey = в
+
+restore-page-close-button =
+ .label = Нова сесия
+ .accesskey = н
+
+## The following strings are used in about:welcomeback
+
+welcome-back-tab-title = Успяхме!
+welcome-back-page-title = Успяхме!
+welcome-back-page-info = { -brand-short-name } е готов.
+
+welcome-back-restore-button =
+ .label = Напред!
+ .accesskey = Н
+
+welcome-back-restore-all-label = Възстановяване на всички прозорци и раздели
+welcome-back-restore-some-label = Възстановяване само на избраните
+
+welcome-back-page-info-link = Добавките и приспособленията ви бяха премахнати, а настройките на уеб-четеца бяха върнати до заводските. <a data-l10n-name="link-more">научете какво още може да направите.</a>, ако това не оправи проблема.
+
diff --git a/l10n-bg/browser/browser/aboutTabCrashed.ftl b/l10n-bg/browser/browser/aboutTabCrashed.ftl
new file mode 100644
index 0000000000..84f35f7c73
--- /dev/null
+++ b/l10n-bg/browser/browser/aboutTabCrashed.ftl
@@ -0,0 +1,22 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+crashed-title = Доклад за срив на раздел
+crashed-close-tab-button = Затваряне на раздела
+crashed-restore-tab-button = Възстановяване
+crashed-restore-all-button = Възстановяване на всички сринали раздели
+crashed-header = Ееее. Разделът току-що се срина.
+crashed-offer-help = Можем да ви помогнем!
+crashed-single-offer-help-message = Изберете { crashed-restore-tab-button } за презареждане на страницата.
+crashed-multiple-offer-help-message = Изберете { crashed-restore-tab-button } или { crashed-restore-all-button } за презареждане на страниците.
+crashed-request-help = Бихте ли ни помогнали?
+crashed-request-help-message = Докладите за сривове ни помагат да откриваме проблеми и да подобряваме { -brand-short-name }.
+crashed-request-report-title = Докладване на раздел
+crashed-send-report-2 = Изпратете автоматичен отчет за срив, за да можем да отстраним проблеми като този
+crashed-comment =
+ .placeholder = Коментар по желание (коментарите са общодостъпни)
+crashed-include-URL-2 = Включване адресите на отворените страници при сриване на { -brand-short-name }
+crashed-report-sent = Докладът за срив е изпратен. Благодарим ви, че помагате да направим { -brand-short-name } по-добър!
+crashed-request-auto-submit-title = Докладване на раздели във фонов режим
+crashed-auto-submit-checkbox-2 = Променяне на настройките, така че докладите за срив на { -brand-short-name } да бъдат изпращани автоматично.
diff --git a/l10n-bg/browser/browser/aboutUnloads.ftl b/l10n-bg/browser/browser/aboutUnloads.ftl
new file mode 100644
index 0000000000..e7902bce38
--- /dev/null
+++ b/l10n-bg/browser/browser/aboutUnloads.ftl
@@ -0,0 +1,36 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### Strings used in about:unloads, allowing users to manage the "tab unloading"
+### feature.
+
+about-unloads-page-title = Освобождаване на памет от раздели
+about-unloads-intro = { -brand-short-name } има способността автоматично да освобождава памет от разделите, за да предотврати срив на приложението поради недостатъчно памет, когато наличната памет в системата намалее. Разделът, от който да бъде освободена памет се определя на базата на множество показатели. Тази страница показва как { -brand-short-name } дава приоритет на разделите и точно от кой раздел ще бъде освободена памет, при задействане на механизма. Можете да го направите ръчно, като щракнете бутона <em>Освобождаване на памет</em> по-долу.
+
+# The link points to a Firefox documentation page, only available in English,
+# with title "Tab Unloading"
+about-unloads-learn-more = Посетете <a data-l10n-name="doc-link">Tab Unloading</a>, за да научите повече за функцията и за тази страница.
+
+about-unloads-last-updated = Последно обновяване: { DATETIME($date, year: "numeric", month: "numeric", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric", hour12: "false") }
+about-unloads-button-unload = Освобождаване на памет
+ .title = Освобождава памет от раздела с най-голям приоритет
+about-unloads-no-unloadable-tab = Няма раздели, от които да бъде освободена памет.
+
+about-unloads-column-priority = Приоритет
+about-unloads-column-host = Хост
+about-unloads-column-last-accessed = Последно разглеждан
+about-unloads-column-weight = Основна оценка
+ .title = Разделите първо се сортират по тази стойност, която зависи от това дали се изпълнява звук от раздела, има ли WebRTC и др.
+about-unloads-column-sortweight = Допълнителна оценка
+ .title = Ако е зададена, разделите се сортират и по този параметър, след като са били сортирани по основната оценка. Допълнителната оценка зависи от използваната от раздела памет и броя на процесите.
+about-unloads-column-memory = Памет
+ .title = Приблизителна употреба на памет от разделите
+about-unloads-column-processes = ID на процес
+ .title = Идентификатор на процесите управляващи съдържанието на разделите
+
+about-unloads-last-accessed = { DATETIME($date, year: "numeric", month: "numeric", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric", hour12: "false") }
+about-unloads-memory-in-mb = { NUMBER($mem, maxFractionalUnits: 2) } МБ
+about-unloads-memory-in-mb-tooltip =
+ .title = { NUMBER($mem, maxFractionalUnits: 2) } МБ
diff --git a/l10n-bg/browser/browser/accounts.ftl b/l10n-bg/browser/browser/accounts.ftl
new file mode 100644
index 0000000000..4fcf723f63
--- /dev/null
+++ b/l10n-bg/browser/browser/accounts.ftl
@@ -0,0 +1,102 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Used as the FxA toolbar menu item value when user has not
+# finished setting up an account.
+account-finish-account-setup = Завършете настройката
+
+# Used as the FxA toolbar menu item title when the user
+# needs to reconnect their account.
+account-disconnected2 = Профилът е изключен
+
+# Menu item that sends a tab to all synced devices.
+account-send-to-all-devices = Изпращане до всички
+
+# Menu item that links to the Firefox Accounts settings for connected devices.
+account-manage-devices = Управление на устройства…
+
+## Variables:
+## $email (String): = Email address of user's Firefox Account.
+
+account-reconnect = Повторно свързване на { $email }
+account-verify = Потвърждаване на { $email }
+
+## Displayed in the Send Tab/Page/Link to Device context menu when right clicking a tab, a page or a link.
+
+account-send-to-all-devices-titlecase = Изпращане до всички
+account-manage-devices-titlecase = Управление на устройства…
+
+## Displayed in the Send Tabs context menu when right clicking a tab, a page or a link
+## and the account has only 1 device connected.
+
+# Redirects to a marketing page.
+account-send-tab-to-device-singledevice-status = Няма свързани устройства
+
+# Redirects to a marketing page.
+account-send-tab-to-device-singledevice-learnmore = Повече за изпращане на раздели…
+
+# Redirects to an FxAccounts page that tells to you to connect another device.
+account-send-tab-to-device-connectdevice = Добавяне на устройство…
+
+## Displayed in the Send Tabs context menu when right clicking a tab, a page or a link
+## and the Sync account is unverified. Redirects to the Sync preferences page.
+
+account-send-tab-to-device-verify-status = Профилът не е потвърден
+account-send-tab-to-device-verify = Потвърждаване на профил…
+
+## These strings are used in a notification shown when a new device joins the Firefox account.
+
+# Variables:
+# $deviceName (String): the name of the new device
+account-connection-connected-with = Компютърът се синхронизира с { $deviceName }.
+
+# Used when the name of the new device is not known.
+account-connection-connected-with-noname = Компютърът се синхронизира с ново устройство.
+
+# Used in a notification shown after a Firefox account is connected to the current device.
+account-connection-connected = Успешно сте вписани
+
+# Used in a notification shown after the Firefox account was disconnected remotely.
+account-connection-disconnected = Това устройство е изключено.
+
+## These strings are used in a notification shown when we're opening
+## a single tab another device sent us to display.
+## The body for this notification is the URL of the received tab.
+
+account-single-tab-arriving-title = Получен раздел
+# Variables:
+# $deviceName (String): the device name.
+account-single-tab-arriving-from-device-title = Раздел от { $deviceName }
+
+# Used when a tab from a remote device arrives but the URL must be truncated.
+# Should display the URL with an indication that it's been truncated.
+# Variables:
+# $url (String): the portion of the URL that remains after truncation.
+account-single-tab-arriving-truncated-url = { $url }…
+
+## These strings are used in a notification shown when we're opening
+## multiple tabs another device or devices sent us to display.
+## Variables:
+## $tabCount (Number): the number of tabs received
+
+account-multiple-tabs-arriving-title = Получени раздели
+
+# Variables:
+# $deviceName (String): the device name.
+account-multiple-tabs-arriving-from-single-device =
+ { $tabCount ->
+ [one] { $tabCount } раздел пристигна от { $deviceName }
+ *[other] { $tabCount } раздела пристигнаха от { $deviceName }
+ }
+account-multiple-tabs-arriving-from-multiple-devices =
+ { $tabCount ->
+ [one] { $tabCount } раздел пристигна от ваше свързано устройство
+ *[other] { $tabCount } раздела пристигнаха от ваши свързани устройства
+ }
+# This version is used when we don't know any device names.
+account-multiple-tabs-arriving-from-unknown-device =
+ { $tabCount ->
+ [one] { $tabCount } раздел пристигна
+ *[other] { $tabCount } раздела пристигнаха
+ }
diff --git a/l10n-bg/browser/browser/addonNotifications.ftl b/l10n-bg/browser/browser/addonNotifications.ftl
new file mode 100644
index 0000000000..84ba01f226
--- /dev/null
+++ b/l10n-bg/browser/browser/addonNotifications.ftl
@@ -0,0 +1,126 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+xpinstall-prompt = { -brand-short-name } попречи на тази страница да поиска разрешение да инсталира софтуер на компютъра.
+
+## Variables:
+## $host (String): The hostname of the site the add-on is being installed from.
+
+xpinstall-prompt-header = Може ли { $host } да инсталира добавка?
+xpinstall-prompt-message = Опитвате се да инсталирате добавка от { $host }. Уверете се, че имате доверие на страницата, преди да продължите.
+
+##
+
+xpinstall-prompt-header-unknown = Може ли непозната страница да инсталира добавка?
+xpinstall-prompt-message-unknown = Опитвате се да инсталирате добавка от непозната страница. Уверете се, че имате доверие на страницата, преди да продължите.
+xpinstall-prompt-dont-allow =
+ .label = Забраняване
+ .accesskey = З
+xpinstall-prompt-never-allow =
+ .label = Никога
+ .accesskey = к
+# Long text in this context make the dropdown menu extend awkwardly to the left,
+# avoid a localization that's significantly longer than the English version.
+xpinstall-prompt-never-allow-and-report =
+ .label = Докладване на подозрителна страница
+ .accesskey = п
+# Accessibility Note:
+# Be sure you do not choose an accesskey that is used elsewhere in the active context (e.g. main menu bar, submenu of the warning popup button)
+# See https://website-archive.mozilla.org/www.mozilla.org/access/access/keyboard/ for details
+xpinstall-prompt-install =
+ .label = Инсталиране
+ .accesskey = т
+
+# These messages are shown when a website invokes navigator.requestMIDIAccess.
+
+site-permission-install-first-prompt-midi-header = Този сайт иска достъп до вашите MIDI (цифров интерфейс за музикални инструменти) устройства. Достъпът до устройството може да бъде осъществен чрез инсталиране на добавка.
+site-permission-install-first-prompt-midi-message = Няма гаранция, че достъпът е безопасен. Продължете само ако имате доверие на страницата.
+
+##
+
+xpinstall-disabled-locked = Инсталирането на софтуер е изключено от вашия системен администратор.
+xpinstall-disabled = Инсталирането на софтуер в момента е изключено. Натиснете Включване и опитайте отново.
+xpinstall-disabled-button =
+ .label = Разрешаване
+ .accesskey = а
+# This message is shown when the installation of an add-on is blocked by enterprise policy.
+# Variables:
+# $addonName (String): the name of the add-on.
+# $addonId (String): the ID of add-on.
+addon-install-blocked-by-policy = Разширението { $addonName } ({ $addonId }) е изключено от вашия системен администратор.
+# This message is shown when the installation of add-ons from a domain is blocked by enterprise policy.
+addon-domain-blocked-by-policy = Системният администратор попречи на тази страница да поиска разрешение да инсталира софтуер на компютъра.
+addon-install-full-screen-blocked = Инсталирането на добавки не е позволено, докато сте в режим на цял екран или преди него.
+# Variables:
+# $addonName (String): the localized name of the sideloaded add-on.
+webext-perms-sideload-menu-item = Добавката „{ $addonName }“ е инсталирана във { -brand-short-name }
+# Variables:
+# $addonName (String): the localized name of the extension which has been updated.
+webext-perms-update-menu-item = Добавката „{ $addonName }“ иска следните права
+# This message is shown when one or more extensions have been imported from a
+# different browser into Firefox, and the user needs to complete the import to
+# start these extensions. This message is shown in the appmenu.
+webext-imported-addons = Завършване на инсталирането внесените в/ъв { -brand-short-name } на добавки
+
+## Add-on removal warning
+
+# Variables:
+# $name (String): The name of the add-on that will be removed.
+addon-removal-title = Премахване на { $name }?
+# Variables:
+# $name (String): the name of the extension which is about to be removed.
+addon-removal-message = Желаете ли да премахнете разширението „{ $name }“ от { -brand-shorter-name }?
+addon-removal-button = Премахване
+addon-removal-abuse-report-checkbox = Докладване разширението на { -vendor-short-name }
+# Variables:
+# $addonCount (Number): the number of add-ons being downloaded
+addon-downloading-and-verifying =
+ { $addonCount ->
+ [one] Изтегляне и проверка на добавка…
+ *[other] Изтегляне и проверка на { $addonCount } добавки…
+ }
+addon-download-verifying = Проверяване
+addon-install-cancel-button =
+ .label = Отказ
+ .accesskey = О
+addon-install-accept-button =
+ .label = Добавяне
+ .accesskey = д
+
+## Variables:
+## $addonCount (Number): the number of add-ons being installed
+
+addon-confirm-install-message =
+ { $addonCount ->
+ [one] Страницата иска да инсталира добавка на { -brand-short-name }:
+ *[other] Страницата иска да инсталира { $addonCount } добавки на { -brand-short-name }:
+ }
+addon-confirm-install-unsigned-message =
+ { $addonCount ->
+ [one] Внимание: Страницата иска да инсталира непроверена добавка на { -brand-short-name }. Продължете на своя отговорност.
+ *[other] Внимание: Страницата иска да инсталира { $addonCount } непроверени добавки на { -brand-short-name }. Продължете на своя отговорност.
+ }
+# Variables:
+# $addonCount (Number): the number of add-ons being installed (at least 2)
+addon-confirm-install-some-unsigned-message = Внимание: Страницата иска да инсталира { $addonCount } добавки на { -brand-short-name }, някои от които са непроверени. Продължете на своя отговорност.
+
+## Add-on install errors
+## Variables:
+## $addonName (String): the add-on name.
+
+addon-install-error-network-failure = Добавката не може да бъде изтеглена поради неуспешно установена връзка.
+addon-install-error-incorrect-hash = Добавката не може да бъде инсталирана, защото не е тази, която { -brand-short-name } очаква.
+addon-install-error-corrupt-file = Изтеглената добавка не може да бъде инсталирана, защото изглежда е повредена.
+addon-install-error-file-access = Добавката { $addonName } не може да бъде инсталирана, защото { -brand-short-name } не може да промени необходимите файлове.
+addon-install-error-not-signed = { -brand-short-name } предотврати опит за инсталиране на непроверена добавка от страницата.
+addon-install-error-invalid-domain = Добавката { $addonName } не може да бъде инсталирана от това място.
+addon-local-install-error-network-failure = Добавката не може да бъде инсталирана поради грешка във файловата система.
+addon-local-install-error-incorrect-hash = Добавката не може да бъде инсталирана, защото не е тази, която { -brand-short-name } очаква.
+addon-local-install-error-corrupt-file = Добавката не може да бъде инсталирана, защото изглежда е повредена.
+addon-local-install-error-file-access = Добавката { $addonName } не може да бъде инсталирана, защото { -brand-short-name } не може да промени необходимите файлове.
+addon-local-install-error-not-signed = Добавката не може да бъде инсталирана, защото не е проверена.
+# Variables:
+# $appVersion (String): the application version.
+addon-install-error-incompatible = Добавката { $addonName } не може да бъде инсталирана, защото е несъвместима с { -brand-short-name } { $appVersion }.
+addon-install-error-blocklisted = Добавката { $addonName } не може да бъде инсталирана, защото носи висок риск от причиняване на проблеми със стабилността или сигурността.
diff --git a/l10n-bg/browser/browser/allTabsMenu.ftl b/l10n-bg/browser/browser/allTabsMenu.ftl
new file mode 100644
index 0000000000..fffb4fb519
--- /dev/null
+++ b/l10n-bg/browser/browser/allTabsMenu.ftl
@@ -0,0 +1,17 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# "Search" is a verb, as in "Search through tabs".
+all-tabs-menu-search-tabs =
+ .label = Търсене на раздели
+
+all-tabs-menu-new-user-context =
+ .label = Нов изолиран раздел
+
+all-tabs-menu-hidden-tabs =
+ .label = Скрити раздели
+
+all-tabs-menu-manage-user-context =
+ .label = Управление на изолатори
+ .accesskey = з
diff --git a/l10n-bg/browser/browser/appExtensionFields.ftl b/l10n-bg/browser/browser/appExtensionFields.ftl
new file mode 100644
index 0000000000..1a4c06dae9
--- /dev/null
+++ b/l10n-bg/browser/browser/appExtensionFields.ftl
@@ -0,0 +1,31 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Theme names and descriptions used in the Themes panel in about:addons
+
+# "Auto" is short for automatic. It can be localized without limitations.
+extension-default-theme-name-auto = Системна тема — авто
+extension-default-theme-description = Използва темата на операционната система за бутони, менюта и прозорци.
+
+extension-firefox-compact-light-name = Светла
+extension-firefox-compact-light-description = Тема в светла палитра.
+
+extension-firefox-compact-dark-name = Тъмна
+extension-firefox-compact-dark-description = Тема в тъмна палитра.
+
+extension-firefox-alpenglow-name = Firefox Alpenglow
+extension-firefox-alpenglow-description = Използвайте цветен външен вид за бутони, менюта и прозорци.
+
+## Colorway Themes
+## These themes are variants of a colorway. The colorway is specified in the
+## $colorway-name variable.
+## Variables
+## $colorway-name (String) The name of a colorway (e.g. Graffiti, Elemental).
+
+extension-colorways-soft-name = { $colorway-name } — Мека
+extension-colorways-balanced-name = { $colorway-name } — Умерена
+# "Bold" is used in the sense of bravery or courage, not in the sense of
+# emphasized text.
+extension-colorways-bold-name = { $colorway-name } — Ярка
diff --git a/l10n-bg/browser/browser/appMenuNotifications.ftl b/l10n-bg/browser/browser/appMenuNotifications.ftl
new file mode 100644
index 0000000000..aaf27b6843
--- /dev/null
+++ b/l10n-bg/browser/browser/appMenuNotifications.ftl
@@ -0,0 +1,66 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+appmenu-update-available2 =
+ .label = Налично обновяване
+ .buttonlabel = Изтегляне
+ .buttonaccesskey = и
+ .secondarybuttonlabel = Отказ
+ .secondarybuttonaccesskey = о
+appmenu-update-available-message2 = Изтеглете последното издание на { -brand-shorter-name }.
+appmenu-update-manual2 =
+ .label = Налично е обновление
+ .buttonlabel = Изтегляне
+ .buttonaccesskey = И
+ .secondarybuttonlabel = Затваряне
+ .secondarybuttonaccesskey = З
+appmenu-update-manual-message2 = { -brand-shorter-name } не може да бъде обновен автоматично. Изтеглете новото издание - няма да загубите запазената информация или настройките.
+appmenu-update-unsupported2 =
+ .label = Невъзможност за обновление
+ .buttonlabel = Научете повече
+ .buttonaccesskey = Н
+ .secondarybuttonlabel = Затваряне
+ .secondarybuttonaccesskey = З
+appmenu-update-unsupported-message2 = Вашата операционна система не е съвместима с последното издание на { -brand-shorter-name }.
+appmenu-update-restart2 =
+ .label = Налично е обновление
+ .buttonlabel = Обновяване и рестартиране
+ .buttonaccesskey = О
+ .secondarybuttonlabel = Затваряне
+ .secondarybuttonaccesskey = З
+appmenu-update-restart-message2 = Вземете последното издание на { -brand-shorter-name }. Отворените раздели и прозорци ще бъдат възстановени.
+appmenu-update-other-instance =
+ .label = { -brand-shorter-name } на може автоматично да се обнови автоматично до последно издание.
+ .buttonlabel = Обновяване на { -brand-shorter-name } въпреки това
+ .buttonaccesskey = О
+ .secondarybuttonlabel = Не сега
+ .secondarybuttonaccesskey = Н
+appmenu-update-other-instance-message = Налично е ново издание на { -brand-shorter-name }, но не може да бъде инсталирано, защото друг екземпляр на { -brand-shorter-name } работи. За да продължи обновяването го затворете или изберете обновяване въпреки това (другия екземпляр може да работи с грешки докато не бъде рестартиран).
+
+appmenu-addon-private-browsing-installed2 =
+ .buttonlabel = Добре
+ .buttonaccesskey = о
+appmenu-addon-post-install-message3 = Управлявайте разширения и теми от менюто на приложението.
+appmenu-addon-post-install-incognito-checkbox =
+ .label = Позволете на разширението да работи в поверителни прозорци
+ .accesskey = з
+
+appmenu-new-tab-controlled-changes =
+ .label = Новият раздел е променен
+ .buttonlabel = Запазване на промяната
+ .buttonaccesskey = з
+ .secondarybuttonlabel = Управление на нов раздел
+ .secondarybuttonaccesskey = у
+appmenu-homepage-controlled-changes =
+ .label = Началната страница е променена.
+ .buttonlabel = Запазване на промените
+ .buttonaccesskey = з
+ .secondarybuttonlabel = Управление на начална страница
+ .secondarybuttonaccesskey = у
+appmenu-tab-hide-controlled =
+ .label = Достъп до скритите раздели
+ .buttonlabel = Нека останат скрити
+ .buttonaccesskey = с
+ .secondarybuttonlabel = Изключване на разширението
+ .secondarybuttonaccesskey = и
diff --git a/l10n-bg/browser/browser/appmenu.ftl b/l10n-bg/browser/browser/appmenu.ftl
new file mode 100644
index 0000000000..15ce702f60
--- /dev/null
+++ b/l10n-bg/browser/browser/appmenu.ftl
@@ -0,0 +1,256 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## App Menu
+
+appmenuitem-banner-update-downloading =
+ .label = Изтегляне на ново издание на { -brand-shorter-name }
+appmenuitem-banner-update-available =
+ .label = Налично е издание – изтеглете
+appmenuitem-banner-update-manual =
+ .label = Налично е издание – изтеглете
+appmenuitem-banner-update-unsupported =
+ .label = Налично е издание – несъвместима система
+appmenuitem-banner-update-restart =
+ .label = Налично е издание – рестартирайте
+appmenuitem-new-tab =
+ .label = Нов раздел
+appmenuitem-new-window =
+ .label = Нов прозорец
+appmenuitem-new-private-window =
+ .label = Поверителен прозорец
+appmenuitem-history =
+ .label = История
+appmenuitem-downloads =
+ .label = Изтегляния
+appmenuitem-passwords =
+ .label = Пароли
+appmenuitem-addons-and-themes =
+ .label = Добавки и теми
+appmenuitem-print =
+ .label = Отпечатване…
+appmenuitem-find-in-page =
+ .label = Търсене в страницата
+appmenuitem-translate =
+ .label = Превеждане на страницата…
+appmenuitem-zoom =
+ .value = Мащабиране
+appmenuitem-more-tools =
+ .label = Още инструменти
+appmenuitem-help =
+ .label = Помощ
+appmenuitem-exit2 =
+ .label =
+ { PLATFORM() ->
+ [linux] Изход
+ *[other] Изход
+ }
+appmenu-menu-button-closed2 =
+ .tooltiptext = Отваря менюто на приложението
+ .label = { -brand-short-name }
+appmenu-menu-button-opened2 =
+ .tooltiptext = Затваря менюто на приложението
+ .label = { -brand-short-name }
+# Settings is now used to access the browser settings across all platforms,
+# instead of Options or Preferences.
+appmenuitem-settings =
+ .label = Настройки
+
+## Zoom and Fullscreen Controls
+
+appmenuitem-zoom-enlarge =
+ .label = Увеличаване
+appmenuitem-zoom-reduce =
+ .label = Намаляване
+appmenuitem-fullscreen =
+ .label = Цял екран
+
+## Firefox Account toolbar button and Sync panel in App menu.
+
+appmenu-remote-tabs-sign-into-sync =
+ .label = Вписване в Sync…
+appmenu-remote-tabs-turn-on-sync =
+ .label = Включване на Sync…
+# This is shown after the tabs list if we can display more tabs by clicking on the button
+appmenu-remote-tabs-showmore =
+ .label = Показване на повече раздели
+ .tooltiptext = Повече раздели от други устройства
+# This is shown beneath the name of a device when that device has no open tabs
+appmenu-remote-tabs-notabs = Няма отворени раздели
+# This is shown when Sync is configured but syncing tabs is disabled.
+appmenu-remote-tabs-tabsnotsyncing = Включете синхронизирането на раздели, за да видите списък с раздели от други ваши устройства.
+appmenu-remote-tabs-opensettings =
+ .label = Настройки
+# This is shown when Sync is configured but this appears to be the only device attached to
+# the account. We also show links to download Firefox for android/ios.
+appmenu-remote-tabs-noclients = Искате ли да видите свои раздели от други устройства тук?
+appmenu-remote-tabs-connectdevice =
+ .label = Добавяне на устройство
+appmenu-remote-tabs-welcome = Вижте списък с разделите от другите ваши устройства.
+appmenu-remote-tabs-unverified = Профилът ви трябва да бъде потвърден.
+appmenuitem-fxa-toolbar-sync-now2 = Синхронизиране
+appmenuitem-fxa-sign-in = Вписване в { -brand-product-name }
+appmenuitem-fxa-manage-account = Управление на профил
+appmenu-fxa-header2 = { -fxaccount-brand-name }
+# Variables
+# $time (string) - Localized relative time since last sync (e.g. 1 second ago,
+# 3 hours ago, etc.)
+appmenu-fxa-last-sync = Последна синхронизация { $time }
+ .label = Последна синхронизация { $time }
+appmenu-fxa-sync-and-save-data2 = Синхронизиране и запазване на данни
+appmenu-fxa-signed-in-label = Вход
+appmenu-fxa-setup-sync =
+ .label = Включване синхронизиране
+appmenuitem-save-page =
+ .label = Запазване като…
+
+## What's New panel in App menu.
+
+whatsnew-panel-header = Какво е новото
+# Checkbox displayed at the bottom of the What's New panel, allowing users to
+# enable/disable What's New notifications.
+whatsnew-panel-footer-checkbox =
+ .label = Уведомяване за нови функции
+ .accesskey = У
+
+## The Firefox Profiler – The popup is the UI to turn on the profiler, and record
+## performance profiles. To enable it go to profiler.firefox.com and click
+## "Enable Profiler Menu Button".
+
+profiler-popup-button-idle =
+ .label = Профилиране
+ .tooltiptext = Написване на профил на производителността
+profiler-popup-button-recording =
+ .label = Профилиране
+ .tooltiptext = Профилаторът записва
+profiler-popup-button-capturing =
+ .label = Профилиране
+ .tooltiptext = Профилаторът записва
+profiler-popup-header-text = { -profiler-brand-name }
+profiler-popup-reveal-description-button =
+ .aria-label = Показване на повече информация
+profiler-popup-description-title =
+ .value = Записвайте, анализирайте, споделяйте
+profiler-popup-description = Сътрудничете си по проблеми с производителността, като публикувате профили, които да споделяте с екипа си.
+profiler-popup-learn-more-button =
+ .label = Научете повече
+profiler-popup-settings =
+ .value = Настройки
+# This link takes the user to about:profiling, and is only visible with the Custom preset.
+profiler-popup-edit-settings-button =
+ .label = Промяна на настройки…
+profiler-popup-recording-screen = Записване…
+profiler-popup-start-recording-button =
+ .label = Начало на запис
+profiler-popup-discard-button =
+ .label = Отхвърляне
+profiler-popup-capture-button =
+ .label = Прехващане
+profiler-popup-start-shortcut =
+ { PLATFORM() ->
+ [macos] ⌃⇧1
+ *[other] Ctrl+Shift+1
+ }
+profiler-popup-capture-shortcut =
+ { PLATFORM() ->
+ [macos] ⌃⇧2
+ *[other] Ctrl+Shift+2
+ }
+
+## Profiler presets
+## They are shown in the popup's select box.
+
+
+# Presets and their l10n IDs are defined in the file
+# devtools/client/performance-new/shared/background.jsm.js
+# Please take care that the same values are also defined in devtools' perftools.ftl.
+
+profiler-popup-presets-web-developer-description = Препоръчителни предварителни настройки, с малко влияние върху резултата, за отстраняване на грешки в повечето приложения за уеб,
+profiler-popup-presets-web-developer-label =
+ .label = Разработчик
+profiler-popup-presets-firefox-description = Препоръчителни предварителни настройки за профилиране на { -brand-shorter-name }.
+profiler-popup-presets-firefox-label =
+ .label = { -brand-shorter-name }
+profiler-popup-presets-graphics-description = Предварителни настройки за изследване на дефекти при изчертаване във { -brand-shorter-name }.
+profiler-popup-presets-graphics-label =
+ .label = Изчертаване
+profiler-popup-presets-media-description2 = Предварителни настройки за изследване на дефекти във видео и аудио във { -brand-shorter-name }.
+profiler-popup-presets-media-label =
+ .label = Медия
+profiler-popup-presets-networking-description = Предварителни настройки за изследване на дефекти при работа с мрежата във { -brand-shorter-name }.
+profiler-popup-presets-networking-label =
+ .label = Работа в мрежа
+profiler-popup-presets-power-description = Предварителни настройки за изследване на дефекти при използване на електроенергия { -brand-shorter-name }, с ниско допълнително натоварване.
+# "Power" is used in the sense of energy (electricity used by the computer).
+profiler-popup-presets-power-label =
+ .label = Захранване
+profiler-popup-presets-custom-label =
+ .label = Потребителски
+
+## History panel
+
+appmenu-manage-history =
+ .label = Управление на история
+appmenu-restore-session =
+ .label = Възстановяване на предишна сесия
+appmenu-clear-history =
+ .label = Изчистване на скорошна история…
+appmenu-recent-history-subheader = Скорошна история
+appmenu-recently-closed-tabs =
+ .label = Последно затворени раздели
+appmenu-recently-closed-windows =
+ .label = Последно затворени прозорци
+# This allows to search through the browser's history.
+appmenu-search-history =
+ .label = Търсене в историята
+
+## Help panel
+
+appmenu-help-header =
+ .title = Помощ за { -brand-shorter-name }
+appmenu-about =
+ .label = Относно { -brand-shorter-name }
+ .accesskey = О
+appmenu-get-help =
+ .label = Получете помощ
+ .accesskey = П
+appmenu-help-more-troubleshooting-info =
+ .label = Повече информация за отстраняване на неизправности
+ .accesskey = и
+appmenu-help-report-site-issue =
+ .label = Докладване на проблем със страницата…
+appmenu-help-share-ideas =
+ .label = Споделяне на идеи и обратна връзка...
+ .accesskey = и
+appmenu-help-switch-device =
+ .label = Преминаване към ново устройство
+
+## appmenu-help-enter-troubleshoot-mode and appmenu-help-exit-troubleshoot-mode
+## are mutually exclusive, so it's possible to use the same accesskey for both.
+
+appmenu-help-enter-troubleshoot-mode2 =
+ .label = Режим за отстраняване на неизправности
+ .accesskey = н
+appmenu-help-exit-troubleshoot-mode =
+ .label = Режим за отстраняване на неизправности изключен
+ .accesskey = и
+
+## appmenu-help-report-deceptive-site and appmenu-help-not-deceptive
+## are mutually exclusive, so it's possible to use the same accesskey for both.
+
+appmenu-help-report-deceptive-site =
+ .label = Докладване на измамническа страница…
+ .accesskey = з
+appmenu-help-not-deceptive =
+ .label = Това не е измамническа страница…
+ .accesskey = н
+
+## More Tools
+
+appmenu-customizetoolbar =
+ .label = Настройки на лентата с инструменти…
+appmenu-developer-tools-subheader = Инструменти за четеца
+appmenu-developer-tools-extensions =
+ .label = Разширения за разработчици
diff --git a/l10n-bg/browser/browser/backgroundtasks/defaultagent.ftl b/l10n-bg/browser/browser/backgroundtasks/defaultagent.ftl
new file mode 100644
index 0000000000..61e88794ab
--- /dev/null
+++ b/l10n-bg/browser/browser/backgroundtasks/defaultagent.ftl
@@ -0,0 +1,7 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+default-browser-agent-task-description = Услугата „Default Browser Agent“ проверява дали четецът по подразбиране { -brand-short-name } ще бъде заменен от друг. Ако това се случи при подозрителни обстоятелства, най-много два пъти ще бъде изведено запитване към потребителя дали да върне { -brand-short-name } като подразбиран четец. Услугата се инсталира автоматично от { -brand-short-name } и се инсталира всеки път при обновяването му. За да я изключите променете настройката „default-browser-agent.enabled“ в страницата на about:config или чрез ведомственото ограничение „DisableDefaultBrowserAgent“ на четеца.
+default-browser-notification-yes-button-text = Да
+default-browser-notification-no-button-text = Не
diff --git a/l10n-bg/browser/browser/browser.ftl b/l10n-bg/browser/browser/browser.ftl
new file mode 100644
index 0000000000..2b559f1d07
--- /dev/null
+++ b/l10n-bg/browser/browser/browser.ftl
@@ -0,0 +1,957 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## The main browser window's title
+
+# These are the default window titles everywhere except macOS.
+# .data-title-default and .data-title-private are used when the web content
+# opened has no title:
+#
+# default - "Mozilla Firefox"
+# private - "Mozilla Firefox (Private Browsing)"
+#
+# .data-content-title-default and .data-content-title-private are for use when
+# there *is* a content title.
+# Variables:
+# $content-title (String): the title of the web content.
+browser-main-window-window-titles =
+ .data-title-default = { -brand-full-name }
+ .data-title-private = { -brand-full-name } поверително разглеждане
+ .data-content-title-default = { $content-title } — { -brand-full-name }
+ .data-content-title-private = { $content-title } — { -brand-full-name } поверително разглеждане
+# These are the default window titles on macOS.
+# .data-title-default and .data-title-private are used when the web content
+# opened has no title:
+#
+#
+# "default" - "Mozilla Firefox"
+# "private" - "Mozilla Firefox — (Private Browsing)"
+#
+# .data-content-title-default and .data-content-title-private are for use when
+# there *is* a content title.
+# Do not use the brand name in these, as we do on non-macOS.
+#
+# Also note the other subtle difference here: we use a `-` to separate the
+# brand name from `(Private Browsing)`, which does not happen on other OSes.
+#
+# Variables:
+# $content-title (String): the title of the web content.
+browser-main-window-mac-window-titles =
+ .data-title-default = { -brand-full-name }
+ .data-title-private = { -brand-full-name } — поверително разглеждане
+ .data-content-title-default = { $content-title }
+ .data-content-title-private = { $content-title } — поверителен разглеждане
+# This gets set as the initial title, and is overridden as soon as we start
+# updating the titlebar based on loaded tabs or private browsing state.
+# This should match the `data-title-default` attribute in both
+# `browser-main-window` and `browser-main-window-mac`.
+browser-main-window-title = { -brand-full-name }
+# The non-variable portion of this MUST match the translation of
+# "PRIVATE_BROWSING_SHORTCUT_TITLE" in custom.properties
+private-browsing-shortcut-text-2 = Поверително разглеждане с { -brand-shortcut-name }
+
+##
+
+urlbar-identity-button =
+ .aria-label = Показване на информация за уеб страницата
+
+## Tooltips for images appearing in the address bar
+
+urlbar-services-notification-anchor =
+ .tooltiptext = Отваряне на панел със съобщението за инсталиране
+urlbar-web-notification-anchor =
+ .tooltiptext = Промяна на правата за получаване на известия от страницата
+urlbar-midi-notification-anchor =
+ .tooltiptext = Отваря панела за MIDI
+urlbar-eme-notification-anchor =
+ .tooltiptext = Управление използването на софтуер с DRM
+urlbar-web-authn-anchor =
+ .tooltiptext = Отваря панела за удостоверяване през Мрежата
+urlbar-canvas-notification-anchor =
+ .tooltiptext = Управление на правата извличане на изображения чрез canvas
+urlbar-web-rtc-share-microphone-notification-anchor =
+ .tooltiptext = Управление споделянето на вашия микрофон със сайта
+urlbar-default-notification-anchor =
+ .tooltiptext = Отваряне на панел със съобщението
+urlbar-geolocation-notification-anchor =
+ .tooltiptext = Отваряне на панел със заявката за местоположение
+urlbar-xr-notification-anchor =
+ .tooltiptext = Отваряне на панела за разрешения за виртуална реалност
+urlbar-storage-access-anchor =
+ .tooltiptext = Отваря панела за правата при разглеждане
+urlbar-web-rtc-share-screen-notification-anchor =
+ .tooltiptext = Управление споделянето на вашите прозорци или екран със сайта
+urlbar-indexed-db-notification-anchor =
+ .tooltiptext = Отваряне на панел със съобщението за работа без мрежа
+urlbar-password-notification-anchor =
+ .tooltiptext = Отваряне на панел със съобщението за запазване на парола
+urlbar-plugins-notification-anchor =
+ .tooltiptext = Управление на използването на приставки
+urlbar-web-rtc-share-devices-notification-anchor =
+ .tooltiptext = Управление споделянето на вашата камера и/или микрофон със сайта
+# "Speakers" is used in a general sense that might include headphones or
+# another audio output connection.
+urlbar-web-rtc-share-speaker-notification-anchor =
+ .tooltiptext = Управлявайте споделянето на други говорители със страницата
+urlbar-autoplay-notification-anchor =
+ .tooltiptext = Отваряне на панел за автоматично възпроизвеждане
+urlbar-persistent-storage-notification-anchor =
+ .tooltiptext = Използване на хранилището за постоянни данни
+urlbar-addons-notification-anchor =
+ .tooltiptext = Отваряне на панел със съобщението за инсталиране на добавка
+urlbar-tip-help-icon =
+ .title = Получете помощ
+urlbar-search-tips-confirm = Да, разбрах
+urlbar-search-tips-confirm-short = Разбрах
+# Read out before Urlbar Tip text content so screenreader users know the
+# subsequent text is a tip offered by the browser. It should end in a colon or
+# localized equivalent.
+urlbar-tip-icon-description =
+ .alt = Съвет:
+urlbar-result-menu-button =
+ .title = Отваря менюто
+urlbar-result-menu-button-feedback = Обратна връзка
+ .title = Отваряне на менюто
+urlbar-result-menu-learn-more =
+ .label = Научете повече
+ .accesskey = н
+urlbar-result-menu-remove-from-history =
+ .label = Премахване от историята
+ .accesskey = и
+urlbar-result-menu-tip-get-help =
+ .label = Получете помощ
+ .accesskey = п
+
+## Prompts users to use the Urlbar when they open a new tab or visit the
+## homepage of their default search engine.
+## Variables:
+## $engineName (String): The name of the user's default search engine. e.g. "Google" or "DuckDuckGo".
+
+urlbar-search-tips-onboard = Въвеждайте малко, намирайте много: търсете с { $engineName } направо от адресната лента.
+urlbar-search-tips-redirect-2 = Започнете търсене от адресната лента, за да видите предложения от { $engineName } и историята на разглеждане.
+# Make sure to match the name of the Search panel in settings.
+urlbar-search-tips-persist = Търсенето вече е по-лесно. Направете търсенето от адресната лента по-конкретно. Ако желаете да се показва адрес, посетете Търсене в настройките.
+# Prompts users to use the Urlbar when they are typing in the domain of a
+# search engine, e.g. google.com or amazon.com.
+urlbar-tabtosearch-onboard = Изберете бърз клавиш, за да намирате нужното по-бързо.
+
+## Local search mode indicator labels in the urlbar
+
+urlbar-search-mode-bookmarks = Отметки
+urlbar-search-mode-tabs = Раздели
+urlbar-search-mode-history = История
+urlbar-search-mode-actions = Действия
+
+##
+
+urlbar-geolocation-blocked =
+ .tooltiptext = Забранили сте на страницата достъп до вашето местоположение.
+urlbar-xr-blocked =
+ .tooltiptext = Забранихте достъпа до устройства за виртуална реалност за тази страница.
+urlbar-web-notifications-blocked =
+ .tooltiptext = Забранили сте на страницата да ви изпраща известия.
+urlbar-camera-blocked =
+ .tooltiptext = Забранили сте на страницата достъп до вашата камера.
+urlbar-microphone-blocked =
+ .tooltiptext = Забранили сте на страницата достъп до вашия микрофон.
+urlbar-screen-blocked =
+ .tooltiptext = Забранили сте на страницата споделянето на вашия екран.
+urlbar-persistent-storage-blocked =
+ .tooltiptext = Забранили сте на страницата достъп до хранилището за постоянни данни.
+urlbar-popup-blocked =
+ .tooltiptext = Забранили сте на страницата да отваря изскачащи прозорци.
+urlbar-autoplay-media-blocked =
+ .tooltiptext = Забранили сте автоматичното възпроизвеждане на медия на страницата.
+urlbar-canvas-blocked =
+ .tooltiptext = Забранили сте достъпа до данните от canvas на тази страница.
+urlbar-midi-blocked =
+ .tooltiptext = Забранили сте на страницата достъп до MIDI.
+urlbar-install-blocked =
+ .tooltiptext = Забранили сте на страницата да инсталира добавки.
+# Variables
+# $shortcut (String) - A keyboard shortcut for the edit bookmark command.
+urlbar-star-edit-bookmark =
+ .tooltiptext = Промяна на отметка ({ $shortcut })
+# Variables
+# $shortcut (String) - A keyboard shortcut for the add bookmark command.
+urlbar-star-add-bookmark =
+ .tooltiptext = Отмятане на страницата ({ $shortcut })
+
+## Page Action Context Menu
+
+page-action-manage-extension2 =
+ .label = Управление на разширението…
+ .accesskey = р
+page-action-remove-extension2 =
+ .label = Премахване на разширението
+ .accesskey = р
+
+## Auto-hide Context Menu
+
+full-screen-autohide =
+ .label = Скриване на лентите
+ .accesskey = л
+full-screen-exit =
+ .label = Излизане от цял екран
+ .accesskey = ц
+
+## Search Engine selection buttons (one-offs)
+
+# This string prompts the user to use the list of search shortcuts in
+# the Urlbar and searchbar.
+search-one-offs-with-title = Този път търсете с:
+search-one-offs-change-settings-compact-button =
+ .tooltiptext = Настройки на търсене
+search-one-offs-context-open-new-tab =
+ .label = Търсене в нов раздел
+ .accesskey = р
+search-one-offs-context-set-as-default =
+ .label = Задаване като стандартна търсачка
+ .accesskey = с
+search-one-offs-context-set-as-default-private =
+ .label = Задаване като стандартна търсачка в поверителни прозорци
+ .accesskey = п
+# Search engine one-off buttons with an @alias shortcut/keyword.
+# Variables:
+# $engineName (String): The name of the engine.
+# $alias (String): The @alias shortcut/keyword.
+search-one-offs-engine-with-alias =
+ .tooltiptext = { $engineName } ({ $alias })
+# Shown when adding new engines from the address bar shortcut buttons or context
+# menu, or from the search bar shortcut buttons.
+# Variables:
+# $engineName (String): The name of the engine.
+search-one-offs-add-engine =
+ .label = Добавяне на „{ $engineName }“
+ .tooltiptext = Добавя търсещата машина „{ $engineName }“
+ .aria-label = Добавя търсещата машина „{ $engineName }“
+# When more than 5 engines are offered by a web page, they are grouped in a
+# submenu using this as its label.
+search-one-offs-add-engine-menu =
+ .label = Добавяне на търсеща машина
+
+## Local search mode one-off buttons
+## Variables:
+## $restrict (String): The restriction token corresponding to the search mode.
+## Restriction tokens are special characters users can type in the urlbar to
+## restrict their searches to certain sources (e.g., "*" to search only
+## bookmarks).
+
+search-one-offs-bookmarks =
+ .tooltiptext = Отметки ({ $restrict })
+search-one-offs-tabs =
+ .tooltiptext = Раздели ({ $restrict })
+search-one-offs-history =
+ .tooltiptext = История ({ $restrict })
+search-one-offs-actions =
+ .tooltiptext = Действия ({ $restrict })
+
+## QuickActions are shown in the urlbar as the user types a matching string
+## The -cmd- strings are comma separated list of keywords that will match
+## the action.
+
+# Opens the about:addons page in the home / recommendations section
+quickactions-addons = Преглед на добавките
+quickactions-cmd-addons2 = Добавки
+# Opens the bookmarks library window
+quickactions-bookmarks2 = Управление на отметки
+quickactions-cmd-bookmarks = отметки
+# Opens a SUMO article explaining how to clear history
+quickactions-clearhistory = Изчистване на историята
+quickactions-cmd-clearhistory = изчистване на историята
+# Opens about:downloads page
+quickactions-downloads2 = Преглед на изтеглените файлове
+quickactions-cmd-downloads = изтегляния
+# Opens about:addons page in the extensions section
+quickactions-extensions = Управление на добавки
+quickactions-cmd-extensions = разширения
+# Opens the devtools web inspector
+quickactions-inspector2 = Развойни инструменти
+quickactions-cmd-inspector = инспектор, изследовател, изследвач, инструменти за разработка, инструменти на разработчика
+# Opens about:logins
+quickactions-logins2 = Управление на пароли
+quickactions-cmd-logins = регистрации, пароли, вход, профили
+# Opens about:addons page in the plugins section
+quickactions-plugins = Управление на приставки
+quickactions-cmd-plugins = приставки
+# Opens the print dialog
+quickactions-print2 = Отпечатване
+quickactions-cmd-print = печат, отпечатване
+# Opens a new private browsing window
+quickactions-private2 = Поверителен прозорец
+quickactions-cmd-private = поверително разглеждане
+# Opens a SUMO article explaining how to refresh
+quickactions-refresh = Освежаване на { -brand-short-name }
+quickactions-cmd-refresh = освежаване, опресняване
+# Restarts the browser
+quickactions-restart = Рестартиране на { -brand-short-name }
+quickactions-cmd-restart = рестарт, рестартиране
+# Opens the screenshot tool
+quickactions-screenshot3 = Снимка на екрана
+quickactions-cmd-screenshot = снимка на екрана
+# Opens about:preferences
+quickactions-settings2 = Настройки
+quickactions-cmd-settings = настройки
+# Opens about:addons page in the themes section
+quickactions-themes = Управление на теми
+quickactions-cmd-themes = теми
+# Opens a SUMO article explaining how to update the browser
+quickactions-update = Обновяване на { -brand-short-name }
+quickactions-cmd-update = обновяване
+# Opens the view-source UI with current pages source
+quickactions-viewsource2 = Изходен код на страницата
+quickactions-cmd-viewsource = преглед на изходния код, изходен код
+# Tooltip text for the help button shown in the result.
+quickactions-learn-more =
+ .title = Научете повече за бързите действия
+
+## Bookmark Panel
+
+bookmarks-add-bookmark = Добавяне на отметка
+bookmarks-edit-bookmark = Промяна на отметка
+bookmark-panel-cancel =
+ .label = Отказ
+ .accesskey = о
+# Variables:
+# $count (number): number of bookmarks that will be removed
+bookmark-panel-remove =
+ .label =
+ { $count ->
+ [one] Премахване на отметка
+ *[other] Премахване на { $count } отметки
+ }
+ .accesskey = н
+bookmark-panel-show-editor-checkbox =
+ .label = Показване на диалога при запазване
+ .accesskey = п
+bookmark-panel-save-button =
+ .label = Запазване
+# Width of the bookmark panel.
+# Should be large enough to fully display the Done and
+# Cancel/Remove Bookmark buttons.
+bookmark-panel =
+ .style = min-width: 25em
+
+## Identity Panel
+
+# Variables
+# $host (String): the hostname of the site that is being displayed.
+identity-site-information = Информация за { $host }
+# Variables
+# $host (String): the hostname of the site that is being displayed.
+identity-header-security-with-host =
+ .title = Сигурност на връзката към { $host }
+identity-connection-not-secure = Връзката не е защитена
+identity-connection-secure = Връзката е шифрована
+identity-connection-failure = Неуспешна връзка
+identity-connection-internal = Това е защитена страница на { -brand-short-name }.
+identity-connection-file = Страницата е запазена в компютъра.
+identity-extension-page = Страницата е отворена от разширение.
+identity-active-blocked = { -brand-short-name } блокира части от страницата, които не са шифрирани.
+identity-custom-root = Връзката е потвърдена от издател на сертификат, който не е разпознат от Mozilla.
+identity-passive-loaded = Части от страницата, например изображения, не са шифровани.
+identity-active-loaded = Изключихте защитата за тази страница.
+identity-weak-encryption = Тази странница използва слабо шифриране.
+identity-insecure-login-forms = Въведените на страницата данни за вход може да бъдат компрометирани.
+identity-https-only-connection-upgraded = (превключено на HTTPS)
+identity-https-only-label = Режим „само HTTPS“
+identity-https-only-dropdown-on =
+ .label = Включено
+identity-https-only-dropdown-off =
+ .label = Изключено
+identity-https-only-dropdown-off-temporarily =
+ .label = Временно изключено
+identity-https-only-info-turn-on2 = Включете режима „Само HTTPS“ за този сайт, ако искате { -brand-short-name } да надгради връзката, когато е възможно.
+identity-https-only-info-turn-off2 = Ако страницата изглежда счупена би трябвало да изключите режима „само HTTPS“ за сайта, за да бъде презареден през незащитения протокол HTTP.
+identity-https-only-info-no-upgrade = Връзката не може да бъде превключена от HTTP.
+identity-permissions-storage-access-header = Бисквитки между сайтове
+identity-permissions-storage-access-hint = Тези страни могат да ползват бисквитки между сайтовете и данни от сайта, докато сте на него.
+identity-permissions-storage-access-learn-more = Научете повече
+identity-permissions-reload-hint = За да бъдат приложени промените може да се наложи да презаредите страницата.
+identity-clear-site-data =
+ .label = Изчистване на бисквитки и данни…
+identity-connection-not-secure-security-view = Връзката със сайта не е сигурна.
+identity-connection-verified = Връзката със сайта е шифрована.
+identity-ev-owner-label = Сертификатът е издаден на:
+identity-description-custom-root2 = Mozilla не разпознава този издател на сертификати. Може да е добавен от вашата операционна система или от администратор.
+identity-remove-cert-exception =
+ .label = Премахване на изключението
+ .accesskey = П
+identity-description-insecure = Връзката ви със сайта не е поверителна. Изпращаната информация, като например пароли, съобщения, банкови карти и др., може да бъде видяна от други.
+identity-description-insecure-login-forms = Данните за регистрацията, които въвеждате в страницата, не са защитени и може да бъдат компрометирани.
+identity-description-weak-cipher-intro = Връзката с тази страница използва слабо шифроване и не е поверителна.
+identity-description-weak-cipher-risk = Други хора могат да виждат ваша информация и да променят поведението на уебсайта.
+identity-description-active-blocked2 = { -brand-short-name } блокира части от страницата, които не са шифрирани.
+identity-description-passive-loaded = Връзката не е поверителна и споделяната информация със сайта може да бъде видяна от други.
+identity-description-passive-loaded-insecure2 = Страницата има нешифровано съдържание, като например изображения.
+identity-description-passive-loaded-mixed2 = { -brand-short-name } блокира част от съдържанието, но все още има съдържание, което не е шифрирано, като например изображения.
+identity-description-active-loaded = Страницата има съдържание, например скриптове, което не е шифровано, и връзката със сайта не е поверителна.
+identity-description-active-loaded-insecure = Споделяната със сайта информация, като например пароли, съобщения, банкови карти и др., може да бъде виждана от други.
+identity-disable-mixed-content-blocking =
+ .label = Изключване на защитата за момента
+ .accesskey = И
+identity-enable-mixed-content-blocking =
+ .label = Включване на защитата
+ .accesskey = В
+identity-more-info-link-text =
+ .label = Повече информация
+
+## Window controls
+
+browser-window-minimize-button =
+ .tooltiptext = Минимизиране
+browser-window-maximize-button =
+ .tooltiptext = Увеличаване
+browser-window-restore-down-button =
+ .tooltiptext = Възстановете надолу
+browser-window-close-button =
+ .tooltiptext = Затваряне
+
+## Tab actions
+
+# This label should be written in all capital letters if your locale supports them.
+browser-tab-audio-playing2 = ИЗПЪЛНЯВА СЕ
+# This label should be written in all capital letters if your locale supports them.
+browser-tab-audio-muted2 = БЕЗ ЗВУК
+# This label should be written in all capital letters if your locale supports them.
+browser-tab-audio-blocked = АВТ. ВЪЗПРОИЗВЕЖДАНЕ СПРЯНО
+# This label should be written in all capital letters if your locale supports them.
+browser-tab-audio-pip = КАРТИНА В КАРТИНАТА
+
+## These labels should be written in all capital letters if your locale supports them.
+## Variables:
+## $count (number): number of affected tabs
+
+browser-tab-mute =
+ { $count ->
+ [one] БЕЗ ЗВУК В РАЗДЕЛА
+ *[other] БЕЗ ЗВУЦИ В { $count } РАЗДЕЛА
+ }
+browser-tab-unmute =
+ { $count ->
+ [one] ВЪЗСТАНОВЯВАНЕ НА ЗВУКА В РАЗДЕЛА
+ *[other] ВЪЗСТАНОВЯВАНЕ НА ЗВУКА В { $count } РАЗДЕЛА
+ }
+browser-tab-unblock =
+ { $count ->
+ [one] ВЪЗПРОИЗВЕЖДАНЕ НА ЗВУК В РАЗДЕЛА
+ *[other] ВЪЗПРОИЗВЕЖДАНЕ НА ЗВУК В { $count } РАЗДЕЛА
+ }
+
+## Bookmarks toolbar items
+
+browser-import-button2 =
+ .label = Внасяне на отметки…
+ .tooltiptext = Внасяне на отметки от друг четец във { -brand-short-name }.
+bookmarks-toolbar-empty-message = За бърз достъп, поставете вашите отметки тук, на лентата с отметки. <a data-l10n-name="manage-bookmarks">Управление на отметки…</a>
+
+## WebRTC Pop-up notifications
+
+popup-select-camera-device =
+ .value = Камера
+ .accesskey = К
+popup-select-camera-icon =
+ .tooltiptext = Камера
+popup-select-microphone-device =
+ .value = Микрофон:
+ .accesskey = М
+popup-select-microphone-icon =
+ .tooltiptext = Микрофон
+popup-select-speaker-icon =
+ .tooltiptext = Високоговорители
+popup-select-window-or-screen =
+ .label = Прозорец или екран:
+ .accesskey = П
+popup-all-windows-shared = Всички видими прозорци на вашия екран ще бъдат споделени.
+
+## WebRTC window or screen share tab switch warning
+
+sharing-warning-window = Споделяте { -brand-short-name }. Други хора могат да видят, когато превключите към друг раздел.
+sharing-warning-screen = Споделяте целия си екран. Други хора могат да видят, когато превключите към друг раздел.
+sharing-warning-proceed-to-tab =
+ .label = Продължете към раздел
+sharing-warning-disable-for-session =
+ .label = Изключване на защита от споделяне за сесията
+
+## DevTools F12 popup
+
+enable-devtools-popup-description2 = За да използвате клавишна комбинация F12, първо отворете DevTools от менюто с инструменти на четеца.
+
+## URL Bar
+
+# This string is used as an accessible name to the "X" button that cancels a custom search mode (i.e. exits the Amazon.com search mode).
+urlbar-search-mode-indicator-close =
+ .aria-label = Затваряне
+# This placeholder is used when not in search mode and the user's default search
+# engine is unknown.
+urlbar-placeholder =
+ .placeholder = Търсете или въведете адрес
+# This placeholder is used in search mode with search engines that search the
+# entire web.
+# Variables
+# $name (String): the name of a search engine that searches the entire Web
+# (e.g. Google).
+urlbar-placeholder-search-mode-web-2 =
+ .placeholder = Търсене в интернет
+ .aria-label = Търсете с { $name }
+# This placeholder is used in search mode with search engines that search a
+# specific site (e.g., Amazon).
+# Variables
+# $name (String): the name of a search engine that searches a specific site
+# (e.g. Amazon).
+urlbar-placeholder-search-mode-other-engine =
+ .placeholder = Въведете търсене
+ .aria-label = Търсете в { $name }
+# This placeholder is used when searching bookmarks.
+urlbar-placeholder-search-mode-other-bookmarks =
+ .placeholder = Въведете търсене
+ .aria-label = Търсене в отметки
+# This placeholder is used when searching history.
+urlbar-placeholder-search-mode-other-history =
+ .placeholder = Въведете търсене
+ .aria-label = Търсене в история
+# This placeholder is used when searching open tabs.
+urlbar-placeholder-search-mode-other-tabs =
+ .placeholder = Въведете търсене
+ .aria-label = Търсене в раздели
+# This placeholder is used when searching quick actions.
+urlbar-placeholder-search-mode-other-actions =
+ .placeholder = Въведете търсене
+ .aria-label = Действия при търсене
+# Variables
+# $name (String): the name of the user's default search engine
+urlbar-placeholder-with-name =
+ .placeholder = Търсете с { $name } или въведете адрес
+# Variables
+# $component (String): the name of the component which forces remote control.
+# Example: "DevTools", "Marionette", "RemoteAgent".
+urlbar-remote-control-notification-anchor2 =
+ .tooltiptext = Четецът се управлява отдалечено (причина: { $component })
+urlbar-permissions-granted =
+ .tooltiptext = Дали сте допълнителни права на страницата.
+urlbar-switch-to-tab =
+ .value = Превключване към раздел:
+# Used to indicate that a selected autocomplete entry is provided by an extension.
+urlbar-extension =
+ .value = Разширение:
+urlbar-go-button =
+ .tooltiptext = Зареждане на адреса в полето
+urlbar-page-action-button =
+ .tooltiptext = Действия със страницата
+
+## Action text shown in urlbar results, usually appended after the search
+## string or the url, like "result value - action text".
+
+# Used when the private browsing engine differs from the default engine.
+# The "with" format was chosen because the search engine name can end with
+# "Search", and we would like to avoid strings like "Search MSN Search".
+# Variables
+# $engine (String): the name of a search engine
+urlbar-result-action-search-in-private-w-engine = Търсене с { $engine } в поверителен прозорец
+# Used when the private browsing engine is the same as the default engine.
+urlbar-result-action-search-in-private = Търсене в поверителен прозорец
+# The "with" format was chosen because the search engine name can end with
+# "Search", and we would like to avoid strings like "Search MSN Search".
+# Variables
+# $engine (String): the name of a search engine
+urlbar-result-action-search-w-engine = Търсене с { $engine }
+urlbar-result-action-sponsored = Спонсорирано
+urlbar-result-action-switch-tab = Превключване към раздел
+urlbar-result-action-visit = Посещаване
+# Directs a user to press the Tab key to perform a search with the specified
+# engine.
+# Variables
+# $engine (String): the name of a search engine that searches the entire Web
+# (e.g. Google).
+urlbar-result-action-before-tabtosearch-web = Натиснете Tab, за да търсите с { $engine }
+# Directs a user to press the Tab key to perform a search with the specified
+# engine.
+# Variables
+# $engine (String): the name of a search engine that searches a specific site
+# (e.g. Amazon).
+urlbar-result-action-before-tabtosearch-other = Натиснете Tab, за да търсите в { $engine }
+# Variables
+# $engine (String): the name of a search engine that searches the entire Web
+# (e.g. Google).
+urlbar-result-action-tabtosearch-web = Търсете с { $engine } директно от адресната лента
+# Variables
+# $engine (String): the name of a search engine that searches a specific site
+# (e.g. Amazon).
+urlbar-result-action-tabtosearch-other-engine = Търсете в { $engine } директно от адресната лента
+# Action text for copying to clipboard.
+urlbar-result-action-copy-to-clipboard = Копиране
+# Shows the result of a formula expression being calculated, the last = sign will be shown
+# as part of the result (e.g. "= 2").
+# Variables
+# $result (String): the string representation for a formula result
+urlbar-result-action-calculator-result = = { $result }
+
+## Action text shown in urlbar results, usually appended after the search
+## string or the url, like "result value - action text".
+## In these actions "Search" is a verb, followed by where the search is performed.
+
+urlbar-result-action-search-bookmarks = Търсене в отметките
+urlbar-result-action-search-history = Търсене в историята
+urlbar-result-action-search-tabs = Търсене на раздели
+urlbar-result-action-search-actions = Действия при търсене
+
+## Labels shown above groups of urlbar results
+
+# A label shown above the "Firefox Suggest" (bookmarks/history) group in the
+# urlbar results.
+urlbar-group-firefox-suggest =
+ .label = { -firefox-suggest-brand-name }
+# A label shown above the search suggestions group in the urlbar results. It
+# should use sentence case.
+# Variables
+# $engine (String): the name of the search engine providing the suggestions
+urlbar-group-search-suggestions =
+ .label = Предложения от { $engine }
+# A label shown above Quick Actions in the urlbar results.
+urlbar-group-quickactions =
+ .label = Бързи действия
+
+## Reader View toolbar buttons
+
+# This should match menu-view-enter-readerview in menubar.ftl
+reader-view-enter-button =
+ .aria-label = Отваря изгледа за четене
+# This should match menu-view-close-readerview in menubar.ftl
+reader-view-close-button =
+ .aria-label = Затваря изгледа за четене
+
+## Picture-in-Picture urlbar button
+## Variables:
+## $shortcut (String) - Keyboard shortcut to execute the command.
+
+picture-in-picture-urlbar-button-open =
+ .tooltiptext = Отваряне на картина в картина ({ $shortcut })
+picture-in-picture-urlbar-button-close =
+ .tooltiptext = Затваряне на картина в картината ({ $shortcut })
+picture-in-picture-panel-header = Картина в картината
+picture-in-picture-panel-headline = Този уебсайт не препоръчва картина в картина
+
+## Full Screen and Pointer Lock UI
+
+# Please ensure that the domain stays in the `<span data-l10n-name="domain">` markup.
+# Variables
+# $domain (String): the domain that is full screen, e.g. "mozilla.org"
+fullscreen-warning-domain = <span data-l10n-name="domain">{ $domain }</span> на цял екран
+fullscreen-warning-no-domain = Сега документът е на цял екран
+fullscreen-exit-button = Излизане от цял екран (Esc)
+# "esc" is lowercase on mac keyboards, but uppercase elsewhere.
+fullscreen-exit-mac-button = Излизане от цял екран (esc)
+# Please ensure that the domain stays in the `<span data-l10n-name="domain">` markup.
+# Variables
+# $domain (String): the domain that is using pointer-lock, e.g. "mozilla.org"
+pointerlock-warning-domain = <span data-l10n-name="domain">{ $domain }</span> контролира показалеца на мишката ви. Натиснете Esc, за да си възвърнете контрола.
+pointerlock-warning-no-domain = Този документ контролира показалеца на мишката ви. Натиснете Esc, за да си възвърнете контрола.
+
+## Bookmarks panels, menus and toolbar
+
+bookmarks-manage-bookmarks =
+ .label = Управление на отметки
+bookmarks-recent-bookmarks-panel-subheader = Последни отметки
+bookmarks-toolbar-chevron =
+ .tooltiptext = Показване на повече отметки
+bookmarks-sidebar-content =
+ .aria-label = Отметки
+bookmarks-menu-button =
+ .label = Меню с отметки
+bookmarks-other-bookmarks-menu =
+ .label = Други отметки
+bookmarks-mobile-bookmarks-menu =
+ .label = Мобилни отметки
+
+## Variables:
+## $isVisible (boolean): if the specific element (e.g. bookmarks sidebar,
+## bookmarks toolbar, etc.) is visible or not.
+
+bookmarks-tools-sidebar-visibility =
+ .label =
+ { $isVisible ->
+ [true] Скриване на лентата с отметки
+ *[other] Странична лента с отметки
+ }
+bookmarks-tools-toolbar-visibility-menuitem =
+ .label =
+ { $isVisible ->
+ [true] Скриване на страничната лента с отметки
+ *[other] Показване на лентата с отметки
+ }
+bookmarks-tools-toolbar-visibility-panel =
+ .label =
+ { $isVisible ->
+ [true] Скриване на лентата с отметки
+ *[other] Показване на лентата с отметки
+ }
+bookmarks-tools-menu-button-visibility =
+ .label =
+ { $isVisible ->
+ [true] Премахване на меню Oтметки от лентата с инструменти
+ *[other] Добавяне на меню Отметки към лентата с инструменти
+ }
+
+##
+
+bookmarks-search =
+ .label = Търсене в отметките
+bookmarks-tools =
+ .label = Инструменти за отметки
+bookmarks-subview-edit-bookmark =
+ .label = Промяна на отметка…
+# The aria-label is a spoken label that should not include the word "toolbar" or
+# such, because screen readers already know that this container is a toolbar.
+# This avoids double-speaking.
+bookmarks-toolbar =
+ .toolbarname = Лента с отметки
+ .accesskey = о
+ .aria-label = Отметки
+bookmarks-toolbar-menu =
+ .label = Лента с отметки
+bookmarks-toolbar-placeholder =
+ .title = Елементи на лентата с отметките
+bookmarks-toolbar-placeholder-button =
+ .label = Елементи на лентата с отметките
+# "Bookmark" is a verb, as in "Add current tab to bookmarks".
+bookmarks-subview-bookmark-tab =
+ .label = Отмятане на текущия раздел…
+
+## Library Panel items
+
+library-bookmarks-menu =
+ .label = Отметки
+library-recent-activity-title =
+ .value = Последна активност
+
+## Pocket toolbar button
+
+save-to-pocket-button =
+ .label = Запазване в { -pocket-brand-name }
+ .tooltiptext = Запазване в { -pocket-brand-name }
+
+## Repair text encoding toolbar button
+
+repair-text-encoding-button =
+ .label = Поправка на кодировката
+ .tooltiptext = Прави предположение за кодирането на текста от съдържанието на страницата
+
+## Customize Toolbar Buttons
+
+# Variables:
+# $shortcut (String): keyboard shortcut to open settings (only on macOS)
+toolbar-settings-button =
+ .label = Настройки
+ .tooltiptext =
+ { PLATFORM() ->
+ [macos] Отваряне на настройките ({ $shortcut })
+ *[other] Отваряне на настройките
+ }
+toolbar-overflow-customize-button =
+ .label = Приспособяване…
+ .accesskey = П
+toolbar-button-email-link =
+ .label = Препратка по имейл
+ .tooltiptext = Изпращане на препратка към страница по ел. поща
+toolbar-button-logins =
+ .label = Пароли
+ .tooltiptext = Преглеждайте и управлявайте запазените пароли
+# Variables:
+# $shortcut (String): keyboard shortcut to save a copy of the page
+toolbar-button-save-page =
+ .label = Запазване на страницата
+ .tooltiptext = Запазване на страницата ({ $shortcut })
+# Variables:
+# $shortcut (String): keyboard shortcut to open a local file
+toolbar-button-open-file =
+ .label = Отваряне на файл
+ .tooltiptext = Отваряне на файл ({ $shortcut })
+toolbar-button-synced-tabs =
+ .label = Синхронизирани раздели
+ .tooltiptext = Показване на раздели от други устройства
+# Variables
+# $shortcut (string) - Keyboard shortcut to open a new private browsing window
+toolbar-button-new-private-window =
+ .label = Поверителен прозорец
+ .tooltiptext = Отваряне на поверителен прозорец ({ $shortcut })
+
+## EME notification panel
+
+eme-notifications-drm-content-playing = Аудио или видеозапис от страницата използва софтуер за DRM, който може да ограничи какво { -brand-short-name } ви позволява да правите с тях.
+eme-notifications-drm-content-playing-manage = Управление на настройките
+eme-notifications-drm-content-playing-manage-accesskey = М
+eme-notifications-drm-content-playing-dismiss = Прекратяване
+eme-notifications-drm-content-playing-dismiss-accesskey = р
+
+## Password save/update panel
+
+panel-save-update-username = Потребителско име
+panel-save-update-password = Парола
+
+##
+
+# "More" item in macOS share menu
+menu-share-more =
+ .label = Още…
+ui-tour-info-panel-close =
+ .tooltiptext = Затваряне
+
+## Variables:
+## $uriHost (String): URI host for which the popup was allowed or blocked.
+
+popups-infobar-allow =
+ .label = Разрешаване на изскачащи прозорци от { $uriHost }
+ .accesskey = Р
+popups-infobar-block =
+ .label = Спиране на изскачащите прозорци от { $uriHost }
+ .accesskey = Р
+
+##
+
+popups-infobar-dont-show-message =
+ .label = Без съобщение при блокиране на изскачащи прозорци
+ .accesskey = Б
+edit-popup-settings =
+ .label = Управление на изскачащи прозорци…
+ .accesskey = и
+picture-in-picture-hide-toggle =
+ .label = Скриване на бутона за превключване на картина в картината
+ .accesskey = с
+
+## Since the default position for PiP controls does not change for RTL layout,
+## right-to-left languages should use "Left" and "Right" as in the English strings,
+
+picture-in-picture-move-toggle-right =
+ .label = Преместване на бутона за „Картина в картината“ отдясно
+ .accesskey = д
+picture-in-picture-move-toggle-left =
+ .label = Преместване на бутона за „Картина в картината“ отляво
+ .accesskey = л
+
+##
+
+
+# Navigator Toolbox
+
+# This string is a spoken label that should not include
+# the word "toolbar" or such, because screen readers already know that
+# this container is a toolbar. This avoids double-speaking.
+navbar-accessible =
+ .aria-label = Навигация
+navbar-downloads =
+ .label = Изтегляния
+navbar-overflow =
+ .tooltiptext = Още инструменти…
+# Variables:
+# $shortcut (String): keyboard shortcut to print the page
+navbar-print =
+ .label = Отпечатване
+ .tooltiptext = Отпечатване на страница… ({ $shortcut })
+navbar-home =
+ .label = Начало
+ .tooltiptext = Начална страница на { -brand-short-name }
+navbar-library =
+ .label = Библиотека
+ .tooltiptext = Преглед на история, запазени отметки и други
+navbar-search =
+ .title = Търсене
+# Name for the tabs toolbar as spoken by screen readers. The word
+# "toolbar" is appended automatically and should not be included in
+# in the string
+tabs-toolbar =
+ .aria-label = Раздели на четеца
+tabs-toolbar-new-tab =
+ .label = Нов раздел
+tabs-toolbar-list-all-tabs =
+ .label = Показване на всички раздели
+ .tooltiptext = Показване на всички раздели
+
+## Infobar shown at startup to suggest session-restore
+
+# <img data-l10n-name="icon"/> will be replaced by the application menu icon
+restore-session-startup-suggestion-message = <strong>Отваряне на последните раздели?</strong> Можете да възстановите предишната си сесия от менюто на приложението { -brand-short-name } <img data-l10n-name="icon"/>, раздел „История“.
+restore-session-startup-suggestion-button = Покажете ми как
+
+## Mozilla data reporting notification (Telemetry, Firefox Health Report, etc)
+
+data-reporting-notification-message = { -brand-short-name } автоматично изпраща данни към { -vendor-short-name }, за да може да подобрим вашето преживяване.
+data-reporting-notification-button =
+ .label = Изберете какво споделяте
+ .accesskey = И
+# Label for the indicator shown in the private browsing window titlebar.
+private-browsing-indicator-label = Поверително разглеждане
+
+## Unified extensions (toolbar) button
+
+unified-extensions-button =
+ .label = Разширения
+ .tooltiptext = Разширения
+
+## Unified extensions button when permission(s) are needed.
+## Note that the new line is intentionally part of the tooltip.
+
+unified-extensions-button-permissions-needed =
+ .label = Разширения
+ .tooltiptext =
+ Разширения
+ Необходими са права
+
+## Unified extensions button when some extensions are quarantined.
+## Note that the new line is intentionally part of the tooltip.
+
+unified-extensions-button-quarantined =
+ .label = Разширения
+ .tooltiptext =
+ Разширения
+ Някои разширения не са позволени
+
+## Private browsing reset button
+
+
+## Autorefresh blocker
+
+refresh-blocked-refresh-label = { -brand-short-name } попречи на автоматичното презареждане на страницата.
+refresh-blocked-redirect-label = { -brand-short-name } попречи на автоматичното пренасочване на страницата.
+refresh-blocked-allow =
+ .label = Разрешаване
+ .accesskey = ш
+
+## Firefox Relay integration
+
+
+## Add-on Pop-up Notifications
+
+popup-notification-addon-install-unsigned =
+ .value = (непроверено)
+popup-notification-xpinstall-prompt-learn-more = Научете повече за безопасното инсталиране на добавки
+
+## Pop-up warning
+
+# Variables:
+# $popupCount (Number): the number of pop-ups blocked.
+popup-warning-message =
+ { $popupCount ->
+ [one] { -brand-short-name } попречи на страницата да отвори изскачащ прозорец
+ *[other] { -brand-short-name } попречи на страницата да отвори { $popupCount } изскачащи прозореца.
+ }
+# The singular form is left out for English, since the number of blocked pop-ups is always greater than 1.
+# Variables:
+# $popupCount (Number): the number of pop-ups blocked.
+popup-warning-exceeded-message = { -brand-short-name } попречи на страницата да отвори повече от { $popupCount } изскачащи прозореца.
+popup-warning-button =
+ .label =
+ { PLATFORM() ->
+ [windows] Настройки
+ *[other] Настройки
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [windows] Н
+ *[other] Н
+ }
+# Variables:
+# $popupURI (String): the URI for the pop-up window
+popup-show-popup-menuitem =
+ .label = Показване на „{ $popupURI }“
diff --git a/l10n-bg/browser/browser/browserContext.ftl b/l10n-bg/browser/browser/browserContext.ftl
new file mode 100644
index 0000000000..b2696a48d6
--- /dev/null
+++ b/l10n-bg/browser/browser/browserContext.ftl
@@ -0,0 +1,382 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+navbar-tooltip-instruction =
+ .value =
+ { PLATFORM() ->
+ [macos] Дръпнете надолу, за да се покаже историята
+ *[other] Натиснете с десния бутон или дръпнете надолу, за да се покаже историята
+ }
+
+## Back
+
+# Variables
+# $shortcut (String) - A keyboard shortcut for the Go Back command.
+main-context-menu-back-2 =
+ .tooltiptext = Връщане една страница назад ({ $shortcut })
+ .aria-label = Назад
+ .accesskey = з
+# This menuitem is only visible on macOS
+main-context-menu-back-mac =
+ .label = Назад
+ .accesskey = з
+navbar-tooltip-back-2 =
+ .value = { main-context-menu-back-2.tooltiptext }
+toolbar-button-back-2 =
+ .label = { main-context-menu-back-2.aria-label }
+
+## Forward
+
+# Variables
+# $shortcut (String) - A keyboard shortcut for the Go Forward command.
+main-context-menu-forward-2 =
+ .tooltiptext = Отиване една страница напред ({ $shortcut })
+ .aria-label = Напред
+ .accesskey = п
+# This menuitem is only visible on macOS
+main-context-menu-forward-mac =
+ .label = Напред
+ .accesskey = п
+navbar-tooltip-forward-2 =
+ .value = { main-context-menu-forward-2.tooltiptext }
+toolbar-button-forward-2 =
+ .label = { main-context-menu-forward-2.aria-label }
+
+## Reload
+
+main-context-menu-reload =
+ .aria-label = Презареждане
+ .accesskey = п
+# This menuitem is only visible on macOS
+main-context-menu-reload-mac =
+ .label = Презареждане
+ .accesskey = п
+toolbar-button-reload =
+ .label = { main-context-menu-reload.aria-label }
+
+## Stop
+
+main-context-menu-stop =
+ .aria-label = Спиране
+ .accesskey = с
+# This menuitem is only visible on macOS
+main-context-menu-stop-mac =
+ .label = Спиране
+ .accesskey = с
+toolbar-button-stop =
+ .label = { main-context-menu-stop.aria-label }
+
+## Stop-Reload Button
+
+toolbar-button-stop-reload =
+ .title = { main-context-menu-reload.aria-label }
+
+## Firefox Account Button
+
+toolbar-button-fxaccount =
+ .label = { -fxaccount-brand-name }
+ .tooltiptext = { -fxaccount-brand-name }
+
+## Save Page
+
+main-context-menu-page-save =
+ .label = Запазване като…
+ .accesskey = З
+
+## Simple menu items
+
+main-context-menu-bookmark-page =
+ .aria-label = Отмятане на страница...
+ .accesskey = О
+ .tooltiptext = Отмятане на страница
+# This menuitem is only visible on macOS
+# Cannot be shown at the same time as main-context-menu-edit-bookmark-mac,
+# so should probably have the same access key if possible.
+main-context-menu-bookmark-page-mac =
+ .label = Отмятане на страница…
+ .accesskey = О
+# This menuitem is only visible on macOS
+# Cannot be shown at the same time as main-context-menu-bookmark-page-mac,
+# so should probably have the same access key if possible.
+main-context-menu-edit-bookmark-mac =
+ .label = Промяна на отметка…
+ .accesskey = П
+# Variables
+# $shortcut (String) - A keyboard shortcut for the add bookmark command.
+main-context-menu-bookmark-page-with-shortcut =
+ .aria-label = Отмятане на страницата…
+ .accesskey = О
+ .tooltiptext = Отмята страницата ({ $shortcut })
+main-context-menu-edit-bookmark =
+ .aria-label = Промяна на отметката…
+ .accesskey = П
+ .tooltiptext = Променя отметката
+# Variables
+# $shortcut (String) - A keyboard shortcut for the edit bookmark command.
+main-context-menu-edit-bookmark-with-shortcut =
+ .aria-label = Промяна на отметката…
+ .accesskey = П
+ .tooltiptext = Променя отметката ({ $shortcut })
+main-context-menu-open-link =
+ .label = Отваряне на препратката
+ .accesskey = п
+main-context-menu-open-link-new-tab =
+ .label = Отваряне в раздел
+ .accesskey = д
+main-context-menu-open-link-container-tab =
+ .label = Отваряне в изолиран раздел
+ .accesskey = и
+main-context-menu-open-link-new-window =
+ .label = Отваряне в прозорец
+ .accesskey = п
+main-context-menu-open-link-new-private-window =
+ .label = Отваряне в поверителен прозорец
+ .accesskey = в
+main-context-menu-bookmark-link-2 =
+ .label = Отмятане на връзка...
+ .accesskey = в
+main-context-menu-save-link =
+ .label = Запазване на препратката като…
+ .accesskey = к
+main-context-menu-save-link-to-pocket =
+ .label = Запазване на препратката в { -pocket-brand-name }
+ .accesskey = п
+
+## The access keys for "Copy Link" and "Copy Email Address"
+## should be the same if possible; the two context menu items
+## are mutually exclusive.
+
+main-context-menu-copy-email =
+ .label = Копиране на електронния адрес
+ .accesskey = е
+main-context-menu-copy-phone =
+ .label = Копиране на телефонния номер
+ .accesskey = т
+main-context-menu-copy-link-simple =
+ .label = Копиране на препратка
+ .accesskey = к
+# This command copies the link, removing additional
+# query parameters used to track users across sites.
+main-context-menu-strip-on-share-link =
+ .label = Копиране на препратката без проследяване
+ .accesskey = п
+
+## Media (video/audio) controls
+##
+## The accesskey for "Play" and "Pause" are the
+## same because the two context-menu items are
+## mutually exclusive.
+
+main-context-menu-media-play =
+ .label = Изпълняване
+ .accesskey = И
+main-context-menu-media-pause =
+ .label = Пауза
+ .accesskey = П
+
+##
+
+main-context-menu-media-mute =
+ .label = Без звук
+ .accesskey = з
+main-context-menu-media-unmute =
+ .label = Със звук
+ .accesskey = з
+main-context-menu-media-play-speed-2 =
+ .label = Скорост
+ .accesskey = с
+main-context-menu-media-play-speed-slow-2 =
+ .label = 0.5×
+main-context-menu-media-play-speed-normal-2 =
+ .label = 1.0×
+main-context-menu-media-play-speed-fast-2 =
+ .label = 1.25×
+main-context-menu-media-play-speed-faster-2 =
+ .label = 1.5×
+main-context-menu-media-play-speed-fastest-2 =
+ .label = 2×
+main-context-menu-media-loop =
+ .label = Повтаряне
+ .accesskey = в
+
+## The access keys for "Show Controls" and "Hide Controls" are the same
+## because the two context-menu items are mutually exclusive.
+
+main-context-menu-media-show-controls =
+ .label = Показване на копчетата
+ .accesskey = к
+main-context-menu-media-hide-controls =
+ .label = Скриване на копчетата
+ .accesskey = к
+
+##
+
+main-context-menu-media-video-fullscreen =
+ .label = Цял екран
+ .accesskey = Ц
+main-context-menu-media-video-leave-fullscreen =
+ .label = Излизане от цял екран
+ .accesskey = ц
+# This is used when right-clicking on a video in the
+# content area when the Picture-in-Picture feature is enabled.
+main-context-menu-media-watch-pip =
+ .label = Отваряне на картина в картина
+ .accesskey = к
+main-context-menu-image-reload =
+ .label = Презареждане на изображение
+ .accesskey = з
+main-context-menu-image-view-new-tab =
+ .label = Отваряне на изображение в раздел
+ .accesskey = и
+main-context-menu-video-view-new-tab =
+ .label = Отваряне на видео в раздел
+ .accesskey = в
+main-context-menu-image-copy =
+ .label = Копиране на изображение
+ .accesskey = з
+main-context-menu-image-copy-link =
+ .label = Копиране на препратка към изображение
+ .accesskey = и
+main-context-menu-video-copy-link =
+ .label = Копиране на препратка към видео
+ .accesskey = в
+main-context-menu-audio-copy-link =
+ .label = Копиране на препратка към аудио
+ .accesskey = а
+main-context-menu-image-save-as =
+ .label = Запазване на изображение като…
+ .accesskey = ж
+main-context-menu-image-email =
+ .label = Изпращане на изображение по мейл…
+ .accesskey = ж
+main-context-menu-image-set-image-as-background =
+ .label = Поставяне като фон на плота…
+ .accesskey = ф
+main-context-menu-image-copy-text =
+ .label = Копиране на текст от изображение
+ .accesskey = т
+main-context-menu-image-info =
+ .label = Информация за изображение
+ .accesskey = И
+main-context-menu-image-desc =
+ .label = Преглед на описание
+ .accesskey = о
+main-context-menu-video-save-as =
+ .label = Запазване на видео като…
+ .accesskey = в
+main-context-menu-audio-save-as =
+ .label = Запазване на аудио като…
+ .accesskey = а
+main-context-menu-video-take-snapshot =
+ .label = Правене на екранна снимка
+ .accesskey = е
+main-context-menu-video-email =
+ .label = Изпращане на видео по мейл…
+ .accesskey = в
+main-context-menu-audio-email =
+ .label = Изпращане на аудио по мейл…
+ .accesskey = у
+main-context-menu-save-to-pocket =
+ .label = Запазване на страница в { -pocket-brand-name }
+ .accesskey = с
+main-context-menu-send-to-device =
+ .label = Изпращане на страница до устройство
+ .accesskey = у
+
+## The access keys for "Use Saved Login" and "Use Saved Password"
+## should be the same if possible; the two context menu items
+## are mutually exclusive.
+
+main-context-menu-use-saved-login =
+ .label = Използване на запазена регистрация
+ .accesskey = р
+# Displayed when there are saved passwords and the user clicks inside a username or password field
+main-context-menu-use-saved-password =
+ .label = Използване на запазена парола
+ .accesskey = п
+
+##
+
+main-context-menu-suggest-strong-password =
+ .label = Предлагане на добра парола…
+ .accesskey = а
+main-context-menu-manage-logins2 =
+ .label = Управление на регистрации…
+ .accesskey = У
+main-context-menu-manage-passwords =
+ .label = Управляване на пароли
+ .accesskey = У
+main-context-menu-keyword =
+ .label = Добавяне на ключова дума за търсене…
+ .accesskey = к
+main-context-menu-link-send-to-device =
+ .label = Изпращане на препратка до устройство
+ .accesskey = у
+main-context-menu-frame =
+ .label = Рамка
+ .accesskey = р
+main-context-menu-frame-show-this =
+ .label = Показване само на тази рамка
+ .accesskey = р
+main-context-menu-frame-open-tab =
+ .label = Отваряне в раздел
+ .accesskey = д
+main-context-menu-frame-open-window =
+ .label = Отваряне в прозорец
+ .accesskey = п
+main-context-menu-frame-reload =
+ .label = Презареждане на рамката
+ .accesskey = з
+main-context-menu-frame-add-bookmark =
+ .label = Отмятане на рамка…
+ .accesskey = т
+main-context-menu-frame-save-as =
+ .label = Запазване на рамката като…
+ .accesskey = р
+main-context-menu-frame-print =
+ .label = Отпечатване на рамката…
+ .accesskey = п
+main-context-menu-frame-view-source =
+ .label = Изходен код на рамката
+ .accesskey = р
+main-context-menu-frame-view-info =
+ .label = Информация за рамката
+ .accesskey = р
+main-context-menu-print-selection-2 =
+ .label = Отпечатване на избраното…
+ .accesskey = п
+main-context-menu-view-selection-source =
+ .label = Изходен код на избраното
+ .accesskey = к
+main-context-menu-take-screenshot =
+ .label = Снимка на екрана
+ .accesskey = е
+main-context-menu-take-frame-screenshot =
+ .label = Снимка на екрана
+ .accesskey = е
+main-context-menu-view-page-source =
+ .label = Изходен код на страница
+ .accesskey = к
+main-context-menu-bidi-switch-text =
+ .label = Превключване посоката на текста
+ .accesskey = р
+main-context-menu-bidi-switch-page =
+ .label = Превключване посоката на страницата
+ .accesskey = П
+main-context-menu-inspect =
+ .label = Инспектиране
+ .accesskey = с
+main-context-menu-inspect-a11y-properties =
+ .label = Изследване на достъпност
+main-context-menu-eme-learn-more =
+ .label = Научете повече за DRM…
+ .accesskey = D
+# Variables
+# $containerName (String): The name of the current container
+main-context-menu-open-link-in-container-tab =
+ .label = Отваряне в изолиран раздел { $containerName }
+ .accesskey = О
+main-context-menu-reveal-password =
+ .label = Показване на паролата
+ .accesskey = П
diff --git a/l10n-bg/browser/browser/browserSets.ftl b/l10n-bg/browser/browser/browserSets.ftl
new file mode 100644
index 0000000000..b645e6129e
--- /dev/null
+++ b/l10n-bg/browser/browser/browserSets.ftl
@@ -0,0 +1,218 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+window-minimize-command =
+ .label = Минимизиране
+
+window-zoom-command =
+ .label = Мащабиране
+
+window-new-shortcut =
+ .key = N
+
+window-minimize-shortcut =
+ .key = m
+
+close-shortcut =
+ .key = W
+
+tab-new-shortcut =
+ .key = t
+
+location-open-shortcut =
+ .key = l
+
+location-open-shortcut-alt =
+ .key = d
+
+search-focus-shortcut =
+ .key = k
+
+# This shortcut is used in two contexts:
+# - web search
+# - find in page
+find-shortcut =
+ .key = f
+
+search-find-again-shortcut =
+ .key = g
+
+search-find-again-shortcut-alt =
+ .keycode = VK_F3
+
+search-find-selection-shortcut =
+ .key = e
+
+# Verify what shortcut for that operation
+# are recommended by the Human Interface Guidelines
+# of each platform for your locale.
+search-focus-shortcut-alt =
+ .key =
+ { PLATFORM() ->
+ [linux] j
+ *[other] e
+ }
+
+# Verify what shortcut for that operation
+# are recommended by the Human Interface Guidelines
+# of each platform for your locale.
+downloads-shortcut =
+ .key =
+ { PLATFORM() ->
+ [linux] y
+ *[other] j
+ }
+
+addons-shortcut =
+ .key = A
+
+file-open-shortcut =
+ .key = o
+
+save-page-shortcut =
+ .key = s
+
+page-source-shortcut =
+ .key = u
+
+# This should match the Option+Command keyboard shortcut letter that Safari
+# and Chrome use for "View Source" on macOS. `page-source-shortcut` above
+# is Firefox's official keyboard shortcut shown in the GUI.
+# Safari variant is an alias provided for the convenience of Safari and Chrome
+# users on macOS. See bug 1398988.
+page-source-shortcut-safari =
+ .key = u
+
+page-info-shortcut =
+ .key = i
+
+print-shortcut =
+ .key = p
+
+mute-toggle-shortcut =
+ .key = M
+
+nav-back-shortcut-alt =
+ .key = [
+
+nav-fwd-shortcut-alt =
+ .key = ]
+
+nav-reload-shortcut =
+ .key = r
+
+# Shortcut available only on macOS.
+nav-stop-shortcut =
+ .key = .
+
+history-show-all-shortcut =
+ .key = H
+
+history-show-all-shortcut-mac =
+ .key = Y
+
+history-sidebar-shortcut =
+ .key = h
+
+full-screen-shortcut =
+ .key = f
+
+reader-mode-toggle-shortcut-windows =
+ .keycode = VK_F9
+
+reader-mode-toggle-shortcut-other =
+ .key = R
+
+picture-in-picture-toggle-shortcut-mac =
+ .key = ]
+
+# Pick the key that is commonly present
+# in your locale keyboards above the
+# `picture-in-picture-toggle-shortcut-mac` key.
+picture-in-picture-toggle-shortcut-mac-alt =
+ .key = { "}" }
+
+picture-in-picture-toggle-shortcut =
+ .key = ]
+
+# Pick the key that is commonly present
+# in your locale keyboards above the
+# `picture-in-picture-toggle-shortcut` key.
+picture-in-picture-toggle-shortcut-alt =
+ .key = { "}" }
+
+bookmark-this-page-shortcut =
+ .key = d
+
+# Verify what shortcut for that operation
+# are recommended by the Human Interface Guidelines
+# of each platform for your locale.
+bookmark-show-library-shortcut =
+ .key = O
+
+# Verify what shortcut for that operation
+# are recommended by the Human Interface Guidelines
+# of each platform for your locale.
+bookmark-show-sidebar-shortcut =
+ .key = b
+
+# Verify what shortcut for that operation
+# are recommended by the Human Interface Guidelines
+# of each platform for your locale.
+bookmark-show-toolbar-shortcut =
+ .key = B
+
+## All `-alt*` messages are alternative acceleration keys for zoom.
+## If shift key is needed with your locale popular keyboard for them,
+## you can use these alternative items. Otherwise, their values should be empty.
+
+full-zoom-reduce-shortcut =
+ .key = -
+
+full-zoom-reduce-shortcut-alt-a =
+ .key = _
+
+full-zoom-reduce-shortcut-alt-b =
+ .key = { "" }
+
+full-zoom-enlarge-shortcut =
+ .key = +
+
+full-zoom-enlarge-shortcut-alt =
+ .key = =
+
+full-zoom-enlarge-shortcut-alt2 =
+ .key = { "" }
+
+full-zoom-reset-shortcut =
+ .key = 0
+
+full-zoom-reset-shortcut-alt =
+ .key = { "" }
+
+##
+
+bidi-switch-direction-shortcut =
+ .key = X
+
+private-browsing-shortcut =
+ .key = P
+
+## The shortcuts below are for Mac specific
+## global menu.
+
+quit-app-shortcut =
+ .key = Q
+
+help-shortcut =
+ .key = ?
+
+preferences-shortcut =
+ .key = ,
+
+hide-app-shortcut =
+ .key = H
+
+hide-other-apps-shortcut =
+ .key = H
diff --git a/l10n-bg/browser/browser/colorways.ftl b/l10n-bg/browser/browser/colorways.ftl
new file mode 100644
index 0000000000..1b6098d6d7
--- /dev/null
+++ b/l10n-bg/browser/browser/colorways.ftl
@@ -0,0 +1,26 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Colorway collections
+
+## Colorway names and descriptions
+
+playmaker-colorway-name = Плеймейкър
+playmaker-colorway-description = Създавате възможности за победа и помагате на всички около вас да подобрят играта си.
+
+expressionist-colorway-name = Експресионист
+expressionist-colorway-description = Виждате околния свят по различен начин и творенията ви предизвикват емоции у другите.
+
+visionary-colorway-name = Визионер
+visionary-colorway-description = Поставяте под въпрос статуквото и карате другите да си представят по-добро бъдеще.
+
+activist-colorway-name = Активист
+activist-colorway-description = Оставяте света по-добър, отколкото сте го намерили, и карате другите да вярват в това.
+
+dreamer-colorway-name = Мечтател
+dreamer-colorway-description = Вярвате, че късметът идва при смелите, и вдъхновявате другите да бъдат смели.
+
+innovator-colorway-name = Изобретател
+innovator-colorway-description = Виждате възможности навсякъде и оказвате влияние върху живота на всички около вас.
diff --git a/l10n-bg/browser/browser/components/mozSupportLink.ftl b/l10n-bg/browser/browser/components/mozSupportLink.ftl
new file mode 100644
index 0000000000..c838304fe0
--- /dev/null
+++ b/l10n-bg/browser/browser/components/mozSupportLink.ftl
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+moz-support-link-text = Научете повече
diff --git a/l10n-bg/browser/browser/confirmationHints.ftl b/l10n-bg/browser/browser/confirmationHints.ftl
new file mode 100644
index 0000000000..d7e621aaba
--- /dev/null
+++ b/l10n-bg/browser/browser/confirmationHints.ftl
@@ -0,0 +1,23 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Confirmation hints
+
+confirmation-hint-breakage-report-sent = Докладът е изпратен. Благодарим ви!
+confirmation-hint-login-removed = Входните данни са премахнати!
+confirmation-hint-password-removed = Паролата е премахната!
+confirmation-hint-page-bookmarked = Добавено към отметките
+confirmation-hint-password-saved = Паролата е запазена!
+confirmation-hint-password-created = Паролата е запазена
+confirmation-hint-password-updated = Паролата е променена
+confirmation-hint-address-created = Адресът е запазен
+confirmation-hint-address-updated = Адресът е променен
+confirmation-hint-credit-card-created = Картата е запазена
+confirmation-hint-credit-card-updated = Картата е променена
+confirmation-hint-pin-tab = Закачен!
+confirmation-hint-pin-tab-description = Щракнете с десния бутон върху раздела, за да го махнете от леснодостъпните.
+confirmation-hint-send-to-device = Изпратено!
+confirmation-hint-firefox-relay-mask-created = Създадена е нова маска!
+confirmation-hint-screenshot-copied = Екранната снимка е копирана!
diff --git a/l10n-bg/browser/browser/contentCrash.ftl b/l10n-bg/browser/browser/contentCrash.ftl
new file mode 100644
index 0000000000..072f5ca8cd
--- /dev/null
+++ b/l10n-bg/browser/browser/contentCrash.ftl
@@ -0,0 +1,34 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Subframe crash notification
+
+crashed-subframe-message = <strong>Част от тази страница се срина.</strong> За да уведомите { -brand-product-name } за този проблем и да го поправим по-бързо, изпратете доклад.
+
+# The string for crashed-subframe-title.title should match crashed-subframe-message,
+# but without any markup.
+crashed-subframe-title =
+ .title = Част от тази страница се срина. За да уведомите { -brand-product-name } за този проблем и да го поправим по-бързо, изпратете доклад.
+crashed-subframe-learnmore-link =
+ .value = Научете повече
+crashed-subframe-submit =
+ .label = Изпращане на доклад
+ .accesskey = з
+
+## Pending crash reports
+
+# Variables:
+# $reportCount (Number): the number of pending crash reports
+pending-crash-reports-message =
+ { $reportCount ->
+ [one] Имате неизпратен доклад за срив
+ *[other] Имате { $reportCount } неизпратени доклада за срив
+ }
+pending-crash-reports-view-all =
+ .label = Преглед
+pending-crash-reports-send =
+ .label = Изпращане
+pending-crash-reports-always-send =
+ .label = Автоматично изпращане
diff --git a/l10n-bg/browser/browser/customizeMode.ftl b/l10n-bg/browser/browser/customizeMode.ftl
new file mode 100644
index 0000000000..11e8da6b33
--- /dev/null
+++ b/l10n-bg/browser/browser/customizeMode.ftl
@@ -0,0 +1,38 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+customize-mode-restore-defaults =
+ .label = Стандартни настройки
+customize-mode-menu-and-toolbars-header = Преместете своите любими елементи в лентата с инструменти или допълнителното меню.
+customize-mode-overflow-list-title = Допълнително меню
+customize-mode-uidensity =
+ .label = Плътност
+customize-mode-done =
+ .label = Готово
+customize-mode-toolbars =
+ .label = Ленти с инструменти
+customize-mode-titlebar =
+ .label = Лента със заглавието
+customize-mode-uidensity-menu-touch =
+ .label = Докосване
+ .accesskey = д
+ .tooltiptext = Докосване
+customize-mode-uidensity-auto-touch-mode-checkbox =
+ .label = Използване на Докосване в таблетен режим
+customize-mode-overflow-list-description = Завлачете елементи тук, за да ги имате под ръка, без да са на лентата с инструменти…
+customize-mode-uidensity-menu-normal =
+ .label = Нормална
+ .accesskey = Н
+ .tooltiptext = Нормална
+customize-mode-uidensity-menu-compact-unsupported =
+ .label = Компактна (не се поддържа)
+ .accesskey = К
+ .tooltiptext = Компактна (не се поддържа)
+customize-mode-undo-cmd =
+ .label = Отмяна
+customize-mode-lwthemes-link = Управление на темите
+customize-mode-touchbar-cmd =
+ .label = Настройки на лентата за докосване…
+customize-mode-downloads-button-autohide =
+ .label = Скриване на бутона ако няма нищо
diff --git a/l10n-bg/browser/browser/defaultBrowserNotification.ftl b/l10n-bg/browser/browser/defaultBrowserNotification.ftl
new file mode 100644
index 0000000000..4675814589
--- /dev/null
+++ b/l10n-bg/browser/browser/defaultBrowserNotification.ftl
@@ -0,0 +1,23 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# The question portion of the following message should have the <strong> and </strong> tags surrounding it.
+default-browser-notification-message = <strong>Задайте { -brand-short-name } като четец по подразбиране?</strong> Бързо, безопасно и поверително разглеждане, когато използвате интернет.
+default-browser-notification-button =
+ .label = Задаване по подразбиране
+ .accesskey = З
+
+## These strings are used for the default browser prompt. There are 2 variations
+## depending on the operating system (Windows vs other). The checkbox label and
+## secondary button are shared between the variants.
+
+default-browser-prompt-title-pin = Да бъде ли избран { -brand-short-name } за основен четец?
+default-browser-prompt-message-pin = Дръжте { -brand-short-name } наблизо като го направите четец по подразбиране и го закачите към лентата със задачи.
+default-browser-prompt-message-pin-mac = Дръжте { -brand-short-name } наблизо като го направите четец по подразбиране и го държите в Dock.
+default-browser-prompt-button-primary-pin = Направете основен четец
+default-browser-prompt-title-alt = Да бъде ли избран { -brand-short-name } за четец по подразбиране?
+default-browser-prompt-message-alt = Получавате скорост, безопасност и сигурност всеки път когато разглеждате.
+default-browser-prompt-button-primary-alt = Четец по подразбиране
+default-browser-prompt-checkbox-not-again-label = Спиране на този въпрос
+default-browser-prompt-button-secondary = Не сега
diff --git a/l10n-bg/browser/browser/downloads.ftl b/l10n-bg/browser/browser/downloads.ftl
new file mode 100644
index 0000000000..4555c4d089
--- /dev/null
+++ b/l10n-bg/browser/browser/downloads.ftl
@@ -0,0 +1,244 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## The title and aria-label attributes are used by screen readers to describe
+## the Downloads Panel.
+
+downloads-window =
+ .title = Изтегляния
+downloads-panel =
+ .aria-label = Изтегляния
+
+##
+
+# The style attribute has the width of the Downloads Panel expressed using
+# a CSS unit. The longest labels that should fit are usually those of
+# in-progress and blocked downloads.
+downloads-panel-items =
+ .style = width: 40em
+
+downloads-cmd-pause =
+ .label = Пауза
+ .accesskey = П
+downloads-cmd-resume =
+ .label = Продължаване
+ .accesskey = П
+downloads-cmd-cancel =
+ .tooltiptext = Прекъсване
+downloads-cmd-cancel-panel =
+ .aria-label = Прекъсване
+
+downloads-cmd-show-menuitem-2 =
+ .label =
+ { PLATFORM() ->
+ [macos] Показване в папката
+ *[other] Показване в папката
+ }
+ .accesskey = П
+
+## Displayed in the downloads context menu for files that can be opened.
+## Variables:
+## $handler (String) - The name of the mime type's default file handler.
+## Example: "Notepad", "Acrobat Reader DC", "7-Zip File Manager"
+
+downloads-cmd-use-system-default =
+ .label = Отваряне в системен четец
+ .accesskey = с
+# This version is shown when the download's mime type has a valid file handler.
+downloads-cmd-use-system-default-named =
+ .label = Отваряне от { $handler }
+ .accesskey = О
+
+# We can use the same accesskey as downloads-cmd-always-open-similar-files.
+# Both should not be visible in the downloads context menu at the same time.
+downloads-cmd-always-use-system-default =
+ .label = Отваряне в системен четец
+ .accesskey = с
+# We can use the same accesskey as downloads-cmd-always-open-similar-files.
+# Both should not be visible in the downloads context menu at the same time.
+# This version is shown when the download's mime type has a valid file handler.
+downloads-cmd-always-use-system-default-named =
+ .label = Винаги да се отваря от { $handler }
+ .accesskey = В
+
+##
+
+# We can use the same accesskey as downloads-cmd-always-use-system-default.
+# Both should not be visible in the downloads context menu at the same time.
+downloads-cmd-always-open-similar-files =
+ .label = Винаги да се отварят подобни файлове
+ .accesskey = ф
+
+downloads-cmd-show-button-2 =
+ .tooltiptext =
+ { PLATFORM() ->
+ [macos] Показване в папката
+ *[other] Показване в папката
+ }
+
+downloads-cmd-show-panel-2 =
+ .aria-label =
+ { PLATFORM() ->
+ [macos] Показване в папката
+ *[other] Показване в папката
+ }
+downloads-cmd-show-description-2 =
+ .value =
+ { PLATFORM() ->
+ [macos] Показване в папката
+ *[other] Показване в папката
+ }
+
+downloads-cmd-show-downloads =
+ .label = Отваряне на папка Изтегляния
+downloads-cmd-retry =
+ .tooltiptext = Повторен опит
+downloads-cmd-retry-panel =
+ .aria-label = Повторен опит
+downloads-cmd-go-to-download-page =
+ .label = Отваряне на целевата страница
+ .accesskey = О
+downloads-cmd-copy-download-link =
+ .label = Копиране на препратка за изтегляне
+ .accesskey = К
+downloads-cmd-remove-from-history =
+ .label = Премахване от списъка
+ .accesskey = П
+downloads-cmd-clear-list =
+ .label = Изчистване на списъка
+ .accesskey = п
+downloads-cmd-clear-downloads =
+ .label = Почистване на списъка
+ .accesskey = п
+downloads-cmd-delete-file =
+ .label = Премахване
+ .accesskey = П
+
+# This command is shown in the context menu when downloads are blocked.
+downloads-cmd-unblock =
+ .label = Разрешаване на изтеглянето
+ .accesskey = Р
+
+# This is the tooltip of the action button shown when malware is blocked.
+downloads-cmd-remove-file =
+ .tooltiptext = Премахване на файла
+
+downloads-cmd-remove-file-panel =
+ .aria-label = Премахване на файла
+
+# This is the tooltip of the action button shown when potentially unwanted
+# downloads are blocked. This opens a dialog where the user can choose
+# whether to unblock or remove the download. Removing is the default option.
+downloads-cmd-choose-unblock =
+ .tooltiptext = Премахване на файла или разрешаване на изтеглянето
+
+downloads-cmd-choose-unblock-panel =
+ .aria-label = Премахване на файла или разрешаване на изтеглянето
+
+# This is the tooltip of the action button shown when uncommon downloads are
+# blocked.This opens a dialog where the user can choose whether to open the
+# file or remove the download. Opening is the default option.
+downloads-cmd-choose-open =
+ .tooltiptext = Отваряне или премахване на файл
+
+downloads-cmd-choose-open-panel =
+ .aria-label = Отваряне или премахване на файл
+
+# Displayed when hovering a blocked download, indicates that it's possible to
+# show more information for user to take the next action.
+downloads-show-more-information =
+ .value = Повече информация
+
+# Displayed when hovering a complete download, indicates that it's possible to
+# open the file using an app available in the system.
+downloads-open-file =
+ .value = Отваряне
+
+## Displayed when the user clicked on a download in process. Indicates that the
+## downloading file will be opened after certain amount of time using an app
+## available in the system.
+## Variables:
+## $hours (number) - Amount of hours left till the file opens.
+## $seconds (number) - Amount of seconds left till the file opens.
+## $minutes (number) - Amount of minutes till the file opens.
+
+downloading-file-opens-in-hours-and-minutes-2 =
+ .value = Отваряне след { $hours } часа и { $minutes } минути
+downloading-file-opens-in-minutes-2 =
+ .value = Отваряне след { $minutes } минути
+downloading-file-opens-in-minutes-and-seconds-2 =
+ .value = Отваряне след { $minutes } минути и { $seconds } секунди
+downloading-file-opens-in-seconds-2 =
+ .value = Отваряне след { $seconds } секунди
+downloading-file-opens-in-some-time-2 =
+ .value = Отваряне, когато приключи…
+downloading-file-click-to-open =
+ .value = Отваряне, когато приключи
+
+##
+
+# Displayed when hovering a download which is able to be retried by users,
+# indicates that it's possible to download this file again.
+downloads-retry-download =
+ .value = Повторен опит за изтегляне
+
+# Displayed when hovering a download which is able to be cancelled by users,
+# indicates that it's possible to cancel and stop the download.
+downloads-cancel-download =
+ .value = Прекъсване
+
+# This string is shown at the bottom of the Downloads Panel when all the
+# downloads fit in the available space, or when there are no downloads in
+# the panel at all.
+downloads-history =
+ .label = Показване на всички изтегляния
+ .accesskey = в
+
+# This string is shown at the top of the download details sub-panel to indicate
+# that we are showing the details of a single download.
+downloads-details =
+ .title = Подробности за изтеглянето
+
+## Displayed when a site attempts to automatically download many files.
+## Variables:
+## $num (number) - Number of blocked downloads.
+## $url (string) - The url of the suspicious site, stripped of http, https and www prefix.
+
+downloads-files-not-downloaded =
+ { $num ->
+ [one] { $num } файл не е изтеглен.
+ *[other] { $num } файла не са изтеглени.
+ }
+downloads-blocked-from-url = Изтеглянията от { $url } са спрени.
+downloads-blocked-download-detailed-info = { $url } се опита да изтегли автоматично няколко файла. Възможно е сайтът да е повреден или да се опитва да изпраща нежелани файлове към устройството.
+
+##
+
+downloads-clear-downloads-button =
+ .label = Почистване на списъка
+ .tooltiptext = Премахва завършили, отменени и неуспешни изтегляния от списъка
+
+# This string is shown when there are no items in the Downloads view, when it
+# is displayed inside a browser tab.
+downloads-list-empty =
+ .value = Списъкът с изтегляния е празен.
+
+# This string is shown when there are no items in the Downloads Panel.
+downloads-panel-empty =
+ .value = За момента няма изтеглени файлове.
+
+## Download errors
+
+downloads-error-alert-title = Грешка при изтегляне
+# Variables:
+# $extension (String): the name of the blocking extension.
+downloads-error-blocked-by = Изтегленият файл не може да бъде запазен, защото е спрян от { $extension }.
+# Used when the name of the blocking extension is unavailable.
+downloads-error-extension = Изтегленият файл не може да бъде запазен, защото е спрян от разширение.
+# Line breaks in this message are meaningful, and should be maintained.
+downloads-error-generic =
+ Изтеглянето не може да бъде запазено поради грешка.
+
+ Моля, опитайте отново.
diff --git a/l10n-bg/browser/browser/editBookmarkOverlay.ftl b/l10n-bg/browser/browser/editBookmarkOverlay.ftl
new file mode 100644
index 0000000000..9e3d187cdb
--- /dev/null
+++ b/l10n-bg/browser/browser/editBookmarkOverlay.ftl
@@ -0,0 +1,61 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+bookmark-overlay-name-2 =
+ .value = Име
+ .accesskey = И
+
+bookmark-overlay-url =
+ .value = Адрес
+ .accesskey = а
+
+# Location refers to the position of the bookmark within the browser's
+# bookmarks, not to its URL or address.
+bookmark-overlay-location-2 =
+ .value = Местоположение
+ .accesskey = м
+
+bookmark-overlay-choose =
+ .label = Избиране…
+
+bookmark-overlay-folders-expander =
+ .tooltiptext = Показване на всички папки с отметки
+ .tooltiptextdown = { bookmark-overlay-folders-expander.tooltiptext }
+ .tooltiptextup = Скриване
+
+bookmark-overlay-folders-expander2 =
+ .tooltiptext = Показване на всички папки с отметки
+
+bookmark-overlay-folders-expander-hide =
+ .tooltiptext = Скриване
+
+bookmark-overlay-new-folder-button =
+ .label = Нова папка
+ .accesskey = Н
+
+bookmark-overlay-tags-2 =
+ .value = Етикети
+ .accesskey = е
+
+bookmark-overlay-tags-empty-description =
+ .placeholder = Етикети, разделени със запетая
+
+bookmark-overlay-tags-expander =
+ .tooltiptext = Всички етикети
+ .tooltiptextdown = { bookmark-overlay-tags-expander.tooltiptext }
+ .tooltiptextup = Скриване
+
+bookmark-overlay-tags-expander2 =
+ .tooltiptext = Всички етикети
+
+bookmark-overlay-tags-expander-hide =
+ .tooltiptext = Скриване
+
+bookmark-overlay-keyword-2 =
+ .value = Ключова дума
+ .accesskey = К
+
+bookmark-overlay-tags-caption-label = Използвайте етикети, за да организирате и търсите отметки от адресната лента
+
+bookmark-overlay-keyword-caption-label-2 = Използвайте една единствена дума, за да отваряте отметки директно от адресната лента
diff --git a/l10n-bg/browser/browser/extensionsUI.ftl b/l10n-bg/browser/browser/extensionsUI.ftl
new file mode 100644
index 0000000000..70473ea437
--- /dev/null
+++ b/l10n-bg/browser/browser/extensionsUI.ftl
@@ -0,0 +1,31 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+webext-perms-learn-more = Научете повече
+# Variables:
+# $addonName (String): localized named of the extension that is asking to change the default search engine.
+# $currentEngine (String): name of the current search engine.
+# $newEngine (String): name of the new search engine.
+webext-default-search-description = Разширението „{ $addonName }“ ще промени вашата търсеща машина от { $currentEngine } на { $newEngine }. Съгласни ли сте?
+webext-default-search-yes =
+ .label = Да
+ .accesskey = д
+webext-default-search-no =
+ .label = Не
+ .accesskey = е
+# Variables:
+# $addonName (String): localized named of the extension that was just installed.
+addon-post-install-message = { $addonName } беше добавено.
+
+## A modal confirmation dialog to allow an extension on quarantined domains.
+
+# Variables:
+# $addonName (String): localized name of the extension.
+webext-quarantine-confirmation-title = Изпълняване на { $addonName } на ограничени страници?
+webext-quarantine-confirmation-allow =
+ .label = Разрешаване
+ .accesskey = Р
+webext-quarantine-confirmation-deny =
+ .label = Забраняване
+ .accesskey = З
diff --git a/l10n-bg/browser/browser/featureCallout.ftl b/l10n-bg/browser/browser/featureCallout.ftl
new file mode 100644
index 0000000000..b494eee025
--- /dev/null
+++ b/l10n-bg/browser/browser/featureCallout.ftl
@@ -0,0 +1,36 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Callout dialog primary button to advance to next screen
+callout-primary-advance-button-label = Напред
+# Callout dialog primary button to complete the feature tour
+callout-primary-complete-button-label = Разбрах!
+
+## Firefox View feature tour strings
+
+# "Tab pickup" refers to the section in Firefox View that displays open
+# tabs from other devices
+callout-firefox-view-tab-pickup-title = Прескайте между устройства с избор на раздели
+callout-firefox-view-recently-closed-title = Върнете си затворените раздели за един миг
+callout-firefox-view-recently-closed-subtitle = Затворените раздели магически ще се покажат тук. Повече не се тревожете ако случайно затворите раздел.
+callout-firefox-view-colorways-title = Добавете пръска цвят
+callout-firefox-view-colorways-reminder-title = Разгледайте най-новите цветове
+# “Shades” refers to the different color options in each colorways
+callout-firefox-view-colorways-reminder-subtitle = Оцветете браузъра си с тези емблематични нюанси, вдъхновени от независими гласове. Само в { -brand-product-name }.
+
+## Continuous Onboarding - Firefox View: Tab pick up
+
+# “Boost your browsing” refers to the added benefit the user receives from having
+# access to the same browsing experience when moving from one browser to another.
+# Alternative: ”Improve your browsing experience with tab pickup”
+continuous-onboarding-firefox-view-tab-pickup-title = Ускорете разглеждането като избирате разделите
+continuous-onboarding-firefox-view-tab-pickup-subtitle = Получете достъп до разделите от всички устройства. Освен това, синхронизирайте отметките, паролите и други.
+continuous-onboarding-firefox-view-tab-pickup-primary-button-label = Въведение
+
+## PDF.js Feature Tour Strings
+
+callout-pdfjs-edit-title = Редактиране на PDF файлове с нашия нов инструмент за текст
+callout-pdfjs-edit-button = Напред
+callout-pdfjs-draw-title = Подписвайте документи с нашия нов инструмент за рисуване
+callout-pdfjs-draw-button = Разбрах!
diff --git a/l10n-bg/browser/browser/firefoxRelay.ftl b/l10n-bg/browser/browser/firefoxRelay.ftl
new file mode 100644
index 0000000000..ffb777fcb1
--- /dev/null
+++ b/l10n-bg/browser/browser/firefoxRelay.ftl
@@ -0,0 +1,19 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Error messages for failed HTTP web requests.
+## https://developer.mozilla.org/en-US/docs/Web/HTTP/Status#client_error_responses
+## Variables:
+## $status (Number) - HTTP status code, for example 403
+
+
+##
+
+firefox-relay-opt-in-confirmation-disable =
+ .label = Спиране на този въпрос
+ .accesskey = С
+firefox-relay-opt-in-confirmation-postpone =
+ .label = Не сега
+ .accesskey = Н
diff --git a/l10n-bg/browser/browser/firefoxView.ftl b/l10n-bg/browser/browser/firefoxView.ftl
new file mode 100644
index 0000000000..da4399cc1b
--- /dev/null
+++ b/l10n-bg/browser/browser/firefoxView.ftl
@@ -0,0 +1,98 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+toolbar-button-firefox-view =
+ .label = { -firefoxview-brand-name }
+ .tooltiptext = { -firefoxview-brand-name }
+menu-tools-firefox-view =
+ .label = { -firefoxview-brand-name }
+ .accesskey = ф
+firefoxview-page-title = { -firefoxview-brand-name }
+firefoxview-page-label =
+ .label = { -firefoxview-brand-name }
+firefoxview-close-button =
+ .title = Затваряне
+ .aria-label = Затваряне
+firefoxview-empty-state-icon =
+ .alt = Внимание:
+# Used instead of the localized relative time when a timestamp is within a minute or so of now
+firefoxview-just-now-timestamp = Току-що
+# This is a headline for an area in the product where users can resume and re-open tabs they have previously viewed on other devices.
+firefoxview-tabpickup-header = Избор на раздел
+firefoxview-tabpickup-description = Отваряне на страници от други устройства.
+# Variables:
+# $percentValue (Number): the percentage value for setup completion
+firefoxview-tabpickup-progress-label = { $percentValue }% завършено
+firefoxview-tabpickup-step-signin-header = Превключвайте безпроблемно между устройствата
+firefoxview-tabpickup-step-signin-description = За да вземете разделите от телефона си, първо влезте или създайте профил.
+firefoxview-tabpickup-step-signin-primarybutton = Напред
+firefoxview-syncedtabs-signin-header = Вземете раздели от всякъде
+firefoxview-syncedtabs-signin-primarybutton = Вписване или регистриране
+firefoxview-tabpickup-adddevice-learn-how = Научете как
+firefoxview-tabpickup-synctabs-header = Включване синхронизирането на раздели
+firefoxview-tabpickup-synctabs-learn-how = Научете как
+firefoxview-tabpickup-network-offline-header = Проверете връзката с интернет
+firefoxview-tabpickup-network-offline-primarybutton = Нов опит
+firefoxview-tabpickup-sync-error-primarybutton = Нов опит
+firefoxview-tabpickup-sync-disconnected-primarybutton = Включете синхронизирането в настройките
+firefoxview-tabpickup-password-locked-link = Научете повече
+firefoxview-tabpickup-password-locked-primarybutton = Въведете главната парола
+firefoxview-tabpickup-signed-out-primarybutton = Вписване
+firefoxview-mobile-promo-header = Вземете разделите от вашия телефон или таблет
+firefoxview-mobile-confirmation-header = 🎉 Готово!
+firefoxview-closed-tabs-title = Наскоро затворени
+# refers to the last tab that was used
+firefoxview-pickup-tabs-badge = Последна активност
+firefoxview-try-colorways-button = Опитайте цветовете
+firefoxview-change-colorway-button = Променяне на цветовете
+# Variables:
+# $intensity (String): Colorway intensity
+# $collection (String): Colorway Collection name
+firefoxview-colorway-description = { $intensity } · { $collection }
+firefoxview-synced-tabs-placeholder-header = Все още няма какво да се види
+firefoxview-collapse-button-show =
+ .title = Списък
+
+## History in this context refers to browser history
+
+
+## Open Tabs in this context refers to all open tabs in the browser
+
+
+## Recently closed tabs in this context refers to recently closed tabs from all windows
+
+
+## Tabs from other devices refers in this context refers to synced tabs from other devices
+
+
+##
+
+
+## Variables:
+## $date (string) - Date to be formatted based on locale
+
+
+##
+
+
+## Message displayed in Firefox View when the user has no history data
+
+
+##
+
+
+## Message displayed in Firefox View when the user has chosen to never remember History
+
+
+##
+
+
+## Text displayed in a dismissable banner to import bookmarks/history from another browser
+
+
+## Message displayed in Firefox View when the user has no recently closed tabs data
+
+
+## This message is displayed below the name of another connected device when it doesn't have any open tabs.
+
diff --git a/l10n-bg/browser/browser/firefoxWebAuthn.ftl b/l10n-bg/browser/browser/firefoxWebAuthn.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/l10n-bg/browser/browser/firefoxWebAuthn.ftl
@@ -0,0 +1,3 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/l10n-bg/browser/browser/fxviewTabList.ftl b/l10n-bg/browser/browser/fxviewTabList.ftl
new file mode 100644
index 0000000000..a5cea3c078
--- /dev/null
+++ b/l10n-bg/browser/browser/fxviewTabList.ftl
@@ -0,0 +1,42 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+fxviewtabrow-open-menu-button =
+ .title = Отваряне на меню
+# Variables:
+# $date (string) - Date to be formatted based on locale
+fxviewtabrow-date = { DATETIME($date, dateStyle: "short") }
+# Variables:
+# $time (string) - Time to be formatted based on locale
+fxviewtabrow-time = { DATETIME($time, timeStyle: "short") }
+# Variables:
+# $targetURI (string) - URL of tab that will be opened in the new tab
+fxviewtabrow-tabs-list-tab =
+ .title = Отваряне на { $targetURI } в нов раздел
+
+# Strings below are used for context menu options within panel-list.
+# For developers, this duplicates command because the label attribute is required.
+
+fxviewtabrow-open-in-window = Отваряне в нов прозорец
+ .accesskey = О
+fxviewtabrow-open-in-private-window = Отваряне в поверителен прозорец
+ .accesskey = я
+fxviewtabrow-copy-link = Копиране на препратката
+ .accesskey = К
+fxviewtabrow-close-tab = Затваряне на раздела
+ .accesskey = З
+fxviewtabrow-move-tab = Преместване на раздела
+ .accesskey = П
+fxviewtabrow-move-tab-start = Преместване в началото
+ .accesskey = н
+fxviewtabrow-move-tab-end = Преместване в края
+ .accesskey = к
+fxviewtabrow-move-tab-window = Преместване в нов прозорец
+ .accesskey = ц
+fxviewtabrow-send-tab = Изпращане на раздела до устройство
+ .accesskey = у
+# Variables:
+# $tabTitle (string) - Title of the tab to which the context menu is associated
+fxviewtabrow-options-menu-button =
+ .title = Опции за { $tabTitle }
diff --git a/l10n-bg/browser/browser/identityCredentialNotification.ftl b/l10n-bg/browser/browser/identityCredentialNotification.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/l10n-bg/browser/browser/identityCredentialNotification.ftl
@@ -0,0 +1,3 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/l10n-bg/browser/browser/linuxDesktopEntry.ftl b/l10n-bg/browser/browser/linuxDesktopEntry.ftl
new file mode 100644
index 0000000000..7e12a2ec85
--- /dev/null
+++ b/l10n-bg/browser/browser/linuxDesktopEntry.ftl
@@ -0,0 +1,22 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+# These messages are used by the Firefox ".desktop" file on Linux.
+# https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html
+
+# The entry name is the label on the desktop icon, among other things.
+desktop-entry-name = { -brand-shortcut-name }
+# The comment usually appears as a tooltip when hovering over application menu entry.
+desktop-entry-comment = Разгледайте световната мрежа
+desktop-entry-generic-name = Уеб браузър
+# Combine Name and GenericName. This string is specific to GNOME.
+desktop-entry-x-gnome-full-name = { -brand-shortcut-name } Уеб браузър
+
+## Actions are visible in a context menu after right clicking the
+## taskbar icon, possibly other places depending on the environment.
+
+desktop-action-new-window-name = Нов прозорец
+desktop-action-new-private-window-name = Нов личен прозорец
+desktop-action-open-profile-manager = Отваряне на мениджъра на профили
diff --git a/l10n-bg/browser/browser/menubar.ftl b/l10n-bg/browser/browser/menubar.ftl
new file mode 100644
index 0000000000..93a9319753
--- /dev/null
+++ b/l10n-bg/browser/browser/menubar.ftl
@@ -0,0 +1,336 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+# NOTE: For English locales, strings in this file should be in APA-style Title Case.
+# See https://apastyle.apa.org/style-grammar-guidelines/capitalization/title-case
+#
+# NOTE: For Engineers, please don't re-use these strings outside of the menubar.
+
+
+## Application Menu (macOS only)
+
+menu-application-preferences =
+ .label = Настройки
+menu-application-services =
+ .label = Услуги
+menu-application-hide-this =
+ .label = Скриване на { -brand-shorter-name }
+menu-application-hide-other =
+ .label = Скриване на другите
+menu-application-show-all =
+ .label = Показване на всички
+menu-application-touch-bar =
+ .label = Настройки на лентата за докосване…
+
+##
+
+# These menu-quit strings are only used on Windows and Linux.
+menu-quit =
+ .label =
+ { PLATFORM() ->
+ [windows] Изход
+ *[other] Изход
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [windows] х
+ *[other] х
+ }
+
+# This menu-quit-mac string is only used on macOS.
+menu-quit-mac =
+ .label = Изход от { -brand-shorter-name }
+
+menu-about =
+ .label = Относно { -brand-shorter-name }
+ .accesskey = О
+
+## File Menu
+
+menu-file =
+ .label = Файл
+ .accesskey = Ф
+menu-file-new-tab =
+ .label = Нов раздел
+ .accesskey = д
+menu-file-new-container-tab =
+ .label = Нов изолиран раздел
+ .accesskey = и
+menu-file-new-window =
+ .label = Нов прозорец
+ .accesskey = п
+menu-file-new-private-window =
+ .label = Поверителен прозорец
+ .accesskey = в
+# "Open Location" is only displayed on macOS, and only on windows
+# that aren't main browser windows, or when there are no windows
+# but Firefox is still running.
+menu-file-open-location =
+ .label = Отваряне на адрес…
+menu-file-open-file =
+ .label = Отваряне…
+ .accesskey = о
+# Variables:
+# $tabCount (Number): the number of tabs that are affected by the action.
+menu-file-close-tab =
+ .label =
+ { $tabCount ->
+ [one] Затваряне на раздела
+ *[other] Затваряне на { $tabCount } раздела
+ }
+ .accesskey = З
+menu-file-close-window =
+ .label = Затваряне на прозореца
+ .accesskey = п
+menu-file-save-page =
+ .label = Запазване като…
+ .accesskey = З
+menu-file-email-link =
+ .label = Препратка по имейл…
+ .accesskey = е
+menu-file-share-url =
+ .label = Споделяне
+ .accesskey = С
+menu-file-print-setup =
+ .label = Настройки на отпечатване…
+ .accesskey = Н
+menu-file-print =
+ .label = Отпечатване…
+ .accesskey = п
+menu-file-import-from-another-browser =
+ .label = Внасяне от друг мрежов четец…
+ .accesskey = ч
+menu-file-go-offline =
+ .label = Работа извън мрежата
+ .accesskey = Р
+
+## Edit Menu
+
+menu-edit =
+ .label = Редактиране
+ .accesskey = Р
+menu-edit-find-in-page =
+ .label = Търсене в страницата…
+ .accesskey = Т
+menu-edit-find-again =
+ .label = Търсене отново
+ .accesskey = о
+menu-edit-bidi-switch-text-direction =
+ .label = Превключване посоката на текста
+ .accesskey = р
+
+## View Menu
+
+menu-view =
+ .label = Изглед
+ .accesskey = И
+menu-view-toolbars-menu =
+ .label = Ленти с инструменти
+ .accesskey = и
+menu-view-customize-toolbar2 =
+ .label = Приспособяване на лентата…
+ .accesskey = л
+menu-view-sidebar =
+ .label = Странична лента
+ .accesskey = С
+menu-view-bookmarks =
+ .label = Отметки
+menu-view-history-button =
+ .label = История
+menu-view-synced-tabs-sidebar =
+ .label = Синхронизирани раздели
+menu-view-full-zoom =
+ .label = Мащабиране
+ .accesskey = М
+menu-view-full-zoom-enlarge =
+ .label = Увеличаване
+ .accesskey = У
+menu-view-full-zoom-reduce =
+ .label = Намаляване
+ .accesskey = м
+menu-view-full-zoom-actual-size =
+ .label = Действителен размер
+ .accesskey = Д
+menu-view-full-zoom-toggle =
+ .label = Само на текста
+ .accesskey = т
+menu-view-page-style-menu =
+ .label = Оформление на страницата
+ .accesskey = ф
+menu-view-page-style-no-style =
+ .label = Без
+ .accesskey = Б
+menu-view-page-basic-style =
+ .label = Основен стил
+ .accesskey = О
+menu-view-repair-text-encoding =
+ .label = Поправка на кодировката
+ .accesskey = к
+
+## These should match what Safari and other Apple applications
+## use on macOS.
+
+menu-view-enter-full-screen =
+ .label = Влизане в режим на цял екран
+ .accesskey = ц
+menu-view-exit-full-screen =
+ .label = Излизане от цял екран
+ .accesskey = ц
+menu-view-full-screen =
+ .label = Цял екран
+ .accesskey = Ц
+
+## These menu items may use the same accesskey.
+
+# This should match reader-view-enter-button in browser.ftl
+menu-view-enter-readerview =
+ .label = Отваря изгледа за четене
+ .accesskey = О
+# This should match reader-view-close-button in browser.ftl
+menu-view-close-readerview =
+ .label = Затваря изгледа за четене
+ .accesskey = З
+
+##
+
+menu-view-show-all-tabs =
+ .label = Показване на всички раздели
+ .accesskey = д
+menu-view-bidi-switch-page-direction =
+ .label = Превключване посоката на страницата
+ .accesskey = П
+
+## History Menu
+
+menu-history =
+ .label = История
+ .accesskey = с
+menu-history-show-all-history =
+ .label = Цялата история
+menu-history-clear-recent-history =
+ .label = Изчистване на скорошна история…
+menu-history-synced-tabs =
+ .label = Синхронизирани раздели
+menu-history-restore-last-session =
+ .label = Възстановяване на предишна сесия
+menu-history-hidden-tabs =
+ .label = Скрити раздели
+menu-history-undo-menu =
+ .label = Последно затворени раздели
+menu-history-undo-window-menu =
+ .label = Последно затворени прозорци
+
+## Bookmarks Menu
+
+menu-bookmarks-menu =
+ .label = Отметки
+ .accesskey = О
+menu-bookmarks-manage =
+ .label = Управление на отметки
+menu-bookmark-tab =
+ .label = Отмятане на текущия раздел…
+menu-edit-bookmark =
+ .label = Промяна на отметка…
+menu-bookmarks-all-tabs =
+ .label = Отмятане на всички раздели…
+menu-bookmarks-toolbar =
+ .label = Лента с отметки
+menu-bookmarks-other =
+ .label = Други отметки
+menu-bookmarks-mobile =
+ .label = Мобилни отметки
+
+## Tools Menu
+
+menu-tools =
+ .label = Инструменти
+ .accesskey = н
+menu-tools-downloads =
+ .label = Изтегляния
+ .accesskey = т
+menu-tools-addons-and-themes =
+ .label = Добавки и теми
+ .accesskey = Д
+menu-tools-fxa-sign-in2 =
+ .label = Вписване
+ .accesskey = В
+menu-tools-turn-on-sync2 =
+ .label = Включване на Sync…
+ .accesskey = н
+menu-tools-sync-now =
+ .label = Синхронизиране
+ .accesskey = С
+menu-tools-fxa-re-auth =
+ .label = Повторно свързване с { -brand-product-name }…
+ .accesskey = с
+menu-tools-browser-tools =
+ .label = Инструменти за четеца
+ .accesskey = И
+menu-tools-task-manager =
+ .label = Диспечер на задачи
+ .accesskey = Д
+menu-tools-page-source =
+ .label = Изходен код на страницата
+ .accesskey = к
+menu-tools-page-info =
+ .label = Информация за страницата
+ .accesskey = И
+menu-settings =
+ .label = Настройки
+ .accesskey =
+ { PLATFORM() ->
+ [windows] н
+ *[other] н
+ }
+menu-tools-layout-debugger =
+ .label = Отстраняване на грешки в оформлението
+ .accesskey = о
+
+## Window Menu
+
+menu-window-menu =
+ .label = Прозорец
+menu-window-bring-all-to-front =
+ .label = Извеждане всичко на преден план
+
+## Help Menu
+
+
+# NOTE: For Engineers, any additions or changes to Help menu strings should
+# also be reflected in the related strings in appmenu.ftl. Those strings, by
+# convention, will have the same ID as these, but prefixed with "app".
+# Example: appmenu-get-help
+#
+# These strings are duplicated to allow for different casing depending on
+# where the strings appear.
+
+menu-help =
+ .label = Помощ
+ .accesskey = П
+menu-get-help =
+ .label = Получете помощ
+ .accesskey = П
+menu-help-more-troubleshooting-info =
+ .label = Повече информация за отстраняване на неизправности
+ .accesskey = т
+menu-help-report-site-issue =
+ .label = Докладване на проблем със страницата…
+menu-help-share-ideas =
+ .label = Споделяне на идеи и обратна връзка…
+ .accesskey = С
+menu-help-enter-troubleshoot-mode2 =
+ .label = Режим за отстраняване на неизправности…
+ .accesskey = м
+menu-help-exit-troubleshoot-mode =
+ .label = Изкл. режим за отстраняване на неизправности
+ .accesskey = м
+# Label of the Help menu item. Either this or
+# menu-help-notdeceptive is shown.
+menu-help-report-deceptive-site =
+ .label = Докладване на измамническа страница…
+ .accesskey = з
+menu-help-not-deceptive =
+ .label = Това не е измамническа страница…
+ .accesskey = н
diff --git a/l10n-bg/browser/browser/migration.ftl b/l10n-bg/browser/browser/migration.ftl
new file mode 100644
index 0000000000..ce8ccea3b2
--- /dev/null
+++ b/l10n-bg/browser/browser/migration.ftl
@@ -0,0 +1,145 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+migration-wizard =
+ .title = Помощник при внасяне
+import-from =
+ { PLATFORM() ->
+ [windows] Внасяне на настройки, отметки, история, пароли и други данни от:
+ *[other] Внасяне на настройки, отметки, история, пароли и други данни от:
+ }
+import-from-bookmarks = Внасяне на отметки от:
+import-from-ie =
+ .label = Microsoft Internet Explorer
+ .accesskey = M
+import-from-edge =
+ .label = Microsoft Edge
+ .accesskey = E
+import-from-edge-legacy =
+ .label = Microsoft Edge Legacy
+ .accesskey = L
+import-from-edge-beta =
+ .label = Microsoft Edge Beta
+ .accesskey = d
+import-from-nothing =
+ .label = Без внасяне на каквото и да е
+ .accesskey = Б
+import-from-safari =
+ .label = Safari
+ .accesskey = S
+import-from-opera =
+ .label = Opera
+ .accesskey = O
+import-from-vivaldi =
+ .label = Vivaldi
+ .accesskey = V
+import-from-brave =
+ .label = Brave
+ .accesskey = B
+import-from-canary =
+ .label = Chrome Canary
+ .accesskey = n
+import-from-chrome =
+ .label = Chrome
+ .accesskey = C
+import-from-chrome-beta =
+ .label = Chrome Beta
+ .accesskey = B
+import-from-chrome-dev =
+ .label = Chrome Dev
+ .accesskey = D
+import-from-chromium =
+ .label = Chromium
+ .accesskey = u
+import-from-firefox =
+ .label = Firefox
+ .accesskey = x
+import-from-360se =
+ .label = 360 Secure Browser
+ .accesskey = 3
+import-from-opera-gx =
+ .label = Opera GX
+ .accesskey = G
+no-migration-sources = Не са намерени програми, съдържащи отметки, история или пароли.
+import-source-page-title = Внасяне на настройки и данни
+import-items-page-title = Елементи за внасяне
+import-items-description = Изберете елементите за внасяне:
+import-permissions-page-title = Дайте права на { -brand-short-name }
+import-migrating-page-title = Внасяне…
+import-migrating-description = В момента се внасят следните елементи…
+import-select-profile-page-title = Избиране на профил
+import-select-profile-description = Следните профили могат да бъдат внесени:
+import-done-page-title = Внасянето е завършено
+import-done-description = Следните елементи са внесени успешно:
+import-close-source-browser = Моля, преди да продължите се уверете, че избраният мрежов четец е затворен.
+source-name-ie = Internet Explorer
+source-name-edge = Microsoft Edge
+source-name-chrome = Google Chrome
+imported-safari-reading-list = Списък за четене (от Safari)
+imported-edge-reading-list = Списък за четене (от Edge)
+
+## Browser data types
+## All of these strings get a $browser variable passed in.
+## You can use the browser variable to differentiate the name of items,
+## which may have different labels in different browsers.
+## The supported values for the $browser variable are:
+## 360se
+## chrome
+## edge
+## firefox
+## ie
+## safari
+## The various beta and development versions of edge and chrome all get
+## normalized to just "edge" and "chrome" for these strings.
+
+browser-data-cookies-checkbox =
+ .label = Бисквитки
+browser-data-cookies-label =
+ .value = Бисквитки
+browser-data-history-checkbox =
+ .label =
+ { $browser ->
+ [firefox] История на разглеждане и отметки
+ *[other] История на разглеждане
+ }
+browser-data-history-label =
+ .value =
+ { $browser ->
+ [firefox] История на разглеждане и отметки
+ *[other] История на разглеждане
+ }
+browser-data-formdata-checkbox =
+ .label = История на запазени формуляри
+browser-data-formdata-label =
+ .value = История на запазени формуляри
+# This string should use the same phrase for "logins and passwords" as the
+# label in the main hamburger menu that opens about:logins.
+browser-data-passwords-checkbox =
+ .label = Запазени регистрации и пароли
+# This string should use the same phrase for "logins and passwords" as the
+# label in the main hamburger menu that opens about:logins.
+browser-data-passwords-label =
+ .value = Запазени регистрации и пароли
+browser-data-bookmarks-checkbox =
+ .label =
+ { $browser ->
+ [ie] Любими
+ [edge] Любими
+ *[other] Отметки
+ }
+browser-data-bookmarks-label =
+ .value =
+ { $browser ->
+ [ie] Любими
+ [edge] Любими
+ *[other] Отметки
+ }
+browser-data-otherdata-checkbox =
+ .label = Други данни
+browser-data-otherdata-label =
+ .label = Други данни
+browser-data-session-checkbox =
+ .label = Прозорци и раздели
+browser-data-session-label =
+ .value = Прозорци и раздели
diff --git a/l10n-bg/browser/browser/migrationWizard.ftl b/l10n-bg/browser/browser/migrationWizard.ftl
new file mode 100644
index 0000000000..d8fe2a8655
--- /dev/null
+++ b/l10n-bg/browser/browser/migrationWizard.ftl
@@ -0,0 +1,96 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+migration-wizard-selection-header = Внасяне на данни от друг браузър
+# Shown in the new migration wizard's dropdown selector for choosing the browser
+# to import from. This variant is shown when the selected browser doesn't support
+# user profiles, and so we only show the browser name.
+#
+# Variables:
+# $sourceBrowser (String): the name of the browser to import from.
+migration-wizard-selection-option-without-profile = { $sourceBrowser }
+# Shown in the new migration wizard's dropdown selector for choosing the browser
+# and user profile to import from. This variant is shown when the selected browser
+# supports user profiles.
+#
+# Variables:
+# $sourceBrowser (String): the name of the browser to import from.
+# $profileName (String): the name of the user profile to import from.
+migration-wizard-selection-option-with-profile = { $sourceBrowser } — { $profileName }
+
+# Each migrator is expected to include a display name string, and that display
+# name string should have a key with "migration-wizard-migrator-display-name-"
+# as a prefix followed by the unique identification key for the migrator.
+
+migration-wizard-migrator-display-name-brave = Brave
+migration-wizard-migrator-display-name-canary = Chrome Canary
+migration-wizard-migrator-display-name-chrome = Chrome
+migration-wizard-migrator-display-name-chrome-beta = Chrome Beta
+migration-wizard-migrator-display-name-chrome-dev = Chrome Dev
+migration-wizard-migrator-display-name-chromium = Chromium
+migration-wizard-migrator-display-name-chromium-360se = 360 Secure Browser
+migration-wizard-migrator-display-name-chromium-edge = Microsoft Edge
+migration-wizard-migrator-display-name-chromium-edge-beta = Microsoft Edge Beta
+migration-wizard-migrator-display-name-edge-legacy = Microsoft Edge Legacy
+migration-wizard-migrator-display-name-firefox = Firefox
+migration-wizard-migrator-display-name-ie = Microsoft Internet Explorer
+migration-wizard-migrator-display-name-opera = Opera
+migration-wizard-migrator-display-name-opera-gx = Opera GX
+migration-wizard-migrator-display-name-safari = Safari
+migration-wizard-migrator-display-name-vivaldi = Vivaldi
+migration-source-name-ie = Internet Explorer
+migration-source-name-edge = Microsoft Edge
+migration-source-name-chrome = Google Chrome
+migration-imported-safari-reading-list = Списък за четене (от Safari)
+migration-imported-edge-reading-list = Списък за четене (от Edge)
+
+## These strings are shown if the selected browser data directory is unreadable.
+## In practice, this tends to only occur on Linux when Firefox
+## is installed as a Snap.
+
+
+## These strings will be displayed based on how many resources are selected to import
+
+
+##
+
+migration-select-all-option-label = Избиране на всичко
+migration-bookmarks-option-label = Отметки
+migration-passwords-new = Нови пароли
+# A description for the .csv file format that may be shown as the file type
+# filter by the operating system.
+migration-passwords-from-file-csv-filter-title =
+ { PLATFORM() ->
+ [macos] Документ на CSV
+ *[other] Файл на CSV
+ }
+# A description for the .tsv file format that may be shown as the file type
+# filter by the operating system. TSV is short for 'tab separated values'.
+migration-passwords-from-file-tsv-filter-title =
+ { PLATFORM() ->
+ [macos] Документ на TSV
+ *[other] Файл на TSV
+ }
+migration-import-button-label = Внасяне
+
+## These strings will be used to create a dynamic list of items that can be
+## imported. The list will be created using Intl.ListFormat(), so it will
+## follow each locale's rules, and the first item will be capitalized by code.
+## When applicable, the resources should be in their plural form.
+## For example, a possible list could be "Bookmarks, passwords and autofill data".
+
+# “favorites” refers to bookmarks in Edge and Internet Explorer. Use the same terminology
+# if the browser is available in your language.
+migration-list-favorites-label = любими
+
+##
+
+
+## The import process identifies extensions installed in other supported
+## browsers and installs the corresponding (matching) extensions compatible
+## with Firefox, if available.
+
+
+##
+
diff --git a/l10n-bg/browser/browser/newtab/asrouter.ftl b/l10n-bg/browser/browser/newtab/asrouter.ftl
new file mode 100644
index 0000000000..e65a6cecc0
--- /dev/null
+++ b/l10n-bg/browser/browser/newtab/asrouter.ftl
@@ -0,0 +1,180 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## These messages are used as headings in the recommendation doorhanger
+
+cfr-doorhanger-extension-heading = Препоръчано разширение
+cfr-doorhanger-feature-heading = Препоръчана възможност
+
+##
+
+cfr-doorhanger-extension-sumo-link =
+ .tooltiptext = Защо го виждам?
+
+cfr-doorhanger-extension-cancel-button = Не сега
+ .accesskey = н
+
+cfr-doorhanger-extension-ok-button = Добавяне
+ .accesskey = д
+
+cfr-doorhanger-extension-manage-settings-button = Управление на настройки за препоръки
+ .accesskey = н
+
+cfr-doorhanger-extension-never-show-recommendation = Не ми показвайте тази препоръка
+ .accesskey = н
+
+cfr-doorhanger-extension-learn-more-link = Научете повече
+
+# This string is used on a new line below the add-on name
+# Variables:
+# $name (String) - Add-on author name
+cfr-doorhanger-extension-author = от { $name }
+
+# This is a notification displayed in the address bar.
+# When clicked it opens a panel with a message for the user.
+cfr-doorhanger-extension-notification = Препоръка
+cfr-doorhanger-extension-notification2 = Препоръчано
+ .tooltiptext = Препоръка за разширение
+ .a11y-announcement = Налична е препоръка за разширение
+
+# This is a notification displayed in the address bar.
+# When clicked it opens a panel with a message for the user.
+cfr-doorhanger-feature-notification = Препоръка
+ .tooltiptext = Препоръка за възможност
+ .a11y-announcement = Налична е препоръка за възможност
+
+## Add-on statistics
+## These strings are used to display the total number of
+## users and rating for an add-on. They are shown next to each other.
+
+# Variables:
+# $total (Number) - The rating of the add-on from 1 to 5
+cfr-doorhanger-extension-rating =
+ .tooltiptext =
+ { $total ->
+ [one] { $total } звезда
+ *[other] { $total } звезди
+ }
+# Variables:
+# $total (Number) - The total number of users using the add-on
+cfr-doorhanger-extension-total-users =
+ { $total ->
+ [one] { $total } потребител
+ *[other] { $total } потребителя
+ }
+
+## Firefox Accounts Message
+
+cfr-doorhanger-bookmark-fxa-header = Синхронизирайте отметките си навсякъде.
+cfr-doorhanger-bookmark-fxa-body = Чудесно откритие! Сега не оставайте без тази отметка на мобилните си устройства. Започнете с { -fxaccount-brand-name }.
+cfr-doorhanger-bookmark-fxa-link-text = Синхронизиране на отметките сега…
+cfr-doorhanger-bookmark-fxa-close-btn-tooltip =
+ .aria-label = Бутон за затваряне
+ .title = Затваряне
+
+## Protections panel
+
+cfr-protections-panel-header = Разглеждайте без да сте следени
+cfr-protections-panel-body = Пазете вашите данни лични. { -brand-short-name } ви предпазва от най-разпространените проследявания, които дебнат действията ви онлайн.
+cfr-protections-panel-link-text = Научете повече
+
+## What's New toolbar button and panel
+
+# This string is used by screen readers to offer a text based alternative for
+# the notification icon
+cfr-badge-reader-label-newfeature = Нова възможност:
+
+cfr-whatsnew-button =
+ .label = Какво е новото
+ .tooltiptext = Новото в това издание
+
+cfr-whatsnew-release-notes-link-text = Прочетете бележките към изданието
+
+## Enhanced Tracking Protection Milestones
+
+# Variables:
+# $blockedCount (Number) - The total count of blocked trackers. This number will always be greater than 1.
+# $date (Datetime) - The date we began recording the count of blocked trackers
+cfr-doorhanger-milestone-heading2 =
+ { $blockedCount ->
+ *[other] { -brand-short-name } е спрял повече от <b>{ $blockedCount }</b> проследявания от { DATETIME($date, month: "long", year: "numeric") }
+ }
+cfr-doorhanger-milestone-ok-button = Показване на всички
+ .accesskey = с
+cfr-doorhanger-milestone-close-button = Затваряне
+ .accesskey = З
+
+## DOH Message
+
+cfr-doorhanger-doh-header = По-сигурни, криптирани заявки към DNS
+cfr-doorhanger-doh-primary-button-2 = Добре
+ .accesskey = о
+cfr-doorhanger-doh-secondary-button = Изключване
+ .accesskey = з
+
+## Fission Experiment Message
+
+## Full Video Support CFR message
+
+cfr-doorhanger-video-support-header = Обновете { -brand-short-name } за възпроизвеждане на видео
+cfr-doorhanger-video-support-primary-button = Обновяване
+ .accesskey = б
+
+## Spotlight modal shared strings
+
+## VPN promotion dialog for public Wi-Fi users
+##
+## If a user is detected to be on a public Wi-Fi network, they are given a
+## bit of info about how to improve their privacy and then offered a button
+## to the Mozilla VPN page and a link to dismiss the dialog.
+
+# This header text can be explicitly wrapped.
+spotlight-public-wifi-vpn-header = Изглежда, че използвате обществена безжична мрежа
+spotlight-public-wifi-vpn-primary-button = Запазете поверителността си с { -mozilla-vpn-brand-name }
+ .accesskey = З
+spotlight-public-wifi-vpn-link = Не сега
+ .accesskey = Н
+
+## Total Cookie Protection Rollout
+
+## Emotive Continuous Onboarding
+
+spotlight-better-internet-header = По-добрият интернет започва с вас
+spotlight-pin-secondary-button = Не сега
+
+## MR2022 Background Update Windows native toast notification strings.
+##
+## These strings will be displayed by the Windows operating system in
+## a native toast, like:
+##
+## <b>multi-line title</b>
+## multi-line text
+## <img>
+## [ primary button ] [ secondary button ]
+##
+## The button labels are fitted into narrow fixed-width buttons by
+## Windows and therefore must be as narrow as possible.
+
+
+## Firefox View CFR
+
+
+## Firefox View Spotlight
+
+
+## Colorways expiry reminder CFR
+
+
+## Cookie Banner Handling CFR
+
+## These strings are used in the Fox doodle Pin/set default spotlights
+
+
+## These strings are used in the Set Firefox as Default PDF Handler for Existing Users experiment
+
+## FxA sync CFR
+
+## Device Migration FxA Spotlight
+
diff --git a/l10n-bg/browser/browser/newtab/newtab.ftl b/l10n-bg/browser/browser/newtab/newtab.ftl
new file mode 100644
index 0000000000..37222cba2e
--- /dev/null
+++ b/l10n-bg/browser/browser/newtab/newtab.ftl
@@ -0,0 +1,265 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### Firefox Home / New Tab strings for about:home / about:newtab.
+
+newtab-page-title = Нов раздел
+newtab-settings-button =
+ .title = Настройки на новия раздел
+newtab-personalize-icon-label =
+ .title = Приспособяване на новите раздели
+ .aria-label = Приспособяване на новите раздели
+newtab-personalize-dialog-label =
+ .aria-label = Приспособяване
+
+## Search box component.
+
+# "Search" is a verb/action
+newtab-search-box-search-button =
+ .title = Търсене
+ .aria-label = Търсене
+# Variables:
+# $engine (string) - The name of the user's default search engine
+newtab-search-box-handoff-text = Търсете с { $engine } или въведете адрес
+newtab-search-box-handoff-text-no-engine = Търсете или въведете адрес
+# Variables:
+# $engine (string) - The name of the user's default search engine
+newtab-search-box-handoff-input =
+ .placeholder = Търсете с { $engine } или въведете адрес
+ .title = Търсете с { $engine } или въведете адрес
+ .aria-label = Търсете с { $engine } или въведете адрес
+newtab-search-box-handoff-input-no-engine =
+ .placeholder = Търсете или въведете адрес
+ .title = Търсете или въведете адрес
+ .aria-label = Търсете или въведете адрес
+newtab-search-box-text = Търсене в интернет
+newtab-search-box-input =
+ .placeholder = Търсене в мрежата
+ .aria-label = Търсене в мрежата
+
+## Top Sites - General form dialog.
+
+newtab-topsites-add-search-engine-header = Добавяне на търсеща машина
+newtab-topsites-add-shortcut-header = Нова клавишна комбинация
+newtab-topsites-edit-topsites-header = Променяне на често посещавана страница
+newtab-topsites-edit-shortcut-header = Промяна на клавишна комбинация
+newtab-topsites-title-label = Заглавие
+newtab-topsites-title-input =
+ .placeholder = Въведете заглавие
+newtab-topsites-url-label = Адрес
+newtab-topsites-url-input =
+ .placeholder = Адрес
+newtab-topsites-url-validation = Необходим е валиден URL
+newtab-topsites-image-url-label = Адрес на изображение по желание
+newtab-topsites-use-image-link = Използване изображение по желание…
+newtab-topsites-image-validation = Изображението не може да бъде заредено. Опитайте с друг адрес.
+
+## Top Sites - General form dialog buttons. These are verbs/actions.
+
+newtab-topsites-cancel-button = Отказ
+newtab-topsites-delete-history-button = Премахване от историята
+newtab-topsites-save-button = Запазване
+newtab-topsites-preview-button = Преглед
+newtab-topsites-add-button = Добавяне
+
+## Top Sites - Delete history confirmation dialog.
+
+newtab-confirm-delete-history-p1 = Сигурни ли сте, че желаете да премахнете страницата навсякъде от историята?
+# "This action" refers to deleting a page from history.
+newtab-confirm-delete-history-p2 = Действието е необратимо.
+
+## Top Sites - Sponsored label
+
+newtab-topsite-sponsored = Спонсорирано
+
+## Context Menu - Action Tooltips.
+
+# General tooltip for context menus.
+newtab-menu-section-tooltip =
+ .title = Отваряне на меню
+ .aria-label = Отваряне на меню
+# Tooltip for dismiss button
+newtab-dismiss-button-tooltip =
+ .title = Премахване
+ .aria-label = Премахване
+# This tooltip is for the context menu of Pocket cards or Topsites
+# Variables:
+# $title (string) - The label or hostname of the site. This is for screen readers when the context menu button is focused/active.
+newtab-menu-content-tooltip =
+ .title = Отваряне на меню
+ .aria-label = Отваряне на менюто за { $title }
+# Tooltip on an empty topsite box to open the New Top Site dialog.
+newtab-menu-topsites-placeholder-tooltip =
+ .title = Променяне
+ .aria-label = Променяне
+
+## Context Menu: These strings are displayed in a context menu and are meant as a call to action for a given page.
+
+newtab-menu-edit-topsites = Променяне
+newtab-menu-open-new-window = Отваряне в раздел
+newtab-menu-open-new-private-window = Отваряне в поверителен прозорец
+newtab-menu-dismiss = Затваряне
+newtab-menu-pin = Закачане
+newtab-menu-unpin = Откачане
+newtab-menu-delete-history = Премахване от историята
+newtab-menu-save-to-pocket = Запазване в { -pocket-brand-name }
+newtab-menu-delete-pocket = Изтриване от { -pocket-brand-name }
+newtab-menu-archive-pocket = Архивиране в { -pocket-brand-name }
+newtab-menu-show-privacy-info = Спонсори и поверителност
+
+## Message displayed in a modal window to explain privacy and provide context for sponsored content.
+
+newtab-privacy-modal-button-done = Готово
+newtab-privacy-modal-button-manage = Управление на настройките за спонсорирано съдържание
+newtab-privacy-modal-header = Вашата поверителност е от значение.
+newtab-privacy-modal-paragraph-2 =
+ Като допълнение на това, че намираме завладяващи истории,
+ ние ви показваме и подходящо, проверено съдържание от избрани
+ спонсори. Бъдете спокойни, <strong>данните ви от разглежданията никога
+ не напускат вашето копие на { -brand-product-name }</strong> - ние не ги виждаме
+ нашите спонсори също.
+newtab-privacy-modal-link = Научете как работи поверителността на новия раздел
+
+##
+
+# Bookmark is a noun in this case, "Remove bookmark".
+newtab-menu-remove-bookmark = Премахване на отметка
+# Bookmark is a verb here.
+newtab-menu-bookmark = Отметка
+
+## Context Menu - Downloaded Menu. "Download" in these cases is not a verb,
+## it is a noun. As in, "Copy the link that belongs to this downloaded item".
+
+newtab-menu-copy-download-link = Копиране на препратка за изтегляне
+newtab-menu-go-to-download-page = Към страницата за изтегляне
+newtab-menu-remove-download = Премахване от историята
+
+## Context Menu - Download Menu: These are platform specific strings found in the context menu of an item that has
+## been downloaded. The intention behind "this action" is that it will show where the downloaded file exists on the file
+## system for each operating system.
+
+newtab-menu-show-file =
+ { PLATFORM() ->
+ [macos] Показване във Finder
+ *[other] Отваряне на съдържащата папка
+ }
+newtab-menu-open-file = Отваряне на файла
+
+## Card Labels: These labels are associated to pages to give
+## context on how the element is related to the user, e.g. type indicates that
+## the page is bookmarked, or is currently open on another device.
+
+newtab-label-visited = Посетена
+newtab-label-bookmarked = Отметната
+newtab-label-removed-bookmark = Отметката е премахната
+newtab-label-recommended = Тенденции
+newtab-label-saved = Запазено в { -pocket-brand-name }
+newtab-label-download = Изтеглено
+# This string is used in the story cards to indicate sponsored content
+# Variables:
+# $sponsorOrSource (string) - The name of a company or their domain
+newtab-label-sponsored = { $sponsorOrSource } · Спонсорирано
+# This string is used at the bottom of story cards to indicate sponsored content
+# Variables:
+# $sponsor (string) - The name of a sponsor
+newtab-label-sponsored-by = Спонсорирано от { $sponsor }
+# This string is used under the image of story cards to indicate source and time to read
+# Variables:
+# $source (string) - The name of a company or their domain
+# $timeToRead (number) - The estimated number of minutes to read this story
+newtab-label-source-read-time = { $source } · { $timeToRead } мин.
+
+## Section Menu: These strings are displayed in the section context menu and are
+## meant as a call to action for the given section.
+
+newtab-section-menu-remove-section = Премахване на раздела
+newtab-section-menu-collapse-section = Свиване на раздела
+newtab-section-menu-expand-section = Разгъване на раздела
+newtab-section-menu-manage-section = Управление на раздела
+newtab-section-menu-manage-webext = Управление на добавката
+newtab-section-menu-add-topsite = Добавете предпочитана страница
+newtab-section-menu-add-search-engine = Добавяне на търсеща машина
+newtab-section-menu-move-up = Преместване нагоре
+newtab-section-menu-move-down = Преместване надолу
+newtab-section-menu-privacy-notice = Политика за личните данни
+
+## Section aria-labels
+
+newtab-section-collapse-section-label =
+ .aria-label = Свиване на раздела
+newtab-section-expand-section-label =
+ .aria-label = Разгъване на раздела
+
+## Section Headers.
+
+newtab-section-header-topsites = Предпочитани страници
+newtab-section-header-recent-activity = Последна активност
+# Variables:
+# $provider (string) - Name of the corresponding content provider.
+newtab-section-header-pocket = Препоръчано от { $provider }
+
+## Empty Section States: These show when there are no more items in a section. Ex. When there are no more Pocket story recommendations, in the space where there would have been stories, this is shown instead.
+
+newtab-empty-section-highlights = Разглеждайте и тук ще ви покажем някои от най-добрите статии, видео и други страници, които сте посетили или отметнали наскоро.
+# Ex. When there are no more Pocket story recommendations, in the space where there would have been stories, this is shown instead.
+# Variables:
+# $provider (string) - Name of the content provider for this section, e.g "Pocket".
+newtab-empty-section-topstories = Разгледахте всичко. Проверете по-късно за повече истории от { $provider }. Нямате търпение? Изберете популярна тема, за да откриете повече истории от цялата Мрежа.
+
+## Empty Section (Content Discovery Experience). These show when there are no more stories or when some stories fail to load.
+
+newtab-discovery-empty-section-topstories-header = Изчетохте всичко!
+newtab-discovery-empty-section-topstories-content = Проверете по-късно за повече статии.
+newtab-discovery-empty-section-topstories-try-again-button = Нов опит
+newtab-discovery-empty-section-topstories-loading = Зареждане…
+# Displays when a layout in a section took too long to fetch articles.
+newtab-discovery-empty-section-topstories-timed-out = Ами сега! Почти заредихме тази секция, но не съвсем.
+
+## Pocket Content Section.
+
+# This is shown at the bottom of the trending stories section and precedes a list of links to popular topics.
+newtab-pocket-read-more = Популярни теми:
+newtab-pocket-more-recommendations = Повече препоръчани
+newtab-pocket-learn-more = Научете повече
+newtab-pocket-cta-button = Вземете { -pocket-brand-name }
+newtab-pocket-cta-text = Запазете статиите, които харесвате в { -pocket-brand-name } и заредете ума си с увлекателни четива.
+
+## Pocket content onboarding experience dialog and modal for new users seeing the Pocket section for the first time, shown as the first item in the Pocket section.
+
+
+## Error Fallback Content.
+## This message and suggested action link are shown in each section of UI that fails to render.
+
+newtab-error-fallback-info = Ааах, нещо се обърка и съдържанието не е заредено.
+newtab-error-fallback-refresh-link = Презаредете страницата за повторен опит.
+
+## Customization Menu
+
+newtab-custom-shortcuts-title = Препратки
+newtab-custom-shortcuts-subtitle = Страници за преглед по-късно
+newtab-custom-shortcuts-toggle =
+ .label = Препратки
+ .description = Страници за преглед по-късно
+# Variables
+# $num (number) - Number of rows to display
+newtab-custom-row-selector =
+ { $num ->
+ [one] { $num } ред
+ *[other] { $num } реда
+ }
+newtab-custom-sponsored-sites = Спонсорирани препратки
+newtab-custom-pocket-title = Препоръчани от { -pocket-brand-name }
+newtab-custom-pocket-subtitle = Изключително съдържание, подбрано от { -pocket-brand-name }, част от семейството на { -brand-product-name }
+newtab-custom-pocket-toggle =
+ .label = Препоръчани от { -pocket-brand-name }
+ .description = Изключително съдържание, подбрано от { -pocket-brand-name }, част от семейството на { -brand-product-name }
+newtab-custom-pocket-sponsored = Платени публикации
+newtab-custom-recent-title = Последна активност
+newtab-custom-recent-subtitle = Избрани страници и съдържание
+newtab-custom-recent-toggle =
+ .label = Последна активност
+ .description = Избрани страници и съдържание
+newtab-custom-close-button = Затваряне
+newtab-custom-settings = Настройки
diff --git a/l10n-bg/browser/browser/newtab/onboarding.ftl b/l10n-bg/browser/browser/newtab/onboarding.ftl
new file mode 100644
index 0000000000..2513b6633a
--- /dev/null
+++ b/l10n-bg/browser/browser/newtab/onboarding.ftl
@@ -0,0 +1,268 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### UI strings for the MR1 onboarding / multistage about:welcome
+### Various strings use a non-breaking space to avoid a single dangling /
+### widowed word, so test on various window sizes if you also want this.
+
+
+## Welcome page strings
+
+onboarding-welcome-header = Добре дошли във { -brand-short-name }
+onboarding-start-browsing-button-label = Започнете да разглеждате
+onboarding-not-now-button-label = Не сега
+mr1-onboarding-get-started-primary-button-label = Въведение
+
+## Custom Return To AMO onboarding strings
+
+return-to-amo-subtitle = Страхотно е че имате { -brand-short-name }
+# <img data-l10n-name="icon"/> will be replaced with the icon belonging to the extension
+#
+# Variables:
+# $addon-name (String) - Name of the add-on
+return-to-amo-addon-title = Сега нека инсталираме <img data-l10n-name="icon"/><b>{ $addon-name }.</b>
+return-to-amo-add-extension-label = Добавяне на разширението
+return-to-amo-add-theme-label = Добавяне на темата
+
+## Variables: $addon-name (String) - Name of the add-on to be installed
+
+mr1-return-to-amo-subtitle = Кажете здравей на { -brand-short-name }
+mr1-return-to-amo-add-extension-label = Добавяне на { $addon-name }
+
+## Multistage onboarding strings (about:welcome pages)
+
+
+# Aria-label to make the "steps" of multistage onboarding visible to screen readers.
+# Variables:
+# $current (Int) - Number of the current page
+# $total (Int) - Total number of pages
+
+# This button will open system settings to turn on prefers-reduced-motion
+mr1-onboarding-reduce-motion-button-label = Изключване на анимации
+# String for the Firefox Accounts button
+mr1-onboarding-sign-in-button-label = Вход
+# The primary import button label will depend on whether we can detect which browser was used to download Firefox.
+# Variables:
+# $previous (Str) - Previous browser name, such as Edge, Chrome
+mr1-onboarding-import-primary-button-label-attribution = Внасяне от { $previous }
+mr1-onboarding-theme-header = По свой вкус
+mr1-onboarding-theme-subtitle = Приспособете { -brand-short-name } с тема.
+mr1-onboarding-theme-secondary-button-label = Не сега
+# System theme uses operating system color settings
+mr1-onboarding-theme-label-system = Системна тема
+mr1-onboarding-theme-label-light = Светла
+mr1-onboarding-theme-label-dark = Тъмна
+# "Alpenglow" here is the name of the theme, and should be kept in English.
+mr1-onboarding-theme-label-alpenglow = Сияйни Алпи
+onboarding-theme-primary-button-label = Готово
+
+## Please make sure to split the content of the title attribute into lines whose
+## width corresponds to about 40 Latin characters, to ensure that the tooltip
+## doesn't become too long. Line breaks will be preserved when displaying the
+## tooltip.
+
+# Tooltip displayed on hover of system theme
+mr1-onboarding-theme-tooltip-system =
+ .title = Използва темата на операционната система за бутони, менюта и прозорци.
+# Input description for system theme
+mr1-onboarding-theme-description-system =
+ .aria-description = Използва темата на операционната система за бутони, менюта и прозорци.
+# Tooltip displayed on hover of light theme
+mr1-onboarding-theme-tooltip-light =
+ .title =
+ Светла тема за бутони,
+ менюта и прозорци.
+# Input description for light theme
+mr1-onboarding-theme-description-light =
+ .aria-description =
+ Светла тема за бутони,
+ менюта и прозорци.
+# Tooltip displayed on hover of dark theme
+mr1-onboarding-theme-tooltip-dark =
+ .title =
+ Тъмна тема за бутони,
+ менюта и прозорци.
+# Input description for dark theme
+mr1-onboarding-theme-description-dark =
+ .aria-description =
+ Тъмна тема за бутони,
+ менюта и прозорци.
+# Tooltip displayed on hover of Alpenglow theme
+mr1-onboarding-theme-tooltip-alpenglow =
+ .title =
+ Динамична и цветна тема за бутони,
+ менюта и прозорци.
+# Input description for Alpenglow theme
+mr1-onboarding-theme-description-alpenglow =
+ .aria-description =
+ Динамична и цветна тема за бутони,
+ менюта и прозорци.
+# Selector description for default themes
+mr2-onboarding-default-theme-label = Разгледайте темите по подразбиране.
+
+## Strings for Thank You page
+
+mr2-onboarding-thank-you-header = Благодарим ви, че избрахте нас
+mr2-onboarding-thank-you-text = { -brand-short-name } е независим четец, поддържан от организация с нестопанска цел. Заедно правим мрежата, по-безопасна, здрава и поверителна.
+mr2-onboarding-start-browsing-button-label = Започнете да разглеждате
+
+## Multistage live language reloading onboarding strings (about:welcome pages)
+##
+## The following language names are generated by the browser's Intl.DisplayNames API.
+##
+## Variables:
+## $negotiatedLanguage (String) - The name of the langpack's language, e.g. "Español (ES)"
+## $systemLanguage (String) - The name of the system language, e.g "Español (ES)"
+## $appLanguage (String) - The name of the language shipping in the browser build, e.g. "English (EN)"
+
+onboarding-live-language-header = Изберете език
+mr2022-onboarding-live-language-text = { -brand-short-name } говори твоя език
+mr2022-language-mismatch-subtitle = Благодарение на нашата общност { -brand-short-name } е преведен на над 90 езика. Изглежда, че вашата система използва { $systemLanguage }, а { -brand-short-name } използва { $appLanguage }.
+onboarding-live-language-button-label-downloading = Изтегляне на { $negotiatedLanguage } езиков пакет…
+onboarding-live-language-waiting-button = Зареждане на наличните езици…
+onboarding-live-language-installing = Инсталиране на { $negotiatedLanguage } езиков пакет…
+mr2022-onboarding-live-language-switch-to = Преминаване към { $negotiatedLanguage }
+mr2022-onboarding-live-language-continue-in = Продължаване с { $appLanguage }
+onboarding-live-language-secondary-cancel-download = Отказ
+onboarding-live-language-skip-button-label = Пропускане
+
+## Firefox 100 Thank You screens
+
+# "Hero Text" displayed on left side of welcome screen. This text can be
+# formatted to span multiple lines as needed. The <span data-l10n-name="zap">
+# </span> in this string allows a "zap" underline style to be automatically
+# added to the text inside it. "Yous" should stay inside the zap span, but
+# "Thank" can be put inside instead if there's no "you" in the translation.
+# The English text would normally be "100 Thank-Yous" i.e., plural noun, but for
+# aesthetics of splitting it across multiple lines, the hyphen is omitted.
+fx100-thank-you-hero-text =
+ 100
+ <span data-l10n-name="zap">благодарности</span>
+fx100-thank-you-subtitle = Това е нашето 100-тно издание! Благодарим ви, че ни помагате да изградим по-добър и по-здравословен интернет.
+fx100-thank-you-pin-primary-button-label =
+ { PLATFORM() ->
+ [macos] Закачане на { -brand-short-name } към лентата със задачи
+ *[other] Закачане на { -brand-short-name } към лентата със задачи
+ }
+fx100-upgrade-thanks-header = 100 благодарности
+# Message shown with a start-browsing button. Emphasis <em> should be for "you"
+# but "Thank" can be used instead if there's no "you" in the translation.
+fx100-upgrade-thank-you-body = Това 100-то издание на { -brand-short-name }. Благодарим <em>ви</em>, че ни помагате да изградим по-добър и по-здравословен интернет.
+# Message shown with either a pin-to-taskbar or set-default button.
+fx100-upgrade-thanks-keep-body = Това е нашето 100-тно издание! Благодарим ви, че сте част от нашата общност. Дръжте { -brand-short-name } на едно щракване разстояние за следващите 100.
+mr2022-onboarding-secondary-skip-button-label = Пропускане
+
+## MR2022 New User Easy Setup screen strings
+
+# Primary button string used on new user onboarding first screen showing multiple actions such as Set Default, Import from previous browser.
+mr2022-onboarding-easy-setup-primary-button-label = Запазване и продължаване
+# Import action checkbox label used on new user onboarding first screen
+mr2022-onboarding-easy-setup-import-checkbox-label = Внасяне от предишен браузър
+
+## MR2022 New User Pin Firefox screen strings
+
+# Title used on about:welcome for new users when Firefox is not pinned.
+# In this context, open up is synonymous with "Discover".
+# The metaphor is that when they open their Firefox browser, it helps them discover an amazing internet.
+# If this translation does not make sense in your language, feel free to use the word "discover."
+mr2022-onboarding-welcome-pin-header = Открийте невероятния интернет
+# Primary button string used on welcome page for when Firefox is not pinned.
+mr2022-onboarding-pin-primary-button-label =
+ { PLATFORM() ->
+ [macos] Оставяне на { -brand-short-name } в лентата със задачи
+ *[other] Закачане на { -brand-short-name } към лентата със задачи
+ }
+
+## MR2022 Existing User Pin Firefox Screen Strings
+
+# Title used on multistage onboarding page for existing users when Firefox is not pinned
+mr2022-onboarding-existing-pin-header = Благодарим ви, че обичате { -brand-product-name }
+
+## MR2022 New User Set Default screen strings
+
+
+## MR2022 Get Started screen strings.
+## These strings will be used on the welcome page
+## when Firefox is already set to default and pinned.
+
+# When translating "zip", please feel free to pick a verb that signifies movement and/or exploration
+# and makes sense in the context of navigating the web.
+mr2022-onboarding-get-started-primary-subtitle = Последното издание е изградено на вашите желания, което прави по-лесно от всякога разглеждането в интернет. Изданието е пълно с функции, които смятаме, че ще обикнете.
+mr2022-onboarding-get-started-primary-button-label = Настройва се за секунди
+
+## MR2022 Import Settings screen strings
+
+mr2022-onboarding-import-header = Светкавично-бърза настройка
+mr2022-onboarding-import-subtitle = Настройте { -brand-short-name } както ви харесва. Добавете своите отметки, пароли и всичко друго от стария си четец.
+mr2022-onboarding-import-primary-button-label-no-attribution = Внасяне от предишен четец
+
+## If your language uses grammatical genders, in the description for the
+## colorway feel free to switch from "You are a X. You…" (e.g. "You are a
+## Playmaker. You create…") to "X: you…" ("Playmaker: You create…"). This might
+## help creating a more inclusive translation.
+
+mr2022-onboarding-colorway-title = Изберете цвета, който ви вдъхновява
+mr2022-onboarding-colorway-subtitle = Независимите гласове могат да променят културата.
+mr2022-onboarding-colorway-primary-button-label-continue = Запазване и продължаване
+mr2022-onboarding-existing-colorway-checkbox-label = Направете вашата { -firefox-home-brand-name } начална страница цветна
+mr2022-onboarding-colorway-tooltip-default2 =
+ .title = Текущи { -brand-short-name } цветове
+mr2022-onboarding-colorway-label-playmaker = Плеймейкър
+mr2022-onboarding-colorway-tooltip-playmaker2 =
+ .title = Плеймейкър (червен)
+mr2022-onboarding-colorway-label-expressionist = Експресионист
+mr2022-onboarding-colorway-tooltip-expressionist2 =
+ .title = Експресионист (жълт)
+mr2022-onboarding-colorway-label-visionary = Визионер
+mr2022-onboarding-colorway-tooltip-visionary2 =
+ .title = Визионерски (зелен)
+mr2022-onboarding-colorway-label-activist = Активист
+mr2022-onboarding-colorway-tooltip-activist2 =
+ .title = Активист (син)
+mr2022-onboarding-colorway-label-dreamer = Мечтател
+mr2022-onboarding-colorway-tooltip-dreamer2 =
+ .title = Мечтател (лилав)
+mr2022-onboarding-colorway-label-innovator = Изобретател
+mr2022-onboarding-colorway-tooltip-innovator2 =
+ .title = Иноватор (оранжев)
+
+## MR2022 Multistage Mobile Download screen strings
+
+mr2022-onboarding-mobile-download-title = Прескачайте от лаптопа на телефона и обратно
+mr2022-onboarding-mobile-download-subtitle = Вземете разделите от вашето устройство и продължете на друго устройство от там, от където сте спрели. Синхронизирайте своите отметки и пароли навсякъде, където използвате { -brand-product-name }.
+mr2022-onboarding-mobile-download-cta-text = Сканирайте QR кода, за да получите { -brand-product-name } за мобилно устройство или <a data-l10n-name="download-label">изпратете си връзка за изтегляне.</a>
+mr2022-onboarding-no-mobile-download-cta-text = Сканирайте QR кода, за да получите { -brand-product-name } за мобилни устройства.
+
+## MR2022 Upgrade Dialog screens
+## Pin private window screen shown only for users who don't have Firefox private pinned
+
+
+## MR2022 Privacy Segmentation screen strings
+
+mr2022-onboarding-privacy-segmentation-title = Ние винаги уважаваме вашата поверителност
+mr2022-onboarding-privacy-segmentation-button-secondary-label = Показване на подробна информация
+
+## MR2022 Multistage Gratitude screen strings
+
+mr2022-onboarding-gratitude-title = Вие ни помагате да изградим по-добра мрежа
+mr2022-onboarding-gratitude-primary-button-label = Вижте какво е ново
+
+## Onboarding spotlight for infrequent users
+
+onboarding-infrequent-import-title = Чувствайте се като у дома си
+onboarding-infrequent-import-primary-button = Внасяне към { -brand-short-name }
+
+## MR2022 Illustration alt tags
+## Descriptive tags for illustrations used by screen readers and other assistive tech
+
+
+## Device migration onboarding
+
+onboarding-device-migration-title = Добре дошли отново!
+onboarding-device-migration-subtitle = Влезте в { -fxaccount-brand-name(capitalization: "sentence") }, за да пренесете своите отметки, пароли и история със себе си на новото ви устройство.
+onboarding-device-migration-primary-button-label = Вход
+
+## The following screens have been updated to use security and privacy focused strings:
+
diff --git a/l10n-bg/browser/browser/originControls.ftl b/l10n-bg/browser/browser/originControls.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/l10n-bg/browser/browser/originControls.ftl
@@ -0,0 +1,3 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/l10n-bg/browser/browser/pageInfo.ftl b/l10n-bg/browser/browser/pageInfo.ftl
new file mode 100644
index 0000000000..417dcfd4ed
--- /dev/null
+++ b/l10n-bg/browser/browser/pageInfo.ftl
@@ -0,0 +1,261 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/. --
+
+page-info-window =
+ .style = width: 1000px; min-height: 550px;
+
+copy =
+ .key = C
+menu-copy =
+ .label = Копиране
+ .accesskey = К
+
+select-all =
+ .key = A
+menu-select-all =
+ .label = Избиране на всичко
+ .accesskey = в
+
+close-dialog =
+ .key = w
+
+general-tab =
+ .label = Основни
+ .accesskey = О
+general-title =
+ .value = Заглавие:
+general-url =
+ .value = Адрес:
+general-type =
+ .value = Вид:
+general-mode =
+ .value = Изчертаване:
+general-size =
+ .value = Големина:
+general-referrer =
+ .value = Препращащ адрес:
+general-modified =
+ .value = Последна промяна:
+general-encoding =
+ .value = Кодиране на текста:
+general-meta-name =
+ .label = Наименование
+general-meta-content =
+ .label = Съдържание
+
+media-tab =
+ .label = Медия
+ .accesskey = М
+media-location =
+ .value = Адрес:
+media-text =
+ .value = Описание:
+media-alt-header =
+ .label = Алтернативен текст
+media-address =
+ .label = Адрес
+media-type =
+ .label = Вид
+media-size =
+ .label = Размер
+media-count =
+ .label = Брой
+media-dimension =
+ .value = Размер:
+media-long-desc =
+ .value = Дълго описание:
+media-save-as =
+ .label = Запазване като…
+ .accesskey = З
+media-save-image-as =
+ .label = Запазване като…
+ .accesskey = к
+
+perm-tab =
+ .label = Права
+ .accesskey = П
+permissions-for =
+ .value = Правата на:
+
+security-tab =
+ .label = Защита
+ .accesskey = З
+security-view =
+ .label = Преглед на сертификата
+ .accesskey = П
+security-view-unknown = Неизвестен
+ .value = Неизвестен
+security-view-identity =
+ .value = Идентичност на сайта
+security-view-identity-owner =
+ .value = Собственик:
+security-view-identity-domain =
+ .value = Уеб сайт:
+security-view-identity-verifier =
+ .value = Проверено от:
+security-view-identity-validity =
+ .value = Изтича на:
+security-view-privacy =
+ .value = Поверителност и история
+
+security-view-privacy-history-value = Посещавал(-а) ли съм този сайт и преди, изключвайки днес?
+security-view-privacy-sitedata-value = Пази ли тази страница информация на компютъра?
+
+security-view-privacy-clearsitedata =
+ .label = Изчистване на бисквитки и данни на страници
+ .accesskey = И
+
+security-view-privacy-passwords-value = Имам ли запазени пароли за този сайт?
+
+security-view-privacy-viewpasswords =
+ .label = Преглед на запазените пароли
+ .accesskey = п
+security-view-technical =
+ .value = Технически подробности
+
+help-button =
+ .label = Помощ
+
+## These strings are used to tell the user if the website is storing cookies
+## and data on the users computer in the security tab of pageInfo
+## Variables:
+## $value (number) - Amount of data being stored
+## $unit (string) - The unit of data being stored (Usually KB)
+
+security-site-data-cookies = Да, бисквитки и { $value } { $unit } данни от страницата
+security-site-data-only = Да, { $value } { $unit } данни на страници
+
+security-site-data-cookies-only = Да, бисквитките
+security-site-data-no = Не
+
+##
+
+image-size-unknown = Неизвестно
+page-info-not-specified =
+ .value = Не е посочено
+not-set-alternative-text = Неизвестно
+not-set-date = Неизвестно
+media-img = Изображение
+media-bg-img = Фон
+media-border-img = Рамка
+media-list-img = Водач
+media-cursor = Курсор
+media-object = Обект
+media-embed = Вграден обект
+media-link = Пиктограма
+media-input = Вход
+media-video = Видео
+media-audio = Аудио
+saved-passwords-yes = Да
+saved-passwords-no = Не
+
+no-page-title =
+ .value = Неозаглавена страница:
+general-quirks-mode =
+ .value = Нестандартен режим
+general-strict-mode =
+ .value = Стандартен режим
+page-info-security-no-owner =
+ .value = Сайтът не предоставя информация за собственост.
+media-select-folder = Изберете папка за запазване на изображенията
+media-unknown-not-cached =
+ .value = Неизвестно (не е складирано)
+permissions-use-default =
+ .label = Както е по подразбиране
+security-no-visits = Не
+
+# This string is used to display the number of meta tags
+# in the General Tab
+# Variables:
+# $tags (number) - The number of meta tags
+general-meta-tags =
+ .value =
+ { $tags ->
+ [one] Мета информация (1 етикет)
+ *[other] Мета информация ({ $tags } етикета)
+ }
+
+# This string is used to display the number of times
+# the user has visited the website prior
+# Variables:
+# $visits (number) - The number of previous visits
+security-visits-number =
+ { $visits ->
+ [0] Няма
+ [one] Да, 1 път
+ *[other] Да, { $visits } пъти
+ }
+
+# This string is used to display the size of a media file
+# Variables:
+# $kb (number) - The size of an image in Kilobytes
+# $bytes (number) - The size of an image in Bytes
+properties-general-size =
+ .value =
+ { $bytes ->
+ [one] { $kb } KB ({ $bytes } байта)
+ *[other] { $kb } KB ({ $bytes } байта)
+ }
+
+# This string is used to display the type and number
+# of frames of a animated image
+# Variables:
+# $type (string) - The type of a animated image
+# $frames (number) - The number of frames in an animated image
+media-animated-image-type =
+ .value =
+ { $frames ->
+ [one] { $type } Изображение (анимирано, { $frames } кадър)
+ *[other] { $type } Изображение (анимирано, { $frames } кадъра)
+ }
+
+# This string is used to display the type of
+# an image
+# Variables:
+# $type (string) - The type of an image
+media-image-type =
+ .value = { $type } изображение
+
+# This string is used to display the size of a scaled image
+# in both scaled and unscaled pixels
+# Variables:
+# $dimx (number) - The horizontal size of an image
+# $dimy (number) - The vertical size of an image
+# $scaledx (number) - The scaled horizontal size of an image
+# $scaledy (number) - The scaled vertical size of an image
+media-dimensions-scaled =
+ .value = { $dimx } × { $dimy } пиксела (мащабирано до { $scaledx } × { $scaledy } пиксела)
+
+# This string is used to display the size of an image in pixels
+# Variables:
+# $dimx (number) - The horizontal size of an image
+# $dimy (number) - The vertical size of an image
+media-dimensions =
+ .value = { $dimx } × { $dimy } пиксела
+
+# This string is used to display the size of a media
+# file in kilobytes
+# Variables:
+# $size (number) - The size of the media file in kilobytes
+media-file-size = { $size } КБ
+
+## Variables:
+## $website (string) — The url of the website pageInfo is getting info for
+
+# This string is used to display the website name next to the
+# "Block Images" checkbox in the media tab
+# Variables:
+# $website (string) - The website name
+media-block-image =
+ .label = Блокиране на изображенията от { $website }
+ .accesskey = Б
+
+# This string is used to display the URL of the website on top of the
+# pageInfo dialog box
+# Variables:
+# $website (string) — The url of the website pageInfo is getting info for
+page-info-page =
+ .title = Информация за страница – { $website }
+page-info-frame =
+ .title = Информация за рамка – { $website }
diff --git a/l10n-bg/browser/browser/panelUI.ftl b/l10n-bg/browser/browser/panelUI.ftl
new file mode 100644
index 0000000000..a948206953
--- /dev/null
+++ b/l10n-bg/browser/browser/panelUI.ftl
@@ -0,0 +1,25 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Customization Menu
+
+# The overflow menu is the menu that appears if you click the chevron (>> button) in the location bar.
+customize-menu-unpin-from-overflowmenu =
+ .label = Премахване от допълнителното меню
+ .accesskey = д
+customize-menu-add-to-toolbar =
+ .label = Добавяне към лентата с инструменти
+ .accesskey = Д
+customize-menu-add-to-overflowmenu =
+ .label = Добавяне към допълнителното меню
+ .accesskey = д
+
+## Forget Button
+
+# The forget button can be added to the toolbar or overflow menu via the cutomization menu.
+panic-button-thankyou-msg1 = Скорошната ви история е изчистена.
+panic-button-thankyou-msg2 = Безопасно разглеждане!
+panic-button-thankyou-button =
+ .label = Благодарим!
diff --git a/l10n-bg/browser/browser/panicButton.ftl b/l10n-bg/browser/browser/panicButton.ftl
new file mode 100644
index 0000000000..9ee18dee45
--- /dev/null
+++ b/l10n-bg/browser/browser/panicButton.ftl
@@ -0,0 +1,31 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+panic-button-open-new-window = Отворен нов празен прозорец
+panic-button-undo-warning = Действието е необратимо.
+panic-button-forget-button =
+ .label = Забравяне!
+
+## These strings are combined to form a complete sentence starting with
+## panic-main-timeframe-desc. For example: "Forget the last: Five minutes".
+## Please ensure that this remains the case in the translation.
+
+panic-main-timeframe-desc = Забравяне на последните:
+panic-button-5min =
+ .label = Пет митути
+panic-button-2hr =
+ .label = Два часа
+panic-button-day =
+ .label = 24 часа
+
+## These strings are combined to form a complete sentence starting with
+## panic-button-action-desc. For example: "Proceeding will: Delete Recent Cookies".
+## Please ensure that this remains the case in the translation.
+## Note also that some strings include <strong> tags for emphasis on the
+## words "Cookies", "History", "Tabs" and "Windows". The translation should do the same.
+
+panic-button-action-desc = Ако продължите ще бъдат:
+panic-button-delete-cookies = Изтрити скорошните <strong>бисквитки</strong>
+panic-button-delete-history = Изтрита скорошната <strong>история</strong>
+panic-button-delete-tabs-and-windows = Затворени всички <strong>раздели</strong> и <strong>прозорци</strong>
diff --git a/l10n-bg/browser/browser/places.ftl b/l10n-bg/browser/browser/places.ftl
new file mode 100644
index 0000000000..a75d083738
--- /dev/null
+++ b/l10n-bg/browser/browser/places.ftl
@@ -0,0 +1,248 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this file,
+# You can obtain one at http://mozilla.org/MPL/2.0/.
+
+places-open =
+ .label = Отваряне
+ .accesskey = О
+places-open-in-tab =
+ .label = Отваряне в раздел
+ .accesskey = н
+places-open-in-container-tab =
+ .label = Отваряне в нов изолиран раздел
+ .accesskey = и
+places-open-all-bookmarks =
+ .label = Отваряне на всички отметки
+ .accesskey = в
+places-open-all-in-tabs =
+ .label = Отваряне на всички в раздели
+ .accesskey = в
+places-open-in-window =
+ .label = Отваряне в прозорец
+ .accesskey = О
+places-open-in-private-window =
+ .label = Отваряне в поверителен прозорец
+ .accesskey = п
+places-empty-bookmarks-folder =
+ .label = (Празно)
+places-add-bookmark =
+ .label = Нова отметка…
+ .accesskey = о
+places-add-folder-contextmenu =
+ .label = Нова папка…
+ .accesskey = а
+places-add-folder =
+ .label = Нова папка…
+ .accesskey = а
+places-add-separator =
+ .label = Нов разделител
+ .accesskey = р
+places-view =
+ .label = Изглед
+ .accesskey = И
+places-by-date =
+ .label = По дата
+ .accesskey = д
+places-by-site =
+ .label = По сайт
+ .accesskey = с
+places-by-most-visited =
+ .label = По брой посещения
+ .accesskey = б
+places-by-last-visited =
+ .label = По ред на посещение
+ .accesskey = р
+places-by-day-and-site =
+ .label = По дата и сайт
+ .accesskey = а
+places-history-search =
+ .placeholder = Търсене в историята
+places-history =
+ .aria-label = История
+places-bookmarks-search =
+ .placeholder = Търсене в отметките
+places-delete-domain-data =
+ .label = Забравяне на страницата
+ .accesskey = З
+places-sortby-name =
+ .label = Сортиране по име
+ .accesskey = с
+# places-edit-bookmark and places-edit-generic will show one or the other and can have the same access key.
+places-edit-bookmark =
+ .label = Редактиране на отметка…
+ .accesskey = к
+places-edit-generic =
+ .label = Редактиране…
+ .accesskey = Р
+places-edit-folder2 =
+ .label = Редактиране на папката…
+ .accesskey = Р
+# Variables
+# $count (number) - Number of folders to delete
+places-delete-folder =
+ .label =
+ { $count ->
+ [1] Изтриване на папки
+ [one] Изтриване на папка
+ *[other] Изтриване на папки
+ }
+ .accesskey = з
+# Variables:
+# $count (number) - The number of pages selected for removal.
+places-delete-page =
+ .label =
+ { $count ->
+ [1] Изтриване на страница
+ *[other] Изтриване на страници
+ }
+ .accesskey = И
+# Managed bookmarks are created by an administrator and cannot be changed by the user.
+managed-bookmarks =
+ .label = Служебни отметки
+# This label is used when a managed bookmarks folder doesn't have a name.
+managed-bookmarks-subfolder =
+ .label = Подпапка
+# This label is used for the "Other Bookmarks" folder that appears in the bookmarks toolbar.
+other-bookmarks-folder =
+ .label = Други отметки
+# Variables:
+# $count (number) - The number of elements being selected for removal.
+places-delete-bookmark =
+ .label =
+ { $count ->
+ [1] Изтриване на отметки
+ [one] Изтриване на отметка
+ *[other] Изтриване на отметки
+ }
+ .accesskey = И
+places-manage-bookmarks =
+ .label = Управление на отметки
+ .accesskey = У
+places-forget-about-this-site-forget = Забравяне
+places-library3 =
+ .title = Библиотека
+places-organize-button =
+ .label = Подреждане
+ .tooltiptext = Подреждане на отметки
+ .accesskey = р
+places-organize-button-mac =
+ .label = Подреждане
+ .tooltiptext = Подреждане на отметки
+places-file-close =
+ .label = Затваряне
+ .accesskey = З
+places-cmd-close =
+ .key = w
+places-view-button =
+ .label = Изгледи
+ .tooltiptext = Промяна на изгледа
+ .accesskey = И
+places-view-button-mac =
+ .label = Изгледи
+ .tooltiptext = Промяна на изгледа
+places-view-menu-columns =
+ .label = Показване на колони
+ .accesskey = к
+places-view-menu-sort =
+ .label = Сортиране по
+ .accesskey = С
+places-view-sort-unsorted =
+ .label = Без
+ .accesskey = Б
+places-view-sort-ascending =
+ .label = А > Я
+ .accesskey = А
+places-view-sort-descending =
+ .label = Я > А
+ .accesskey = Я
+places-maintenance-button =
+ .label = Внасяне и резервно копие
+ .tooltiptext = Внасяне и възстановяване на отметки
+ .accesskey = В
+places-maintenance-button-mac =
+ .label = Внасяне и резервно копие
+ .tooltiptext = Внасяне и възстановяване на отметки
+places-cmd-backup =
+ .label = Резервно копие…
+ .accesskey = Р
+places-cmd-restore =
+ .label = Възстановяване
+ .accesskey = В
+places-cmd-restore-from-file =
+ .label = Избиране на файл…
+ .accesskey = И
+places-import-bookmarks-from-html =
+ .label = Внасяне на отметки от HTML…
+ .accesskey = В
+places-export-bookmarks-to-html =
+ .label = Изнасяне на отметки в HTML…
+ .accesskey = И
+places-import-other-browser =
+ .label = Внасяне на данни от друг четец…
+ .accesskey = ч
+places-view-sort-col-name =
+ .label = Наименование
+places-view-sort-col-tags =
+ .label = Етикети
+places-view-sort-col-url =
+ .label = Местоположение
+places-view-sort-col-most-recent-visit =
+ .label = Последно посещение
+places-view-sort-col-visit-count =
+ .label = Брой посещения
+places-view-sort-col-date-added =
+ .label = Добавена на
+places-view-sort-col-last-modified =
+ .label = Последна промяна
+places-view-sortby-name =
+ .label = Сортиране по име
+ .accesskey = и
+places-view-sortby-url =
+ .label = Сортиране по местоположение
+ .accesskey = м
+places-view-sortby-date =
+ .label = Сортиране по последно посещение
+ .accesskey = с
+places-view-sortby-visit-count =
+ .label = Сортиране по брой посещения
+ .accesskey = б
+places-view-sortby-date-added =
+ .label = Сортиране по добавено на
+ .accesskey = д
+places-view-sortby-last-modified =
+ .label = Сортиране по последна промяна
+ .accesskey = л
+places-view-sortby-tags =
+ .label = Сортиране по етикети
+ .accesskey = е
+places-cmd-find-key =
+ .key = f
+places-back-button =
+ .tooltiptext = Връщане назад
+places-forward-button =
+ .tooltiptext = Отиване напред
+places-details-pane-select-an-item-description = Изберете елемент, който да разгледате и редактирате
+places-details-pane-no-items =
+ .value = Няма елементи
+# Variables:
+# $count (Number): number of items
+places-details-pane-items-count =
+ .value =
+ { $count ->
+ [one] Един елемент
+ *[other] { $count } елемента
+ }
+
+## Strings used as a placeholder in the Library search field. For example,
+## "Search History" stands for "Search through the browser's history".
+
+places-search-bookmarks =
+ .placeholder = Търсене в отметките
+places-search-history =
+ .placeholder = Търсене в историята
+places-search-downloads =
+ .placeholder = Търсене в изтеглянията
+
+##
+
+places-locked-prompt = Отметки и История няма да работят, защото един от файловете на { -brand-short-name } е заключен от друго приложение. Някои от програмите за безопасност може да предизвикат такъв проблем.
diff --git a/l10n-bg/browser/browser/placesPrompts.ftl b/l10n-bg/browser/browser/placesPrompts.ftl
new file mode 100644
index 0000000000..40e61cb892
--- /dev/null
+++ b/l10n-bg/browser/browser/placesPrompts.ftl
@@ -0,0 +1,17 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+places-error-title = { -brand-short-name }
+places-no-title = (без заглавие)
+
+places-bookmarks-backup-title = Име на резервното копие
+places-bookmarks-restore-alert-title = Възстановяване на отметки
+places-bookmarks-restore-alert = Това ще замени текущите отметки с тези от резервния файл. Сигурни ли сте?
+places-bookmarks-restore-title = Избиране на резервен файл с отметки
+places-bookmarks-restore-filter-name = JSON
+places-bookmarks-restore-format-error = Неподдържан вид на файл.
+places-bookmarks-restore-parse-error = Резервният файл не може да бъде обработен.
+
+places-bookmarks-import = Внасяне на файл с отметки
+places-bookmarks-export = Изнасяне на файл с отметки
diff --git a/l10n-bg/browser/browser/policies/policies-descriptions.ftl b/l10n-bg/browser/browser/policies/policies-descriptions.ftl
new file mode 100644
index 0000000000..3590cf25b0
--- /dev/null
+++ b/l10n-bg/browser/browser/policies/policies-descriptions.ftl
@@ -0,0 +1,49 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## The Enterprise Policies feature is aimed at system administrators
+## who want to deploy these settings across several Firefox installations
+## all at once. This is traditionally done through the Windows Group Policy
+## feature, but the system also supports other forms of deployment.
+## These are short descriptions for individual policies, to be displayed
+## in the documentation section in about:policies.
+
+policy-AppAutoUpdate = Включва или изключва автоматичното обновяване на приложението.
+
+policy-BlockAboutConfig = Забранява достъпа до страницата „about:config“.
+
+policy-BlockAboutProfiles = Забранява достъпа до страницата „about:profiles“.
+
+policy-BlockAboutSupport = Забранява достъпа до страницата „about:support“.
+
+policy-Bookmarks = Създаване на отметки в лентата с инструменти „Отметки“, менюто „Отметки“ или в определена папка вътре в тях.
+
+policy-CertificatesDescription = Добавяне на сертификати или използване на вградени сертификати.
+
+policy-DisableDeveloperTools = Забранява достъпа до развойните инструменти.
+
+policy-DisableFirefoxStudies = Забранява на { -brand-short-name } да извършва изследвания.
+
+policy-DisablePasswordReveal = В запазените регистрации паролите не могат да бъдат показвани.
+
+policy-DisablePrivateBrowsing = Изключва поверителното разглеждане.
+
+policy-DisableTelemetry = Изключва телеметрията.
+
+policy-DisplayMenuBar = Показва лентата с менюто по подразбиране.
+
+policy-DNSOverHTTPS = Настройки на DNS през HTTPS.
+
+policy-InstallAddonsPermission = Разрешава определени страници да инсталират добавки.
+
+## Do not translate "SameSite", it's the name of a cookie attribute.
+
+
+##
+
+policy-PictureInPicture = Включване/изключване картина в картината
+
+policy-Proxy = Настройки на мрежов посредник.
+
diff --git a/l10n-bg/browser/browser/preferences/addEngine.ftl b/l10n-bg/browser/browser/preferences/addEngine.ftl
new file mode 100644
index 0000000000..5ff56649db
--- /dev/null
+++ b/l10n-bg/browser/browser/preferences/addEngine.ftl
@@ -0,0 +1,22 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+add-engine-window2 =
+ .title = Добавяне на търсеща машина
+ .style = min-width: 32em;
+
+add-engine-button = Добавяне на търсеща машина от потребител
+
+add-engine-name = Име на търсеща машина
+
+add-engine-alias = Съкращения
+
+add-engine-url = Аддрес на търсачка, използвайте %s вместо търсената фраза
+
+add-engine-dialog =
+ .buttonlabelaccept = Добавяне на машина
+ .buttonaccesskeyaccept = а
+
+engine-name-exists = Машина с това име вече съществува
+engine-alias-exists = Машина с това съкращение вече съществува
diff --git a/l10n-bg/browser/browser/preferences/applicationManager.ftl b/l10n-bg/browser/browser/preferences/applicationManager.ftl
new file mode 100644
index 0000000000..2b34c83fbd
--- /dev/null
+++ b/l10n-bg/browser/browser/preferences/applicationManager.ftl
@@ -0,0 +1,25 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+app-manager-window2 =
+ .title = Подробности за приложение
+ .style = min-width: 35em; min-height: 20em;
+
+app-manager-remove =
+ .label = Премахване
+ .accesskey = П
+
+# Variables:
+# $type (String) - the URI scheme of the link (e.g. mailto:)
+app-manager-handle-protocol = За работа с препратки от вида „{ $type }“ може да използвате следните приложения.
+
+# Variables:
+# $type (String) - the MIME type (e.g. application/binary)
+app-manager-handle-file = За работа с съдържание от вида „{ $type }“ може да използвате следните приложения.
+
+## These strings are followed, on a new line,
+## by the URL or path of the application.
+
+app-manager-web-app-info = Приложението се намира на:
+app-manager-local-app-info = Приложението се намира на:
diff --git a/l10n-bg/browser/browser/preferences/blocklists.ftl b/l10n-bg/browser/browser/preferences/blocklists.ftl
new file mode 100644
index 0000000000..e06ca784f0
--- /dev/null
+++ b/l10n-bg/browser/browser/preferences/blocklists.ftl
@@ -0,0 +1,33 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+blocklist-window2 =
+ .title = Списъци за блокиране
+ .style = min-width: 50em
+
+blocklist-description = Изберете списък, който { -brand-short-name } ще използва да спира проследяващите елементи на страниците. Списъците са предоставени от <a data-l10n-name="disconnect-link" title="Disconnect">Disconnect</a>.
+blocklist-close-key =
+ .key = w
+
+blocklist-treehead-list =
+ .label = Списък
+
+blocklist-dialog =
+ .buttonlabelaccept = Запазване
+ .buttonaccesskeyaccept = З
+
+
+# This template constructs the name of the block list in the block lists dialog.
+# It combines the list name and description.
+# e.g. "Standard (Recommended). This list does a pretty good job."
+#
+# Variables:
+# $listName {string, "Standard (Recommended)."} - List name.
+# $description {string, "This list does a pretty good job."} - Description of the list.
+blocklist-item-list-template = { $listName } { $description }
+
+blocklist-item-moz-std-listName = Списък за блокиране ниво 1 (препоръчителен).
+blocklist-item-moz-std-description = Позволява някои проследявания, така че по-малко страници да бъдат счупени.
+blocklist-item-moz-full-listName = Списък за блокиране ниво 2.
+blocklist-item-moz-full-description = Спира всички проследявания. Някои страници или съдържание може да не зареди изцяло.
diff --git a/l10n-bg/browser/browser/preferences/clearSiteData.ftl b/l10n-bg/browser/browser/preferences/clearSiteData.ftl
new file mode 100644
index 0000000000..2c30d81f35
--- /dev/null
+++ b/l10n-bg/browser/browser/preferences/clearSiteData.ftl
@@ -0,0 +1,56 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+clear-site-data-window2 =
+ .title = Изчистване на данни
+ .style = min-width: 35em
+
+clear-site-data-description = Изчиствайки всички бисквитки и данни на страници, запазени от { -brand-short-name }, може да бъдете отписани от някои сайтове, както и ще бъде премахнато съдържанието за работа извън мрежа. Изчистването на склада няма да повлияе на вписванията ви.
+
+clear-site-data-close-key =
+ .key = w
+
+# The parameters in parentheses in this string describe disk usage
+# in the format ($amount $unit), e.g. "Cookies and Site Data (24 KB)"
+# Variables:
+# $amount (Number) - Amount of site data currently stored on disk
+# $unit (String) - Abbreviation of the unit that $amount is in, e.g. "MB"
+clear-site-data-cookies-with-data =
+ .label = Бисквитки и данни на страници ({ $amount } { $unit })
+ .accesskey = д
+
+# This string is a placeholder for while the data used to fill
+# clear-site-data-cookies-with-data is loading. This placeholder is usually
+# only shown for a very short time (< 1s), so it should be very similar
+# or the same as clear-site-data-cookies-with-data (except the amount and unit),
+# to avoid flickering.
+clear-site-data-cookies-empty =
+ .label = Бисквитки и данни на страници
+ .accesskey = д
+
+clear-site-data-cookies-info = При изчистване може да бъдете отписани от някои страници
+
+# The parameters in parentheses in this string describe disk usage
+# in the format ($amount $unit), e.g. "Cached Web Content (24 KB)"
+# Variables:
+# $amount (Number) - Amount of cache currently stored on disk
+# $unit (String) - Abbreviation of the unit that $amount is in, e.g. "MB"
+clear-site-data-cache-with-data =
+ .label = Складирано съдържание от мрежата ({ $amount } { $unit })
+ .accesskey = с
+
+# This string is a placeholder for while the data used to fill
+# clear-site-data-cache-with-data is loading. This placeholder is usually
+# only shown for a very short time (< 1s), so it should be very similar
+# or the same as clear-site-data-cache-with-data (except the amount and unit),
+# to avoid flickering.
+clear-site-data-cache-empty =
+ .label = Складирано съдържание от интернет
+ .accesskey = с
+
+clear-site-data-cache-info = Ще принуди страниците да презаредят своите изображения и данни
+
+clear-site-data-dialog =
+ .buttonlabelaccept = Изчистване
+ .buttonaccesskeyaccept = и
diff --git a/l10n-bg/browser/browser/preferences/colors.ftl b/l10n-bg/browser/browser/preferences/colors.ftl
new file mode 100644
index 0000000000..49037ee03b
--- /dev/null
+++ b/l10n-bg/browser/browser/preferences/colors.ftl
@@ -0,0 +1,40 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+colors-close-key =
+ .key = w
+
+colors-page-override = Предпочитане на избраните от вас цветове пред зададените от страницата
+ .accesskey = ц
+
+colors-page-override-option-always =
+ .label = Винаги
+colors-page-override-option-auto =
+ .label = Само за теми с висок контраст
+colors-page-override-option-never =
+ .label = Никога
+
+colors-text-and-background = Текст и фон
+
+colors-text-header = Текст
+ .accesskey = т
+
+colors-background = Фон
+ .accesskey = ф
+
+colors-use-system =
+ .label = Използване на системни цветове
+ .accesskey = с
+
+colors-underline-links =
+ .label = Подчертаване на препратки
+ .accesskey = ч
+
+colors-links-header = Цветове на препратки
+
+colors-unvisited-links = Непосетени препратки
+ .accesskey = н
+
+colors-visited-links = Посетени препратки
+ .accesskey = п
diff --git a/l10n-bg/browser/browser/preferences/connection.ftl b/l10n-bg/browser/browser/preferences/connection.ftl
new file mode 100644
index 0000000000..fc45f0711c
--- /dev/null
+++ b/l10n-bg/browser/browser/preferences/connection.ftl
@@ -0,0 +1,99 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+connection-window2 =
+ .title = Настройки на свързване
+ .style =
+ { PLATFORM() ->
+ [macos] min-width: 44em
+ *[other] min-width: 49em
+ }
+
+connection-close-key =
+ .key = w
+
+connection-disable-extension =
+ .label = Изключване на разширението
+
+connection-proxy-configure = Настройване на мрежов посредник за достъп до интернет
+
+connection-proxy-option-no =
+ .label = Без мрежов посредник
+ .accesskey = Б
+connection-proxy-option-system =
+ .label = Използване на системните настройки
+ .accesskey = с
+connection-proxy-option-auto =
+ .label = Автоматично откриване
+ .accesskey = А
+connection-proxy-option-manual =
+ .label = Ръчна настройка
+ .accesskey = а
+
+connection-proxy-http = Посредник за HTTP
+ .accesskey = р
+connection-proxy-http-port = Порт
+ .accesskey = П
+connection-proxy-https-sharing =
+ .label = Същия посредник и за HTTPS
+ .accesskey = С
+
+connection-proxy-https = Посредник за HTTPS
+ .accesskey = H
+connection-proxy-ssl-port = Порт
+ .accesskey = о
+
+connection-proxy-socks = Хост на SOCKS
+ .accesskey = с
+connection-proxy-socks-port = Порт
+ .accesskey = т
+
+connection-proxy-socks4 =
+ .label = SOCKS v4
+ .accesskey = K
+connection-proxy-socks5 =
+ .label = SOCKS v5
+ .accesskey = v
+connection-proxy-noproxy = Без посредник за
+ .accesskey = Б
+
+connection-proxy-noproxy-desc = Например: .mozilla.org, .net.nz, 192.168.1.0/24
+
+# Do not translate "localhost", "127.0.0.1/8" and "::1". (You can translate "and".)
+connection-proxy-noproxy-localhost-desc-2 = Връзките към localhost, 127.0.0.1/8 и ::1 никога не минават през мрежов посредник.
+
+connection-proxy-autotype =
+ .label = Адрес за автоматично настройване на мрежов посредник
+ .accesskey = д
+
+connection-proxy-reload =
+ .label = Презареждане
+ .accesskey = з
+
+connection-proxy-autologin =
+ .label = Да не се пита за удостоверяване, ако паролата е запазена
+ .accesskey = у
+ .tooltip = Тази настройка ще ви удостоверява без да потвърждение пред мрежови посредници, когато имате запазени данни за вход. Ще бъдете питани, ако удостоверяването се провали.
+
+connection-proxy-autologin-checkbox =
+ .label = Да не се пита за удостоверяване, ако паролата е запазена
+ .accesskey = у
+ .tooltiptext = Тази настройка ще ви удостоверява без да потвърждение пред мрежови посредници, когато имате запазени данни за вход. Ще бъдете питани, ако удостоверяването се провали.
+
+connection-proxy-socks-remote-dns =
+ .label = Посредник за DNS при използване на SOCKS v5
+ .accesskey = D
+
+# Variables:
+# $name (String) - Display name or URL for the DNS over HTTPS provider
+connection-dns-over-https-url-item-default =
+ .label = { $name } (стандартно)
+ .tooltiptext = Използва стандартния адрес за запитвания на DNS през HTTPS
+
+connection-dns-over-https-url-custom =
+ .label = По избор
+ .accesskey = п
+ .tooltiptext = Въведете предпочитания от вас адрес за запитвания на DNS през HTTPS
+
+connection-dns-over-https-custom-label = По избор
diff --git a/l10n-bg/browser/browser/preferences/containers.ftl b/l10n-bg/browser/browser/preferences/containers.ftl
new file mode 100644
index 0000000000..9807ac9778
--- /dev/null
+++ b/l10n-bg/browser/browser/preferences/containers.ftl
@@ -0,0 +1,93 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+containers-window-new2 =
+ .title = Нов изолатор
+ .style = min-width: 45em
+# Variables
+# $name (String) - Name of the container
+containers-window-update-settings2 =
+ .title = Настройки на изолатора „{ $name }“
+ .style = min-width: 45em
+
+containers-window-close =
+ .key = w
+
+# This is a term to store style to be applied
+# on the three labels in the containers add/edit dialog:
+# - name
+# - icon
+# - color
+#
+# Using this term and referencing it in the `.style` attribute
+# of the three messages ensures that all three labels
+# will be aligned correctly.
+-containers-labels-style = min-width: 4rem
+
+containers-name-label = Наименование
+ .accesskey = н
+ .style = { -containers-labels-style }
+
+containers-name-text =
+ .placeholder = Въведете име на изолатор
+
+containers-icon-label = Пиктограма
+ .accesskey = п
+ .style = { -containers-labels-style }
+
+containers-color-label = Цвят
+ .accesskey = ц
+ .style = { -containers-labels-style }
+
+containers-dialog =
+ .buttonlabelaccept = Готово
+ .buttonaccesskeyaccept = Г
+
+containers-color-blue =
+ .label = Синьо
+containers-color-turquoise =
+ .label = Тюркоазено
+containers-color-green =
+ .label = Зелено
+containers-color-yellow =
+ .label = Жълто
+containers-color-orange =
+ .label = Оранжево
+containers-color-red =
+ .label = Червено
+containers-color-pink =
+ .label = Розово
+containers-color-purple =
+ .label = Лилаво
+containers-color-toolbar =
+ .label = Като лентата с инструменти
+
+containers-icon-fence =
+ .label = Ограда
+containers-icon-fingerprint =
+ .label = Пръстов отпечатък
+containers-icon-briefcase =
+ .label = Куфарче
+# String represents a money sign but currently uses a dollar sign
+# so don't change to local currency. See Bug 1291672.
+containers-icon-dollar =
+ .label = Знак за долар
+containers-icon-cart =
+ .label = Количка за пазаруване
+containers-icon-circle =
+ .label = Точка
+containers-icon-vacation =
+ .label = Ваканция
+containers-icon-gift =
+ .label = Подарък
+containers-icon-food =
+ .label = Храна
+containers-icon-fruit =
+ .label = Плод
+containers-icon-pet =
+ .label = Домашен любимец
+containers-icon-tree =
+ .label = Дърво
+containers-icon-chill =
+ .label = Разпускане
diff --git a/l10n-bg/browser/browser/preferences/fonts.ftl b/l10n-bg/browser/browser/preferences/fonts.ftl
new file mode 100644
index 0000000000..076c844a5d
--- /dev/null
+++ b/l10n-bg/browser/browser/preferences/fonts.ftl
@@ -0,0 +1,121 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+fonts-window =
+ .title = Шрифтове
+
+fonts-window-close =
+ .key = w
+
+## Font groups by language
+
+fonts-langgroup-header = Шрифтове за
+ .accesskey = з
+
+fonts-langgroup-arabic =
+ .label = Арабски
+fonts-langgroup-armenian =
+ .label = Арменски
+fonts-langgroup-bengali =
+ .label = Бенгалски
+fonts-langgroup-simpl-chinese =
+ .label = Опростен китайски
+fonts-langgroup-trad-chinese-hk =
+ .label = Традиционен китайски (Хонг Конг)
+fonts-langgroup-trad-chinese =
+ .label = Традиционен китайски (Тайван)
+fonts-langgroup-cyrillic =
+ .label = Кирилица
+fonts-langgroup-devanagari =
+ .label = Деванагари
+fonts-langgroup-ethiopic =
+ .label = Етиопски
+fonts-langgroup-georgian =
+ .label = Грузински
+fonts-langgroup-el =
+ .label = Гръцки
+fonts-langgroup-gujarati =
+ .label = Гуджарати
+fonts-langgroup-gurmukhi =
+ .label = Гурмуки
+fonts-langgroup-japanese =
+ .label = Японски
+fonts-langgroup-hebrew =
+ .label = Иврит
+fonts-langgroup-kannada =
+ .label = Каннада
+fonts-langgroup-khmer =
+ .label = Кхмерски
+fonts-langgroup-korean =
+ .label = Корейски
+# Translate "Latin" as the name of Latin (Roman) script, not as the name of the Latin language.
+fonts-langgroup-latin =
+ .label = Латиница
+fonts-langgroup-malayalam =
+ .label = Малаялам
+fonts-langgroup-math =
+ .label = Математически
+fonts-langgroup-odia =
+ .label = Одийски
+fonts-langgroup-sinhala =
+ .label = Синхала
+fonts-langgroup-tamil =
+ .label = Тамилски
+fonts-langgroup-telugu =
+ .label = Телугу
+fonts-langgroup-thai =
+ .label = Тайландски
+fonts-langgroup-tibetan =
+ .label = Тибетски
+fonts-langgroup-canadian =
+ .label = Единна канадска сричкова писменост
+fonts-langgroup-other =
+ .label = Други писмени системи
+
+## Default fonts and their sizes
+
+fonts-proportional-header = Пропорционален
+ .accesskey = р
+
+fonts-default-serif =
+ .label = Серифен
+fonts-default-sans-serif =
+ .label = Безсерифен
+
+fonts-proportional-size = Големина
+ .accesskey = Г
+
+fonts-serif = Серифен
+ .accesskey = ф
+
+fonts-sans-serif = Несерифен
+ .accesskey = е
+
+fonts-monospace = Равноширок
+ .accesskey = ш
+
+fonts-monospace-size = Големина
+ .accesskey = а
+
+fonts-minsize = Минимална големина
+ .accesskey = л
+
+fonts-minsize-none =
+ .label = Няма
+
+fonts-allow-own =
+ .label = Страниците могат да избират собствен шрифт вместо избраните по-горе
+ .accesskey = м
+
+## Text Encodings
+##
+## Translate the encoding names as adjectives for an encoding, not as the name
+## of the language.
+
+# Variables:
+# $name {string, "Arial"} - Name of the default font
+fonts-label-default =
+ .label = Стандартен ({ $name })
+fonts-label-default-unnamed =
+ .label = Стандартен
diff --git a/l10n-bg/browser/browser/preferences/formAutofill.ftl b/l10n-bg/browser/browser/preferences/formAutofill.ftl
new file mode 100644
index 0000000000..e6e8d16b8c
--- /dev/null
+++ b/l10n-bg/browser/browser/preferences/formAutofill.ftl
@@ -0,0 +1,115 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## The address and credit card autofill management dialog in browser preferences
+
+autofill-manage-addresses-title = Запазени адреси
+autofill-manage-addresses-list-header = Адреси
+
+autofill-manage-credit-cards-title = Запазени банкови карти
+autofill-manage-credit-cards-list-header = Банкови карти
+
+autofill-manage-dialog =
+ .style = min-width: 560px
+autofill-manage-remove-button = Премахване
+autofill-manage-add-button = Добавяне…
+autofill-manage-edit-button = Промяна…
+
+##
+
+# The dialog title for creating addresses in browser preferences.
+autofill-add-new-address-title = Нов адрес
+# The dialog title for editing addresses in browser preferences.
+autofill-edit-address-title = Промяна на адрес
+
+autofill-address-given-name = Име
+autofill-address-additional-name = Презиме
+autofill-address-family-name = Фамилия
+autofill-address-organization = Организация
+autofill-address-street = Адрес
+
+## address-level-3 (Sublocality) names
+
+# Used in IR, MX
+autofill-address-neighborhood = Микрорайон
+# Used in MY
+autofill-address-village-township = Село или махала
+autofill-address-island = Остров
+# Used in IE
+autofill-address-townland = Townland
+
+## address-level-2 names
+
+autofill-address-city = Град
+# Used in HK, SD, SY, TR as Address Level-2 and used in KR as Sublocality.
+autofill-address-district = Район
+# Used in GB, NO, SE
+autofill-address-post-town = Пощенски град
+# Used in AU as Address Level-2 and used in ZZ as Sublocality.
+autofill-address-suburb = Предградие
+
+## address-level-1 names
+
+autofill-address-province = Провинция
+autofill-address-state = Щат
+autofill-address-county = Графство
+# Used in BB, JM
+autofill-address-parish = Енория
+# Used in JP
+autofill-address-prefecture = Префектура
+# Used in HK
+autofill-address-area = Район
+# Used in KR
+autofill-address-do-si = Do/Si
+# Used in NI, CO
+autofill-address-department = Департамент
+# Used in AE
+autofill-address-emirate = Емират
+# Used in RU and UA
+autofill-address-oblast = Област
+
+## Postal code name types
+
+# Used in IN
+autofill-address-pin = Пощенски код
+autofill-address-postal-code = Пощенски код
+autofill-address-zip = Пощенски код
+# Used in IE
+autofill-address-eircode = Eircode
+
+##
+
+autofill-address-country = Държава или район
+autofill-address-tel = Телефон
+autofill-address-email = Ел. адрес
+
+autofill-cancel-button = Отказ
+autofill-save-button = Запазване
+autofill-country-warning-message = Автоматичното попълване на формуляри в момента е достъпно само за някои държави.
+
+# The dialog title for creating credit cards in browser preferences.
+autofill-add-new-card-title = Нова банкова карта
+# The dialog title for editing credit cards in browser preferences.
+autofill-edit-card-title = Промяна
+
+autofill-card-number = Номер на карта
+autofill-card-invalid-number = Моля, въведете валиден номер на банкова карта
+autofill-card-name-on-card = Име от картата
+autofill-card-expires-month = Валидна до месец
+autofill-card-expires-year = Валидна до година
+autofill-card-billing-address = Адрес за фактура
+autofill-card-network = Вид на картата
+
+## These are brand names and should only be translated when a locale-specific name for that brand is in common use
+
+autofill-card-network-amex = American Express
+autofill-card-network-cartebancaire = Carte Bancaire
+autofill-card-network-diners = Diners Club
+autofill-card-network-discover = Discover
+autofill-card-network-jcb = JCB
+autofill-card-network-mastercard = MasterCard
+autofill-card-network-mir = MIR
+autofill-card-network-unionpay = Union Pay
+autofill-card-network-visa = Visa
diff --git a/l10n-bg/browser/browser/preferences/fxaPairDevice.ftl b/l10n-bg/browser/browser/preferences/fxaPairDevice.ftl
new file mode 100644
index 0000000000..15a0bf864f
--- /dev/null
+++ b/l10n-bg/browser/browser/preferences/fxaPairDevice.ftl
@@ -0,0 +1,7 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+fxa-qrcode-error-title = Сдвояването не е успешно.
+
+fxa-qrcode-error-body = Повторен опит.
diff --git a/l10n-bg/browser/browser/preferences/languages.ftl b/l10n-bg/browser/browser/preferences/languages.ftl
new file mode 100644
index 0000000000..ff730116e3
--- /dev/null
+++ b/l10n-bg/browser/browser/preferences/languages.ftl
@@ -0,0 +1,73 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+webpage-languages-window2 =
+ .title = Настройки на езика на страницата
+ .style = min-width: 40em
+
+languages-close-key =
+ .key = w
+
+languages-description = Някои страници се предлагат на повече от един език. Подредете езиците, на които желаете такива страници да бъдат показвани, в реда на вашето предпочитание
+
+languages-customize-spoof-english =
+ .label = Заявяване на английската версия на страниците за подобрена поверителност
+
+languages-customize-moveup =
+ .label = Преместване нагоре
+ .accesskey = г
+
+languages-customize-movedown =
+ .label = Преместване надолу
+ .accesskey = д
+
+languages-customize-remove =
+ .label = Премахване
+ .accesskey = П
+
+languages-customize-select-language =
+ .placeholder = Добавяне на език…
+
+languages-customize-add =
+ .label = Добавяне
+ .accesskey = Д
+
+# The pattern used to generate strings presented to the user in the
+# locale selection list.
+#
+# Example:
+# Icelandic [is]
+# Spanish (Chile) [es-CL]
+#
+# Variables:
+# $locale (String) - A name of the locale (for example: "Icelandic", "Spanish (Chile)")
+# $code (String) - Locale code of the locale (for example: "is", "es-CL")
+languages-code-format =
+ .label = { $locale } [{ $code }]
+
+languages-active-code-format =
+ .value = { languages-code-format.label }
+
+browser-languages-window2 =
+ .title = Настройки на езика на { -brand-short-name }
+ .style = min-width: 40em
+
+browser-languages-description = { -brand-short-name } ще използва първия език от списъка като език по подразбиране, а останалите при необходимост в зададения ред.
+
+browser-languages-search = Търсене на други езици…
+
+browser-languages-searching =
+ .label = Търсене на езици…
+
+browser-languages-downloading =
+ .label = Изтегляне…
+
+browser-languages-select-language =
+ .label = Изберете език, който да бъде добавен…
+ .placeholder = Изберете език, който да бъде добавен…
+
+browser-languages-installed-label = Инсталирани езици
+browser-languages-available-label = Достъпни езици
+
+browser-languages-error = { -brand-short-name } в момента не може да обнови езиците. Проверете връзката с интернет или опитайте отново.
diff --git a/l10n-bg/browser/browser/preferences/moreFromMozilla.ftl b/l10n-bg/browser/browser/preferences/moreFromMozilla.ftl
new file mode 100644
index 0000000000..86ff6ce6ad
--- /dev/null
+++ b/l10n-bg/browser/browser/preferences/moreFromMozilla.ftl
@@ -0,0 +1,15 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## These strings are used in the about:preferences moreFromMozilla page
+
+more-from-moz-title = Още от { -vendor-short-name }
+more-from-moz-category =
+ .tooltiptext = Още от { -vendor-short-name }
+
+more-from-moz-learn-more-link = Научете повече
+
+## These strings are for the Firefox Relay card in about:preferences moreFromMozilla page
+
diff --git a/l10n-bg/browser/browser/preferences/permissions.ftl b/l10n-bg/browser/browser/preferences/permissions.ftl
new file mode 100644
index 0000000000..9fa4736120
--- /dev/null
+++ b/l10n-bg/browser/browser/preferences/permissions.ftl
@@ -0,0 +1,190 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+permissions-window2 =
+ .title = Изключения
+ .style = min-width: 52em
+
+permissions-close-key =
+ .key = w
+
+permissions-address = Адрес на страница
+ .accesskey = д
+
+permissions-block =
+ .label = Забраняване
+ .accesskey = З
+
+permissions-session =
+ .label = Разрешаване за сесията
+ .accesskey = с
+
+permissions-allow =
+ .label = Разрешаване
+ .accesskey = Р
+
+permissions-button-off =
+ .label = Изключване
+ .accesskey = з
+
+permissions-button-off-temporarily =
+ .label = Временно изключване
+ .accesskey = з
+
+permissions-site-name =
+ .label = Страница
+
+permissions-status =
+ .label = Състояние
+
+permissions-remove =
+ .label = Премахване на страница
+ .accesskey = с
+
+permissions-remove-all =
+ .label = Премахване на всички страници
+ .accesskey = в
+
+permission-dialog =
+ .buttonlabelaccept = Запазване
+ .buttonaccesskeyaccept = З
+
+permissions-autoplay-menu = Стандартно за всички страници:
+
+permissions-searchbox =
+ .placeholder = Търсене на страница
+
+permissions-capabilities-autoplay-allow =
+ .label = Разрешено и видео и звук
+permissions-capabilities-autoplay-block =
+ .label = Без звук
+permissions-capabilities-autoplay-blockall =
+ .label = Без звук и видео
+
+permissions-capabilities-allow =
+ .label = Разрешено
+permissions-capabilities-block =
+ .label = Забранено
+permissions-capabilities-prompt =
+ .label = Винаги да пита
+
+permissions-capabilities-listitem-allow =
+ .value = Разрешено
+permissions-capabilities-listitem-block =
+ .value = Забранено
+permissions-capabilities-listitem-allow-session =
+ .value = Разрешено за сесия
+
+permissions-capabilities-listitem-off =
+ .value = Изключено
+permissions-capabilities-listitem-off-temporarily =
+ .value = Временно изключено
+
+## Invalid Hostname Dialog
+
+permissions-invalid-uri-title = Въведено е невалидно име на хост
+permissions-invalid-uri-label = Моля, въведете валидно име на хост
+
+## Exceptions - Tracking Protection
+
+permissions-exceptions-etp-window2 =
+ .title = Изключения в подобрената защита от проследяване
+ .style = { permissions-window2.style }
+
+## Exceptions - Cookies
+
+permissions-exceptions-cookie-window2 =
+ .title = Изключения – Бисквитки и данни на страници
+ .style = { permissions-window2.style }
+permissions-exceptions-cookie-desc = Може да укажете на кои страници винаги е разрешено или забранено да използват бисквитки и данни на страници. Въведете точния адрес на страницата, която искате да настроите и изберете „Забраняване“, „Разрешаване за сесията“ или „Разрешаване“.
+
+## Exceptions - HTTPS-Only Mode
+
+permissions-exceptions-https-only-window2 =
+ .title = Изключения – Режим „само HTTPS“
+ .style = { permissions-window2.style }
+permissions-exceptions-https-only-desc = Можете да изключите режима „само HTTPS“ за конкретни страници. { -brand-short-name } няма да опитва да надстройва връзката към HTTPS за тези страници. Изключенията не се прилагат за поверителни прозорци.
+
+## Exceptions - Pop-ups
+
+permissions-exceptions-popup-window2 =
+ .title = Разрешени страници - изскачащи прозорци
+ .style = { permissions-window2.style }
+permissions-exceptions-popup-desc = Може да посочите страници, на които е позволено да отварят изскачащи прозорци. Въведете точния адрес на страница и натиснете „Разрешаване“.
+
+## Exceptions - Saved Logins
+
+permissions-exceptions-saved-logins-window2 =
+ .title = Изключения – Запазени регистрации
+ .style = { permissions-window2.style }
+permissions-exceptions-saved-logins-desc = Регистрациите в следните страници няма да бъдат запазвани
+
+## Exceptions - Add-ons
+
+permissions-exceptions-addons-window2 =
+ .title = Разрешени страници - инсталация на добавки
+ .style = { permissions-window2.style }
+permissions-exceptions-addons-desc = Може да посочите страници, на които е позволено да инсталират добавки. Въведете точния адрес на страница и натиснете „Разрешаване“.
+
+## Site Permissions - Autoplay
+
+permissions-site-autoplay-window2 =
+ .title = Настройки – Автоматично възпроизвеждане
+ .style = { permissions-window2.style }
+permissions-site-autoplay-desc = Тук можете да управлявате страниците, които не следват настройките за автоматично възпроизвеждане по подразбиране.
+
+## Site Permissions - Notifications
+
+permissions-site-notification-window2 =
+ .title = Настройки – Права за известия
+ .style = { permissions-window2.style }
+permissions-site-notification-desc = Следните страници са поискали да ви изпращат известия. Може да определите на кои е позволено да го правят. Също така може да спрете новите запитвания за получаване на известия.
+permissions-site-notification-disable-label =
+ .label = Спиране на всички нови запитвания за изпращане на известия
+permissions-site-notification-disable-desc = По този начин ще попречите на страниците, които не са в списъка да искат разрешение да изпращат известия. Спирането на известията може да наруши работата на страниците.
+
+## Site Permissions - Location
+
+permissions-site-location-window2 =
+ .title = Настройки – Права за местоположение
+ .style = { permissions-window2.style }
+permissions-site-location-desc = Следните страници са поискали достъп до вашето местоположение. Може да определите на кои е позволено да го правят. Също може да спрете бъдещите запитвания за достъп до местоположението ви.
+permissions-site-location-disable-label =
+ .label = Спиране на всички нови запитвания за достъп до местоположението
+permissions-site-location-disable-desc = По този начин ще попречите на страниците, които не са в списъка да искат разрешение за достъп до местоположението. Спирането достъпа до местоположението ви може да наруши работата на страниците.
+
+## Site Permissions - Virtual Reality
+
+permissions-site-xr-window2 =
+ .title = Настройки - Права за виртуална реалност
+ .style = { permissions-window2.style }
+permissions-site-xr-desc = Следните уебсайтове поискаха достъп до вашите устройства за виртуална реалност. Можете да определите кои от тях да имат достъп до вашите устройства за виртуална реалност. Можете също да блокирате нови заявки за достъп до устройствата ви за виртуална реалност.
+permissions-site-xr-disable-label =
+ .label = Блокиране на всички нови заявки с искане за достъп до вашите устройства за виртуална реалност
+permissions-site-xr-disable-desc = По този начин ще попречите на страниците, които не са в списъка да искат разрешение за достъп до вашите устройства за виртуална реалност. Спирането достъпа до устройствата за виртуална реалност може да попречи на някои страници да функционират правилно.
+
+## Site Permissions - Camera
+
+permissions-site-camera-window2 =
+ .title = Настройки – Права за камера
+ .style = { permissions-window2.style }
+permissions-site-camera-desc = Следните страници са поискали достъп до вашата камера. Може да определите на кои е позволено да го правят. Също може да спрете бъдещите запитвания за достъп до камерата ви.
+permissions-site-camera-disable-label =
+ .label = Спиране на всички нови запитвания за достъп до камерата
+permissions-site-camera-disable-desc = По този начин ще попречите на страниците, които не са в списъка да искат разрешение за достъп до камерата. Спирането на достъпа да камерата ви може да наруши работата на страниците.
+
+## Site Permissions - Microphone
+
+permissions-site-microphone-window2 =
+ .title = Настройки – Права за микрофон
+ .style = { permissions-window2.style }
+permissions-site-microphone-desc = Следните страници са поискали достъп до вашия микрофон. Може да определите на кои е позволено да го правят. Също може да спрете бъдещите запитвания за достъп до микрофона ви.
+permissions-site-microphone-disable-label =
+ .label = Спиране на всички нови запитвания за достъп до микрофона
+permissions-site-microphone-disable-desc = По този начин ще попречите на страниците, които не са в списъка да искат разрешение за достъп до микрофона. Спирането на достъпа да микрофона ви може да наруши работата на страниците.
+
+## Site Permissions - Speaker
+##
+## "Speaker" refers to an audio output device.
+
diff --git a/l10n-bg/browser/browser/preferences/preferences.ftl b/l10n-bg/browser/browser/preferences/preferences.ftl
new file mode 100644
index 0000000000..aea272fcc5
--- /dev/null
+++ b/l10n-bg/browser/browser/preferences/preferences.ftl
@@ -0,0 +1,1155 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+do-not-track-description = Изпраща на сайтовете "Не следи" сигнал, че не желаете да бъдете проследявани.
+do-not-track-learn-more = Научете повече
+do-not-track-option-default-content-blocking-known =
+ .label = Само когато { -brand-short-name } е настроен да блокира известни тракери
+do-not-track-option-always =
+ .label = Винаги
+settings-page-title = Настройки
+# This is used to determine the width of the search field in about:preferences,
+# in order to make the entire placeholder string visible
+#
+# Please keep the placeholder string short to avoid truncation.
+#
+# Notice: The value of the `.style` attribute is a CSS string, and the `width`
+# is the name of the CSS property. It is intended only to adjust the element's width.
+# Do not translate.
+search-input-box2 =
+ .style = width: 15.4em
+ .placeholder = Търсене в настройките
+managed-notice = Настройките на вашия браузър се управляват от вашата организация.
+category-list =
+ .aria-label = Категории
+pane-general-title = Основни
+category-general =
+ .tooltiptext = { pane-general-title }
+pane-home-title = Начална страница
+category-home =
+ .tooltiptext = { pane-home-title }
+pane-search-title = Търсене
+category-search =
+ .tooltiptext = { pane-search-title }
+pane-privacy-title = Поверителност и защита
+category-privacy =
+ .tooltiptext = { pane-privacy-title }
+pane-sync-title3 = Sync
+category-sync3 =
+ .tooltiptext = { pane-sync-title3 }
+pane-experimental-title = Опити с { -brand-short-name }
+category-experimental =
+ .tooltiptext = Опити с { -brand-short-name }
+pane-experimental-subtitle = Продължете с повишено внимание
+pane-experimental-search-results-header = Опити с { -brand-short-name }: Продължете с повишено внимание
+pane-experimental-description2 = Промяната на разширените настройки може да повлияе на производителността или сигурността на { -brand-short-name }.
+pane-experimental-reset =
+ .label = Възстановяване на стандартните настройки
+ .accesskey = С
+help-button-label = Поддръжка на { -brand-short-name }
+addons-button-label = Разширения и теми
+focus-search =
+ .key = f
+close-button =
+ .aria-label = Затваряне
+
+## Browser Restart Dialog
+
+feature-enable-requires-restart = Приложението { -brand-short-name } трябва да бъде рестартирано, за да бъде включена тази възможност.
+feature-disable-requires-restart = Приложението { -brand-short-name } трябва да бъде рестартирано, за да бъде изключена тази възможност.
+should-restart-title = Рестартиране на { -brand-short-name }
+should-restart-ok = Рестартиране на { -brand-short-name }
+cancel-no-restart-button = Отказ
+restart-later = Рестартиране по-късно
+
+## Extension Control Notifications
+##
+## These strings are used to inform the user
+## about changes made by extensions to browser settings.
+##
+## <img data-l10n-name="icon"/> is going to be replaced by the extension icon.
+##
+## Variables:
+## $name (string) - Name of the extension
+
+# This string is shown to notify the user that the password manager setting
+# is being controlled by an extension
+extension-controlling-password-saving = Разширението „<img data-l10n-name="icon"/> <strong>{ $name }</strong>“ управлява тази настройка.
+# This string is shown to notify the user that their notifications permission
+# is being controlled by an extension.
+extension-controlling-web-notifications = Разширението „<img data-l10n-name="icon"/> <strong>{ $name }</strong>“ управлява тази настройка.
+# This string is shown to notify the user that Container Tabs
+# are being enabled by an extension.
+extension-controlling-privacy-containers = Разширението „<img data-l10n-name="icon"/> <strong>{ $name }</strong>“ има изискване за изолирани раздели.
+# This string is shown to notify the user that their content blocking "All Detected Trackers"
+# preferences are being controlled by an extension.
+extension-controlling-websites-content-blocking-all-trackers = Разширението „<img data-l10n-name="icon"/> <strong>{ $name }</strong>“ управлява тази настройка.
+# This string is shown to notify the user that their proxy configuration preferences
+# are being controlled by an extension.
+extension-controlling-proxy-config = Разширението „<img data-l10n-name="icon"/> <strong>{ $name }</strong>“ управлява как { -brand-short-name } се свързва с интернет.
+# This string is shown after the user disables an extension to notify the user
+# how to enable an extension that they disabled.
+#
+# <img data-l10n-name="addons-icon"/> will be replaced with Add-ons icon
+# <img data-l10n-name="menu-icon"/> will be replaced with Menu icon
+extension-controlled-enable = Отворете <img data-l10n-name="addons-icon"/> Добавки в менюто <img data-l10n-name="menu-icon"/>, за да включите разширението.
+
+## Preferences UI Search Results
+
+search-results-header = Резултати
+# `<span data-l10n-name="query"></span>` will be replaced by the search term.
+search-results-empty-message2 = Съжаляваме! В настройките няма резултати за „<span data-l10n-name="query"></span>“.
+search-results-help-link = Имате нужда от помощ? Посетете <a data-l10n-name="url">поддръжката за { -brand-short-name }</a>
+
+## General Section
+
+startup-header = Стартиране
+always-check-default =
+ .label = Проверяване дали { -brand-short-name } е стандартният четец
+ .accesskey = ч
+is-default = { -brand-short-name } е вашият стандартен четец
+is-not-default = { -brand-short-name } не е вашият стандартен четец
+set-as-my-default-browser =
+ .label = Задаване като стандартен…
+ .accesskey = с
+startup-restore-windows-and-tabs =
+ .label = Отваряне на последните прозорци и раздели
+ .accesskey = п
+startup-restore-warn-on-quit =
+ .label = Предупреждаване при затваряне на четеца
+disable-extension =
+ .label = Изключване на разширението
+preferences-data-migration-header = Внасяне на данни от друг четец
+preferences-data-migration-description = Внасяне на отметки, пароли, история и данни за автоматично попълване в { -brand-short-name }.
+preferences-data-migration-button =
+ .label = Внасяне на данни
+ .accesskey = н
+tabs-group-header = Раздели
+ctrl-tab-recently-used-order =
+ .label = Ctrl+Tab обикаля разделите в реда на използване
+ .accesskey = б
+open-new-link-as-tabs =
+ .label = Отваряне на препратките в раздели вместо в нови прозорци
+ .accesskey = р
+confirm-on-close-multiple-tabs =
+ .label = Потвърждаване при затваряне на няколко раздела
+ .accesskey = д
+# This string is used for the confirm before quitting preference.
+# Variables:
+# $quitKey (string) - the quit keyboard shortcut, and formatted
+# in the same manner as it would appear,
+# for example, in the File menu.
+confirm-on-quit-with-key =
+ .label = Потвърждаване при изход с { $quitKey }
+ .accesskey = х
+warn-on-open-many-tabs =
+ .label = Предупреждаване, ако отваряне на няколко раздела може да забави { -brand-short-name }
+ .accesskey = а
+switch-to-new-tabs =
+ .label = При отваряне на препратка, изображение или медия в нов раздел, превключване към него
+ .accesskey = т
+show-tabs-in-taskbar =
+ .label = Преглед на разделите в лентата със задачите на Windows
+ .accesskey = с
+browser-containers-enabled =
+ .label = Включване на изолатора на раздели
+ .accesskey = к
+browser-containers-learn-more = Научете повече
+browser-containers-settings =
+ .label = Настройки…
+ .accesskey = а
+containers-disable-alert-title = Затваряне на всички изолирани раздели?
+
+## Variables:
+## $tabCount (number) - Number of tabs
+
+containers-disable-alert-desc =
+ { $tabCount ->
+ [one] Ако сега изключите Изолирани раздели { $tabCount } изолиран раздел ще бъде затворен. Желаете ли да изключите изолираните раздели?
+ *[other] Ако сега изключите Изолирани раздели { $tabCount } изолирани раздела ще бъде затворени. Желаете ли да изключите изолираните раздели?
+ }
+containers-disable-alert-ok-button =
+ { $tabCount ->
+ [one] Затваряне на { $tabCount } изолиран раздел
+ *[other] Затваряне на { $tabCount } изолирани раздела
+ }
+
+##
+
+containers-disable-alert-cancel-button = Оставяне включено
+containers-remove-alert-title = Премахване на изолатора?
+# Variables:
+# $count (number) - Number of tabs that will be closed.
+containers-remove-alert-msg =
+ { $count ->
+ [one] Ако сега премахнете този изолатор, { $count } раздел ще бъде затворен. Наистина ли желаете да премахнете този изолатор?
+ *[other] Ако сега премахнете този изолатор, { $count } негови раздела ще бъдат затворени. Наистина ли желаете да премахнете този изолатор?
+ }
+containers-remove-ok-button = Премахване
+containers-remove-cancel-button = Запазване
+
+## General Section - Language & Appearance
+
+language-and-appearance-header = Език и изглед
+preferences-web-appearance-header = Изглед на страниците
+preferences-web-appearance-description = Някои страници адаптират цветовете си въз основа на вашите предпочитания. Изберете цветовата схема, която да бъде използвана за такива страници.
+preferences-web-appearance-choice-auto = Автоматично
+preferences-web-appearance-choice-light = Светла
+preferences-web-appearance-choice-dark = Тъмна
+preferences-web-appearance-choice-tooltip-light =
+ .title = Да се ползва светъл външен вид за фон и съдържание на страниците.
+preferences-web-appearance-choice-tooltip-dark =
+ .title = Да се ползва тъмен външен вид за фон и съдържание на страниците.
+preferences-web-appearance-choice-input-light =
+ .aria-description = { preferences-web-appearance-choice-tooltip-light.title }
+preferences-web-appearance-choice-input-dark =
+ .aria-description = { preferences-web-appearance-choice-tooltip-dark.title }
+# This message contains one link. It can be moved within the sentence as needed
+# to adapt to your language, but should not be changed.
+preferences-web-appearance-footer = Управлявайте темите на { -brand-short-name } в <a data-l10n-name="themes-link">Управление на добавки</a>
+preferences-colors-header = Цветове
+preferences-colors-description = Заменете цветовете по подразбиране на { -brand-short-name } за текст, фонове на страници и препратки.
+preferences-colors-manage-button =
+ .label = Управление на цветове…
+ .accesskey = ц
+preferences-fonts-header = Шрифтове
+default-font = Стандартен шрифт
+ .accesskey = С
+default-font-size = Големина
+ .accesskey = Г
+advanced-fonts =
+ .label = Разширени…
+ .accesskey = Р
+# Zoom is a noun, and the message is used as header for a group of options
+preferences-zoom-header = Мащабиране
+preferences-default-zoom = Мащабиране по подразбиране
+ .accesskey = м
+# Variables:
+# $percentage (number) - Zoom percentage value
+preferences-default-zoom-value =
+ .label = { $percentage }%
+preferences-zoom-text-only =
+ .label = Само на текст
+ .accesskey = т
+language-header = Език
+choose-language-description = Избор на език при показване на многоезични страници
+choose-button =
+ .label = Избиране…
+ .accesskey = И
+choose-browser-language-description = Изберете езиците, на които да бъдат показвани менютата, съобщенията и известията от { -brand-short-name }.
+manage-browser-languages-button =
+ .label = Допълнителни езици…
+ .accesskey = з
+confirm-browser-language-change-description = Рестартирайте { -brand-short-name }, за да бъдат приложени промените
+confirm-browser-language-change-button = Прилагане и рестартиране
+translate-web-pages =
+ .label = Превеждане на съдържанието на страниците
+ .accesskey = П
+fx-translate-web-pages = { -translations-brand-name }
+# The <img> element is replaced by the logo of the provider
+# used to provide machine translations for web pages.
+translate-attribution = Превод от <img data-l10n-name="logo"/>
+translate-exceptions =
+ .label = Изключения…
+ .accesskey = з
+# Variables:
+# $localeName (string) - Localized name of the locale to be used.
+use-system-locale =
+ .label = Използвайте настройките на вашата операционна система на „{ $localeName }“, за форматирането на датата, часовете, числата и други величини.
+check-user-spelling =
+ .label = Проверяване на правописа при въвеждане
+ .accesskey = в
+
+## General Section - Files and Applications
+
+files-and-applications-title = Файлове и приложения
+download-header = Изтегляния
+download-save-where = Запазване на файловете в
+ .accesskey = З
+download-choose-folder =
+ .label =
+ { PLATFORM() ->
+ [macos] Избиране…
+ *[other] Разглеждане…
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [macos] И
+ *[other] Р
+ }
+download-always-ask-where =
+ .label = Винаги да пита къде да бъдат запазвани файловете
+ .accesskey = В
+applications-header = Приложения
+applications-description = Изберете как { -brand-short-name } управлява изтеглените файлове или приложенията, които използвате докато разглеждате.
+applications-filter =
+ .placeholder = Търсене на видове файлове и приложения
+applications-type-column =
+ .label = Вид на съдържанието
+ .accesskey = В
+applications-action-column =
+ .label = Действие
+ .accesskey = Д
+# Variables:
+# $extension (String) - file extension (e.g .TXT)
+applications-file-ending = файл { $extension }
+applications-action-save =
+ .label = Запазване на файла
+# Variables:
+# $app-name (String) - Name of an application (e.g Adobe Acrobat)
+applications-use-app =
+ .label = Използване на { $app-name }
+# Variables:
+# $app-name (String) - Name of an application (e.g Adobe Acrobat)
+applications-use-app-default =
+ .label = Използване на { $app-name } (по подразбиране)
+applications-use-os-default =
+ .label =
+ { PLATFORM() ->
+ [macos] Използване на приложението по подразбиране в macOS
+ [windows] Използване на приложението по подразбиране в Windows
+ *[other] Използване на системното приложение по подразбиране
+ }
+applications-use-other =
+ .label = Използване на друго…
+applications-select-helper = Избиране на помощно приложение
+applications-manage-app =
+ .label = Подробности за приложение…
+applications-always-ask =
+ .label = Винаги да пита
+# Variables:
+# $type-description (string) - Description of the type (e.g "Portable Document Format")
+# $type (string) - The MIME type (e.g application/binary)
+applications-type-description-with-type = { $type-description } ({ $type })
+# Variables:
+# $extension (string) - File extension (e.g .TXT)
+# $type (string) - The MIME type (e.g application/binary)
+applications-file-ending-with-type = { applications-file-ending } ({ $type })
+# Variables:
+# $plugin-name (string) - Name of a plugin (e.g Adobe Flash)
+applications-use-plugin-in =
+ .label = Използване на { $plugin-name } (от { -brand-short-name })
+applications-open-inapp =
+ .label = Отваряне в { -brand-short-name }
+
+## The strings in this group are used to populate
+## selected label element based on the string from
+## the selected menu item.
+
+applications-use-plugin-in-label =
+ .value = { applications-use-plugin-in.label }
+applications-action-save-label =
+ .value = { applications-action-save.label }
+applications-use-app-label =
+ .value = { applications-use-app.label }
+applications-open-inapp-label =
+ .value = { applications-open-inapp.label }
+applications-always-ask-label =
+ .value = { applications-always-ask.label }
+applications-use-app-default-label =
+ .value = { applications-use-app-default.label }
+applications-use-other-label =
+ .value = { applications-use-other.label }
+applications-use-os-default-label =
+ .value = { applications-use-os-default.label }
+
+##
+
+applications-handle-new-file-types-description = Какво да направи { -brand-short-name } с другите файлове?
+applications-save-for-new-types =
+ .label = Запазване на файлове
+ .accesskey = з
+drm-content-header = Съдържание с цифрови права (DRM)
+play-drm-content =
+ .label = Изпълняване на съдържание под DRM
+ .accesskey = И
+play-drm-content-learn-more = Научете повече
+update-application-title = Обновявания на { -brand-short-name }
+update-application-description = За най-добра производителност, стабилност и защита поддържайте { -brand-short-name } обновен.
+# Variables:
+# $version (string) - Firefox version
+update-application-version = Издание { $version } <a data-l10n-name="learn-more">Новото в това издание</a>
+update-history =
+ .label = Хронология на обновяванията…
+ .accesskey = х
+update-application-allow-description = Разрешаване на { -brand-short-name }
+update-application-auto =
+ .label = Да инсталира обновявания автоматично (препоръчително)
+ .accesskey = и
+update-application-check-choose =
+ .label = Да прави проверка за обновявания, но да дава избор дали да бъдат инсталирани
+ .accesskey = п
+update-application-manual =
+ .label = Никога да не прави проверка за обновявания (непрепоръчително)
+ .accesskey = Н
+update-application-background-enabled =
+ .label = Когато { -brand-short-name } не е пуснат
+ .accesskey = н
+update-application-warning-cross-user-setting = Тази настройка ще бъде приложена към всички профили в Windows и всички профили на { -brand-short-name }, използващи тази инсталация на { -brand-short-name }.
+update-application-use-service =
+ .label = Използване на услуга във фонов режим за инсталиране на обновявания
+ .accesskey = у
+update-application-suppress-prompts =
+ .label = Показване на по-малко известия за обновяване
+ .accesskey = м
+update-setting-write-failure-title2 = Грешка при запазване на настройки
+# Variables:
+# $path (string) - Path to the configuration file
+# The newlines between the main text and the line containing the path is
+# intentional so the path is easier to identify.
+update-setting-write-failure-message2 =
+ Поради възникнала грешка { -brand-short-name } не запази промяната. Обърнете внимание, че промяната на тази настройка за обновяване изисква права за запис във файла по-долу. Вие или системния администратор може да успеете да разрешите проблема като предоставите на групата потребители пълни права над този файл.
+
+ Във файлa „{ $path }“ не може да бъде записвано.
+update-in-progress-title = Обновяване е в процес на изпълнение
+update-in-progress-message = Желаете ли { -brand-short-name } да продължи с обновяването?
+update-in-progress-ok-button = &Отхвърляне
+# Continue is the cancel button so pressing escape or using a platform standard
+# method of closing the UI will not discard the update.
+update-in-progress-cancel-button = &Продължаване
+
+## General Section - Performance
+
+performance-title = Производителност
+performance-use-recommended-settings-checkbox =
+ .label = Използване на препоръчителните настройки на производителността
+ .accesskey = п
+performance-use-recommended-settings-desc = Тези настройки са съобразени с хардуера и операционната система на компютъра.
+performance-settings-learn-more = Научете повече
+performance-allow-hw-accel =
+ .label = Използване на хардуерно ускоряване, ако е налично
+ .accesskey = х
+performance-limit-content-process-option = Процеси за обработка на съдържание
+ .accesskey = с
+performance-limit-content-process-enabled-desc = Допълнителни процеси за обработка на съдържание може да подобрят производителността при използване на повече раздели за сметка на повече използвана памет.
+performance-limit-content-process-blocked-desc = Променянето на броя на процесите за съдържание е възможно само при многопроцесен { -brand-short-name }. <a data-l10n-name="learn-more">Научете как да проверите дали многопроцесността е включена</a>
+# Variables:
+# $num (number) - Default value of the `dom.ipc.processCount` pref.
+performance-default-content-process-count =
+ .label = { $num } (по подразбиране)
+
+## General Section - Browsing
+
+browsing-title = Разглеждане
+browsing-use-autoscroll =
+ .label = Автоматично плъзгане
+ .accesskey = А
+browsing-use-smooth-scrolling =
+ .label = Плавно плъзгане
+ .accesskey = л
+browsing-gtk-use-non-overlay-scrollbars =
+ .label = Лентите за превъртане да са винаги видими
+ .accesskey = Л
+browsing-use-onscreen-keyboard =
+ .label = Показване на клавиатура за докосване, при необходимост
+ .accesskey = д
+browsing-use-cursor-navigation =
+ .label = Използване на каретка за придвижване в страниците
+ .accesskey = к
+browsing-search-on-start-typing =
+ .label = Търсене на текст при започване на въвеждане
+ .accesskey = Т
+browsing-picture-in-picture-toggle-enabled =
+ .label = Включване на видео картина в картината
+ .accesskey = к
+browsing-picture-in-picture-learn-more = Научете повече
+browsing-media-control =
+ .label = Управлявайте медията чрез клавиатура, слушалки или виртуално устройство
+ .accesskey = У
+browsing-media-control-learn-more = Научете повече
+browsing-cfr-recommendations =
+ .label = Препоръчване на разширения
+ .accesskey = П
+browsing-cfr-features =
+ .label = Препоръчване на възможности
+ .accesskey = в
+browsing-cfr-recommendations-learn-more = Научете повече
+
+## General Section - Proxy
+
+network-settings-title = Настройки на мрежата
+network-proxy-connection-description = Настройване на достъпа до интернет от { -brand-short-name }.
+network-proxy-connection-learn-more = Научете повече
+network-proxy-connection-settings =
+ .label = Настройки…
+ .accesskey = Н
+
+## Home Section
+
+home-new-windows-tabs-header = Нови прозорци и раздели
+home-new-windows-tabs-description2 = Изберете какво да виждате при отваряне на началната страница, нови прозорци или раздели.
+
+## Home Section - Home Page Customization
+
+home-homepage-mode-label = Начална страница и нови прозорци
+home-newtabs-mode-label = Нов раздел
+home-restore-defaults =
+ .label = Стандартни настройки
+ .accesskey = с
+home-mode-choice-custom =
+ .label = Потребителски адреси…
+home-mode-choice-blank =
+ .label = Празна страница
+home-homepage-custom-url =
+ .placeholder = Поставете адрес…
+# This string has a special case for '1' and [other] (default). If necessary for
+# your language, you can add {$tabCount} to your translations and use the
+# standard CLDR forms, or only use the form for [other] if both strings should
+# be identical.
+use-current-pages =
+ .label =
+ { $tabCount ->
+ [1] Текущата страница
+ *[other] Текущите страници
+ }
+ .accesskey = Т
+choose-bookmark =
+ .label = Отметка…
+ .accesskey = О
+
+## Home Section - Firefox Home Content Customization
+
+home-prefs-search-header =
+ .label = Търсене в Мрежата
+home-prefs-shortcuts-header =
+ .label = Бързи клавиши
+home-prefs-shortcuts-description = Страници за преглед по-късно
+home-prefs-shortcuts-by-option-sponsored =
+ .label = Спонсорирани препратки
+
+## Variables:
+## $provider (string) - Name of the corresponding content provider, e.g "Pocket".
+
+home-prefs-recommended-by-header =
+ .label = Препоръчано от { $provider }
+home-prefs-recommended-by-description-new = Изключително съдържание, подбрано от { $provider } част от семейството на { -brand-product-name }
+
+##
+
+home-prefs-recommended-by-learn-more = Как работи
+home-prefs-recommended-by-option-sponsored-stories =
+ .label = Платени публикации
+home-prefs-highlights-option-visited-pages =
+ .label = Посетени страници
+home-prefs-highlights-options-bookmarks =
+ .label = Отметки
+home-prefs-highlights-option-most-recent-download =
+ .label = Последни изтегляния
+home-prefs-highlights-option-saved-to-pocket =
+ .label = Страници, запазени в { -pocket-brand-name }
+home-prefs-recent-activity-header =
+ .label = Последна активност
+home-prefs-recent-activity-description = Избрани страници и съдържание
+# For the "Snippets" feature traditionally on about:home.
+# Alternative translation options: "Small Note" or something that
+# expresses the idea of "a small message, shortened from something else,
+# and non-essential but also not entirely trivial and useless.
+home-prefs-snippets-header =
+ .label = Изрезки
+home-prefs-snippets-description-new = Съвети и новини от { -vendor-short-name } и { -brand-product-name }
+# Variables:
+# $num (number) - Number of rows displayed
+home-prefs-sections-rows-option =
+ .label =
+ { $num ->
+ [one] { $num } ред
+ *[other] { $num } реда
+ }
+
+## Search Section
+
+search-bar-header = Лента за търсене
+search-bar-hidden =
+ .label = Използване на адресната лента за търсене и отваряне на страници
+search-bar-shown =
+ .label = Добавяне на лента за търсене в лентата с инструменти
+search-engine-default-header = Стандартна търсеща машина
+search-engine-default-desc-2 = Това е вашата търсачка по подразбиране в адресната лента и в лентата за търсене. Можете да я променяте по всяко време.
+search-engine-default-private-desc-2 = Изберете друга търсачка по подразбиране само при поверително разглеждане
+search-separate-default-engine =
+ .label = Използвайте тази търсачка при поверително разглеждане
+ .accesskey = И
+search-suggestions-header = Предложения при търсене
+search-suggestions-desc = Изберете как да се показват предложенията от търсещи машини.
+search-suggestions-option =
+ .label = Показване на предложения при търсене
+ .accesskey = П
+search-show-suggestions-url-bar-option =
+ .label = Показване на предложения при търсене в резултатите от адресната лента
+ .accesskey = р
+# This string describes what the user will observe when the system
+# prioritizes search suggestions over browsing history in the results
+# that extend down from the address bar. In the original English string,
+# "ahead" refers to location (appearing most proximate to), not time
+# (appearing before).
+search-show-suggestions-above-history-option =
+ .label = Показване на подсказките преди резултатите от историята при търсене от адресната лента
+search-show-suggestions-private-windows =
+ .label = Показване на предложенията за търсене при поверително разглеждане
+suggestions-addressbar-settings-generic2 = Промяна на настройките за други предложения в адресната лента
+search-suggestions-cant-show = Предложения при търсене в резултатите на адресната лента няма да бъдат показвани, защото { -brand-short-name } е настроен да не запазва историята на разглеждане.
+search-one-click-header2 = Преки пътища за търсене
+search-one-click-desc = Изберете допълнителни търсещи машини, които да се показват под адресната лента и лентата за търсене при въвеждане на текст.
+search-choose-engine-column =
+ .label = Търсеща машина
+search-choose-keyword-column =
+ .label = Ключова дума
+search-restore-default =
+ .label = Връщане на стандартните
+ .accesskey = В
+search-remove-engine =
+ .label = Премахване
+ .accesskey = П
+search-add-engine =
+ .label = Добавяне
+ .accesskey = Д
+search-find-more-link = Други търсещи машини
+# This warning is displayed when the chosen keyword is already in use
+# ('Duplicate' is an adjective)
+search-keyword-warning-title = Дублиране на ключовата дума
+# Variables:
+# $name (string) - Name of a search engine.
+search-keyword-warning-engine = Избрали сте ключова дума, която вече се използва от „{ $name }“. Моля, изберете друга.
+search-keyword-warning-bookmark = Избрали сте дума, която вече се използва от отметка. Моля, изберете друга.
+
+## Containers Section
+
+containers-back-button2 =
+ .aria-label = Към настройките
+containers-header = Изолирани раздели
+containers-add-button =
+ .label = Нов изолатор
+ .accesskey = и
+containers-new-tab-check =
+ .label = Избиране на изолатор за всеки нов раздел
+ .accesskey = р
+containers-settings-button =
+ .label = Настройки
+containers-remove-button =
+ .label = Премахване
+
+## Firefox account - Signed out. Note that "Sync" and "Firefox account" are now
+## more discrete ("signed in" no longer means "and sync is connected").
+
+sync-signedout-caption = Вземете Мрежата със себе си
+sync-signedout-description2 = Синхронизирайте вашите отметки, история, раздели, добавки и настройки с всички ваши устройства.
+sync-signedout-account-signin3 =
+ .label = Вписване в Sync…
+ .accesskey = и
+# This message contains two links and two icon images.
+# `<img data-l10n-name="android-icon"/>` - Android logo icon
+# `<a data-l10n-name="android-link">` - Link to Android Download
+# `<img data-l10n-name="ios-icon">` - iOS logo icon
+# `<a data-l10n-name="ios-link">` - Link to iOS Download
+#
+# They can be moved within the sentence as needed to adapt
+# to your language, but should not be changed or translated.
+sync-mobile-promo = Изтеглете Firefox за <img data-l10n-name="android-icon"/> <a data-l10n-name="android-link">Android</a> или <img data-l10n-name="ios-icon"/> <a data-l10n-name="ios-link">iOS</a>, за да синхронизирате с мобилното си устройство.
+
+## Firefox account - Signed in
+
+sync-profile-picture =
+ .tooltiptext = Промяна снимката на профила
+sync-sign-out =
+ .label = Излизане…
+ .accesskey = з
+sync-manage-account = Управление на профила
+ .accesskey = У
+
+## Variables
+## $email (string) - Email used for Firefox account
+
+sync-signedin-unverified = { $email } не е проверен.
+sync-signedin-login-failure = Моля, впишете се, за да се свържете наново { $email }
+
+##
+
+sync-resend-verification =
+ .label = Повторно изпращане на потвърждение
+ .accesskey = в
+sync-remove-account =
+ .label = Премахване на профил
+ .accesskey = п
+sync-sign-in =
+ .label = Вписване
+ .accesskey = В
+
+## Sync section - enabling or disabling sync.
+
+prefs-syncing-on = Синхронизиране: ВКЛЮЧЕНО
+prefs-syncing-off = Синхронизиране: ИЗКЛЮЧЕНО
+prefs-sync-turn-on-syncing =
+ .label = Включване синхронизиране
+ .accesskey = с
+prefs-sync-offer-setup-label2 = Синхронизирайте вашите отметки, история, раздели, добавки и настройки с всички ваши устройства.
+prefs-sync-now =
+ .labelnotsyncing = Синхронизиране
+ .accesskeynotsyncing = с
+ .labelsyncing = Синхронизиране…
+prefs-sync-now-button =
+ .label = Синхронизиране
+ .accesskey = с
+prefs-syncing-button =
+ .label = Синхронизиране…
+
+## The list of things currently syncing.
+
+sync-currently-syncing-bookmarks = Отметки
+sync-currently-syncing-history = История
+sync-currently-syncing-tabs = Отворени раздели
+sync-currently-syncing-logins-passwords = Регистрации и пароли
+sync-currently-syncing-addresses = Адреси
+sync-currently-syncing-creditcards = Банкови карти
+sync-currently-syncing-addons = Добавки
+sync-currently-syncing-settings = Настройки
+sync-change-options =
+ .label = Променяне…
+ .accesskey = П
+
+## The "Choose what to sync" dialog.
+
+sync-choose-what-to-sync-dialog3 =
+ .title = Изберете какво да бъде синхронизирано
+ .style = min-width: 36em;
+ .buttonlabelaccept = Запазване
+ .buttonaccesskeyaccept = з
+ .buttonlabelextra2 = Изключване…
+ .buttonaccesskeyextra2 = и
+sync-engine-bookmarks =
+ .label = Отметки
+ .accesskey = О
+sync-engine-history =
+ .label = История
+ .accesskey = И
+sync-engine-tabs =
+ .label = Отворени раздели
+ .tooltiptext = Списък с разделите от всички устройства
+ .accesskey = р
+sync-engine-logins-passwords =
+ .label = Регистрации и пароли
+ .tooltiptext = Запазени потребителски имена и пароли
+ .accesskey = е
+sync-engine-addresses =
+ .label = Адреси
+ .tooltiptext = Запазени адреси (само от настолния)
+ .accesskey = а
+sync-engine-creditcards =
+ .label = Банкови карти
+ .tooltiptext = Имена, номера и дати на изтичане (само от настолния)
+ .accesskey = н
+sync-engine-addons =
+ .label = Добавки
+ .tooltiptext = Разширения и теми за настолния Firefox
+ .accesskey = в
+sync-engine-settings =
+ .label = Настройки
+ .tooltiptext = Променени настройки
+ .accesskey = с
+
+## The device name controls.
+
+sync-device-name-header = Име на текущото устройство
+sync-device-name-change =
+ .label = Преименуване…
+ .accesskey = м
+sync-device-name-cancel =
+ .label = Отказ
+ .accesskey = о
+sync-device-name-save =
+ .label = Запазване
+ .accesskey = З
+sync-connect-another-device = Добавяне на устройство
+
+## These strings are shown in a desktop notification after the
+## user requests we resend a verification email.
+
+sync-verification-sent-title = Изпратено потвърждение
+# Variables:
+# $email (String): Email address of user's Firefox account.
+sync-verification-sent-body = Препратка за потвърждение е изпратена до { $email }.
+sync-verification-not-sent-title = Грешка при изпращане на съобщението за потвърждаване
+sync-verification-not-sent-body = Потвърждаващото съобщение не е изпратено, моля опитайте по-късно.
+
+## Privacy Section
+
+privacy-header = Поверителност на четеца
+
+## Privacy Section - Logins and Passwords
+
+# The search keyword isn't shown to users but is used to find relevant settings in about:preferences.
+pane-privacy-logins-and-passwords-header = Регистрации и пароли
+ .searchkeywords = { -lockwise-brand-short-name }
+# Checkbox to control whether UI is shown to users to save or fill logins/passwords.
+forms-ask-to-save-logins =
+ .label = Питане при запазване имена и пароли за вход в страниците
+ .accesskey = т
+
+## Privacy Section - Passwords
+
+forms-exceptions =
+ .label = Изключения…
+ .accesskey = к
+forms-generate-passwords =
+ .label = Предлагане и създаване на силни пароли
+ .accesskey = р
+forms-breach-alerts =
+ .label = Показване на известия за изтекли пароли от взломени страници
+ .accesskey = и
+forms-breach-alerts-learn-more-link = Научете повече
+# Checkbox which controls filling saved logins into fields automatically when they appear, in some cases without user interaction.
+forms-fill-logins-and-passwords =
+ .label = Автоматично попълване на регистрации и пароли
+ .accesskey = р
+forms-saved-logins =
+ .label = Запазени регистрации…
+ .accesskey = р
+forms-primary-pw-use =
+ .label = Използване на главна парола
+ .accesskey = п
+forms-primary-pw-learn-more-link = Научете повече
+# This string uses the former name of the Primary Password feature
+# ("Master Password" in English) so that the preferences can be found
+# when searching for the old name. The accesskey is unused.
+forms-master-pw-change =
+ .label = Промяна на главна парола…
+ .accesskey = г
+forms-primary-pw-change =
+ .label = Промяна на главна парола…
+ .accesskey = П
+# Leave this message empty if the translation for "Primary Password" matches
+# "Master Password" in your language. If you're editing the FTL file directly,
+# use { "" } as the value.
+forms-primary-pw-former-name = ""
+forms-primary-pw-fips-title = В момента сте в режим на FIPS. FIPS изисква главна парола.
+forms-master-pw-fips-desc = Грешка при промяна на паролата
+forms-windows-sso =
+ .label = Позволява еднократно вписване от Windows за профили в Microsoft, за работа и за училище
+forms-windows-sso-learn-more-link = Научете повече
+forms-windows-sso-desc = Управление на профили в настройките на устройството
+
+## OS Authentication dialog
+
+# This message can be seen by trying to add a Primary Password.
+# The macOS strings are preceded by the operating system with "Firefox is trying to "
+# and includes subtitle of "Enter password for the user "xxx" to allow this." These
+# notes are only valid for English. Please test in your locale.
+primary-password-os-auth-dialog-message-macosx = създаде основна парола
+master-password-os-auth-dialog-caption = { -brand-full-name }
+
+## Privacy section - Autofill
+
+
+## Privacy Section - History
+
+history-header = История
+# This label is followed, on the same line, by a dropdown list of options
+# (Remember history, etc.).
+# In English it visually creates a full sentence, e.g.
+# "Firefox will" + "Remember history".
+#
+# If this doesn't work for your language, you can translate this message:
+# - Simply as "Firefox", moving the verb into each option.
+# This will result in "Firefox" + "Will remember history", etc.
+# - As a stand-alone message, for example "Firefox history settings:".
+history-remember-label = Нека { -brand-short-name } да
+ .accesskey = д
+history-remember-option-all =
+ .label = Помни история
+history-remember-option-never =
+ .label = Не помни история
+history-remember-option-custom =
+ .label = Използва потребителски настройки
+history-remember-description = { -brand-short-name } ще пази историята на разглеждане, изтегляния и търсене.
+history-dontremember-description = { -brand-short-name } ще използва същите настройки като при поверително разглеждане и няма да помни никаква история, докато сте в интернет.
+history-private-browsing-permanent =
+ .label = Винаги включено поверително разглеждане
+ .accesskey = п
+history-remember-browser-option =
+ .label = Запазване на история на разглеждане и изтегляния
+ .accesskey = и
+history-remember-search-option =
+ .label = Запазване на история на търсения и формуляри
+ .accesskey = ф
+history-clear-on-close-option =
+ .label = Изчистване на история при изход от { -brand-short-name }
+ .accesskey = И
+history-clear-on-close-settings =
+ .label = Настройки…
+ .accesskey = Н
+history-clear-button =
+ .label = Изчистване на историята…
+ .accesskey = и
+
+## Privacy Section - Site Data
+
+sitedata-header = Бисквитки и данни на страници
+sitedata-total-size-calculating = Изчисляване на размера на данните и склада…
+# Variables:
+# $value (number) - Value of the unit (for example: 4.6, 500)
+# $unit (string) - Name of the unit (for example: "bytes", "KB")
+sitedata-total-size = Складът, бисквитките и данните от страници в момента заемат { $value } { $unit } дисково пространство.
+sitedata-learn-more = Научете повече
+sitedata-delete-on-close =
+ .label = Изтриване на бисквитки и данни на страници при затваряне на { -brand-short-name }
+ .accesskey = д
+sitedata-delete-on-close-private-browsing = В постоянен режим на поверително разглеждане бисквитките и данните на страници винаги ще бъдат изчиствани при затваряне на { -brand-short-name }.
+sitedata-allow-cookies-option =
+ .label = Разрешаване на бисквитки и данни
+ .accesskey = р
+sitedata-disallow-cookies-option =
+ .label = Ограничаване на бисквитки и данни
+ .accesskey = о
+# This label means 'type of content that is blocked', and is followed by a drop-down list with content types below.
+# The list items are the strings named sitedata-block-*-option*.
+sitedata-block-desc = Вид на ограничения ресурс
+ .accesskey = в
+sitedata-option-block-cross-site-trackers =
+ .label = Проследяване в различни сайтове
+sitedata-option-block-unvisited =
+ .label = Бисквитки от непосетени страници
+sitedata-option-block-all =
+ .label = Всички бисквитки (ще наруши работата на страниците)
+sitedata-clear =
+ .label = Изчистване на данни…
+ .accesskey = т
+sitedata-settings =
+ .label = Управление на данни…
+ .accesskey = у
+sitedata-cookies-exceptions =
+ .label = Изключения…
+ .accesskey = з
+
+## Privacy Section - Cookie Banner Handling
+
+cookie-banner-handling-header = Намаляване на банерите за бисквитки
+
+## Privacy Section - Cookie Banner Blocking
+
+
+## Privacy Section - Address Bar
+
+addressbar-header = Адресна лента
+addressbar-suggest = При въвеждане в адресната лента, подсказване с
+addressbar-locbar-history-option =
+ .label = История на разглеждане
+ .accesskey = р
+addressbar-locbar-bookmarks-option =
+ .label = Отметки
+ .accesskey = О
+addressbar-locbar-openpage-option =
+ .label = Отворени раздели
+ .accesskey = р
+# Shortcuts refers to the shortcut tiles on the new tab page, previously known as top sites. Translation should be consistent.
+addressbar-locbar-shortcuts-option =
+ .label = Бързи клавиши
+ .accesskey = л
+addressbar-locbar-topsites-option =
+ .label = Предпочитани страници
+ .accesskey = с
+addressbar-locbar-engines-option =
+ .label = Търсещи машини
+ .accesskey = р
+addressbar-suggestions-settings = Настройки на предложенията от търсещите машини
+
+## Privacy Section - Content Blocking
+
+content-blocking-enhanced-tracking-protection = Подобрена защита от проследяване
+content-blocking-section-top-level-description = Проследяванията ви следват онлайн, за да събират информация за навиците и интересите ви при разглеждане. { -brand-short-name } спира много от тях, както и други злонамерени скриптове.
+content-blocking-learn-more = Научете повече
+content-blocking-fpi-incompatibility-warning = Използвате изолация от първа страна (FPI), която отменя някои от настройките на бисквитките на { -brand-short-name }.
+
+## These strings are used to define the different levels of
+## Enhanced Tracking Protection.
+
+# "Standard" in this case is an adjective, meaning "default" or "normal".
+enhanced-tracking-protection-setting-standard =
+ .label = Стандартна
+ .accesskey = с
+enhanced-tracking-protection-setting-strict =
+ .label = Строга
+ .accesskey = т
+enhanced-tracking-protection-setting-custom =
+ .label = По избор
+ .accesskey = и
+
+##
+
+content-blocking-etp-standard-desc = Баланс между защита и бързодействие. Страниците ще се зареждат нормално.
+content-blocking-etp-strict-desc = По-високо ниво на защита, но някои страници може да не работят.
+content-blocking-etp-custom-desc = Изберете какво проследяване и кои скриптове да спрете.
+content-blocking-etp-blocking-desc = { -brand-short-name } спира следните:
+content-blocking-private-windows = Проследяващо съдържание в поверителните прозорци
+content-blocking-cross-site-tracking-cookies = Бисквитки за следене в различни сайтове
+content-blocking-all-cross-site-cookies-private-windows = Междусайтови бисквитки в поверителни прозорци
+content-blocking-social-media-trackers = Проследяване от социални мрежи
+content-blocking-all-cookies = Всички бисквитки
+content-blocking-unvisited-cookies = Бисквитки от непосетени страници
+content-blocking-all-windows-tracking-content = Проследяващо съдържание във всички прозорци
+content-blocking-cryptominers = Добиване на криптовалути
+content-blocking-fingerprinters = Снемане на цифров отпечатък
+
+# The tcp-rollout strings are no longer used for the rollout but for tcp-by-default in the standard section
+
+# "Contains" here means "isolates", "limits".
+content-blocking-etp-standard-tcp-rollout-description = Цялостната защита на бисквитките изолира бисквитките само до страницата на която сте, така че механизмите за проследяване да не могат да ви проследят в различни сайтове.
+content-blocking-etp-standard-tcp-rollout-learn-more = Научете повече
+content-blocking-etp-standard-tcp-title = Включва цялостна защита на бисквитките, най-мощната ни поверителна функция
+content-blocking-warning-title = Внимание!
+content-blocking-warning-learn-how = Научете как
+content-blocking-reload-description = За да бъдат приложени промените, разделите трябва да бъдат презаредени.
+content-blocking-reload-tabs-button =
+ .label = Презареждане на всички раздели
+ .accesskey = р
+content-blocking-tracking-content-label =
+ .label = Проследяващо съдържание
+ .accesskey = п
+content-blocking-tracking-protection-option-all-windows =
+ .label = Във всички прозорци
+ .accesskey = в
+content-blocking-option-private =
+ .label = Само в поверителните прозорци
+ .accesskey = о
+content-blocking-tracking-protection-change-block-list = Промяна списъка за блокиране
+content-blocking-cookies-label =
+ .label = Бисквитки
+ .accesskey = б
+content-blocking-expand-section =
+ .tooltiptext = Повече информация
+# Cryptomining refers to using scripts on websites that can use a computer’s resources to mine cryptocurrency without a user’s knowledge.
+content-blocking-cryptominers-label =
+ .label = Добиване на криптовалути
+ .accesskey = к
+# Browser fingerprinting is a method of tracking users by the configuration and settings information (their "digital fingerprint")
+# that is visible to websites they browse, rather than traditional tracking methods such as IP addresses and unique cookies.
+content-blocking-fingerprinters-label =
+ .label = Снемане на цифров отпечатък
+ .accesskey = ц
+
+## Privacy Section - Tracking
+
+tracking-manage-exceptions =
+ .label = Изключения…
+ .accesskey = и
+
+## Privacy Section - Permissions
+
+permissions-header = Права
+permissions-location = Местоположение
+permissions-location-settings =
+ .label = Настройки…
+ .accesskey = с
+permissions-xr = Виртуална реалност
+permissions-xr-settings =
+ .label = Настройки…
+ .accesskey = с
+permissions-camera = Камера
+permissions-camera-settings =
+ .label = Настройки…
+ .accesskey = с
+permissions-microphone = Микрофон
+permissions-microphone-settings =
+ .label = Настройки…
+ .accesskey = с
+permissions-notification = Известия
+permissions-notification-settings =
+ .label = Настройки…
+ .accesskey = с
+permissions-notification-link = Научете повече
+permissions-notification-pause =
+ .label = Спиране на известията до рестарт на { -brand-short-name }
+ .accesskey = з
+permissions-autoplay = Автоматично възпроизвеждане
+permissions-autoplay-settings =
+ .label = Настройки…
+ .accesskey = н
+permissions-block-popups =
+ .label = Спиране на изскачащите прозорци
+ .accesskey = С
+# "popup" is a misspelling that is more popular than the correct spelling of
+# "pop-up" so it's included as a search keyword, not displayed in the UI.
+permissions-block-popups-exceptions-button =
+ .label = Изключения…
+ .accesskey = з
+ .searchkeywords = popup
+permissions-addon-install-warning =
+ .label = Предупреждаване при опит на страница да инсталира добавки
+ .accesskey = д
+permissions-addon-exceptions =
+ .label = Изключения…
+ .accesskey = И
+
+## Privacy Section - Data Collection
+
+collection-header = Събиране и използване на данни от { -brand-short-name }
+collection-description = Стремим се да ви предоставяме възможност и да събираме само толкова, колкото ни е необходимо, за да предоставяме и подобряваме { -brand-short-name } за всички. Винаги искаме разрешение преди да получим лична информация.
+collection-privacy-notice = Политика на поверителност
+collection-health-report-telemetry-disabled = Вече не позволявате на { -vendor-short-name } да събира технически данни и данни за взаимодействията. Всички стари данни ще бъдат изтрити в рамките на 30 дни.
+collection-health-report-telemetry-disabled-link = Научете повече
+collection-health-report =
+ .label = Разрешаване на { -brand-short-name } да изпраща техническа информация и данни за използването към { -vendor-short-name }
+ .accesskey = т
+collection-health-report-link = Научете повече
+collection-studies =
+ .label = Разрешаване на { -brand-short-name } да инсталира и извършва изследвания
+collection-studies-link = Преглед на изследванията на { -brand-short-name }
+addon-recommendations =
+ .label = Разрешаване на { -brand-short-name } да прави персонализирани препоръки за разширения
+addon-recommendations-link = Научете повече
+# This message is displayed above disabled data sharing options in developer builds
+# or builds with no Telemetry support available.
+collection-health-report-disabled = Докладването да данни е изключено за тази конфигурация на изданието
+
+## Privacy Section - Security
+##
+## It is important that wording follows the guidelines outlined on this page:
+## https://developers.google.com/safe-browsing/developers_guide_v2#AcceptableUsage
+
+security-header = Защита
+security-browsing-protection = Измамно съдържание и защита от опасен софтуер
+security-enable-safe-browsing =
+ .label = Блокиране на опасно и измамно съдържание
+ .accesskey = Б
+security-enable-safe-browsing-link = Научете повече
+security-block-downloads =
+ .label = Блокиране на опасни изтегляния
+ .accesskey = т
+security-block-uncommon-software =
+ .label = Предупреждаване при нежелан или рядко срещан софтуер
+ .accesskey = н
+
+## Privacy Section - Certificates
+
+certs-header = Сертификати
+certs-enable-ocsp =
+ .label = Заявка към сървър OCSP responder за потвърждаване валидността на сертификатите
+ .accesskey = З
+certs-view =
+ .label = Преглед на сертификатите…
+ .accesskey = с
+certs-devices =
+ .label = Устройства по безопасността…
+ .accesskey = у
+space-alert-over-5gb-settings-button =
+ .label = Към Настройки
+ .accesskey = с
+
+## Privacy Section - HTTPS-Only
+
+httpsonly-header = Режим „само HTTPS“
+httpsonly-learn-more = Научете повече
+httpsonly-radio-enabled =
+ .label = Включване на режим „само HTTPS“ за всички прозорци
+httpsonly-radio-enabled-pbm =
+ .label = Активиране на режим „само HTTPS“ само за поверителни прозорци
+httpsonly-radio-disabled =
+ .label = Да не се включва режим „само HTTPS“
+
+## DoH Section
+
+
+## The following strings are used in the Download section of settings
+
+desktop-folder-name = Плот
+downloads-folder-name = Изтегляния
+choose-download-folder-title = Избиране на папка за изтегляне:
diff --git a/l10n-bg/browser/browser/preferences/selectBookmark.ftl b/l10n-bg/browser/browser/preferences/selectBookmark.ftl
new file mode 100644
index 0000000000..0e437310c7
--- /dev/null
+++ b/l10n-bg/browser/browser/preferences/selectBookmark.ftl
@@ -0,0 +1,9 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+select-bookmark-window2 =
+ .title = Избиране на начална страница
+ .style = min-width: 32em;
+
+select-bookmark-desc = Изберете отметката, която да бъде вашата начална страница. Ако това е папка, отметките в нея ще се отворят в раздели.
diff --git a/l10n-bg/browser/browser/preferences/siteDataSettings.ftl b/l10n-bg/browser/browser/preferences/siteDataSettings.ftl
new file mode 100644
index 0000000000..706aa36f67
--- /dev/null
+++ b/l10n-bg/browser/browser/preferences/siteDataSettings.ftl
@@ -0,0 +1,63 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Settings
+
+site-data-settings-window =
+ .title = Управление на бисквитки и данни на страници
+
+site-data-settings-description = Страници, съхраняващи бисквитки и данни на вашия компютър. { -brand-short-name } запазва информация от тези страници в хранилището за постоянни данни, докато не я изтриете и я изтрива от хранилището за временни данни, когато е необходимо пространство.
+
+site-data-search-textbox =
+ .placeholder = Търсене на сайтове
+ .accesskey = т
+
+site-data-column-host =
+ .label = Страница
+site-data-column-cookies =
+ .label = Бисквитки
+site-data-column-storage =
+ .label = Хранилище
+site-data-column-last-used =
+ .label = Последно използване
+
+# This label is used in the "Host" column for local files, which have no host.
+site-data-local-file-host = (местен файл)
+
+site-data-remove-selected =
+ .label = Премахване на избраните
+ .accesskey = и
+
+site-data-settings-dialog =
+ .buttonlabelaccept = Запазване
+ .buttonaccesskeyaccept = з
+
+# Variables:
+# $value (Number) - Value of the unit (for example: 4.6, 500)
+# $unit (String) - Name of the unit (for example: "bytes", "KB")
+site-storage-usage =
+ .value = { $value } { $unit }
+site-storage-persistent =
+ .value = { site-storage-usage.value } (постоянни данни)
+
+site-data-remove-all =
+ .label = Премахване на всички
+ .accesskey = в
+
+site-data-remove-shown =
+ .label = Премахване на изброените
+ .accesskey = б
+
+## Removing
+
+site-data-removing-dialog =
+ .title = { site-data-removing-header }
+ .buttonlabelaccept = Премахване
+
+site-data-removing-header = Премахване на бисквитки и данни на страници
+
+site-data-removing-desc = Премахването на бисквитките или данни на страници може да наложи да се впишете отново в някои сайтове. Наистина ли желаете да направите тези промени?
+
+site-data-removing-table = Бисквитките и данните от следните страници ще бъдат премахнати
diff --git a/l10n-bg/browser/browser/preferences/translation.ftl b/l10n-bg/browser/browser/preferences/translation.ftl
new file mode 100644
index 0000000000..32bd7eb14b
--- /dev/null
+++ b/l10n-bg/browser/browser/preferences/translation.ftl
@@ -0,0 +1,40 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+translation-window2 =
+ .title = Изключения - Превеждане
+ .style = min-width: 36em
+
+translation-close-key =
+ .key = w
+
+translation-languages-disabled-desc = Превод няма да бъде предлаган за следните езици
+
+translation-languages-column =
+ .label = Езици
+
+translation-languages-button-remove =
+ .label = Премахване на език
+ .accesskey = П
+
+translation-languages-button-remove-all =
+ .label = Премахване на всички езици
+ .accesskey = ч
+
+translation-sites-disabled-desc = Превод няма да бъде предлаган за следните страници
+
+translation-sites-column =
+ .label = Страници
+
+translation-sites-button-remove =
+ .label = Премахване на сайт
+ .accesskey = с
+
+translation-sites-button-remove-all =
+ .label = Премахване на всички страници
+ .accesskey = р
+
+translation-dialog =
+ .buttonlabelaccept = Затваряне
+ .buttonaccesskeyaccept = З
diff --git a/l10n-bg/browser/browser/profile/default-bookmarks.ftl b/l10n-bg/browser/browser/profile/default-bookmarks.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/l10n-bg/browser/browser/profile/default-bookmarks.ftl
@@ -0,0 +1,3 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/l10n-bg/browser/browser/protections.ftl b/l10n-bg/browser/browser/protections.ftl
new file mode 100644
index 0000000000..d821d8f5f5
--- /dev/null
+++ b/l10n-bg/browser/browser/protections.ftl
@@ -0,0 +1,154 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Variables:
+# $count (Number) - Number of tracking events blocked.
+graph-week-summary =
+ { $count ->
+ [one] { -brand-short-name } е спрял { $count } проследяване през последната седмица
+ *[other] { -brand-short-name } е спрял { $count } проследявания през последната седмица
+ }
+
+# Variables:
+# $count (Number) - Number of tracking events blocked.
+# $earliestDate (Number) - Unix timestamp in ms, representing a date. The
+# earliest date recorded in the database.
+graph-total-tracker-summary =
+ { $count ->
+ [one] От { DATETIME($earliestDate, day: "numeric", month: "long", year: "numeric") } е спряно <b>{ $count }</b> проследяване
+ *[other] От { DATETIME($earliestDate, day: "numeric", month: "long", year: "numeric") } са спрени <b>{ $count }</b> проследявания
+ }
+
+# Text displayed instead of the graph when in Private Mode
+graph-private-window = { -brand-short-name } продължава да спира проследяванията и в поверителни прозорци, но не ги отчита в статистиката.
+# Weekly summary of the graph when the graph is empty in Private Mode
+graph-week-summary-private-window = Проследявания, спрени от { -brand-short-name } тази седмица
+
+protection-report-webpage-title = Табло със защити
+protection-report-page-content-title = Табло със защити
+# This message shows when all privacy protections are turned off, which is why we use the word "can", Firefox is able to protect your privacy, but it is currently not.
+protection-report-page-summary = { -brand-short-name } може защитава вашата неприкосновеност без да разбирате докато вие разглеждате. Това е обобщение на тази защита, включително и инструментите за поемане на контрола върху сигурността си в мрежата.
+# This message shows when at least some protections are turned on, we are more assertive compared to the message above, Firefox is actively protecting you.
+protection-report-page-summary-default = { -brand-short-name } защитава вашата неприкосновеност без да разбирате докато вие разглеждате. Това е обобщение на тази защита, включително и инструментите за поемане на контрола върху сигурността си в мрежата.
+
+protection-report-settings-link = Настройки за поверителност и сигурност
+
+etp-card-title-always = Подобрена защита от проследяване – винаги включена
+etp-card-title-custom-not-blocking = Подобрена защита от проследяване – изключена
+etp-card-content-description = { -brand-short-name } автоматично предотвратява тайното проследяване от различни компании докато разглеждате в мрежата.
+protection-report-etp-card-content-custom-not-blocking = В момента всички защити са изключени. Изберете кои проследявания да бъдат спирани от настройките на защита на { -brand-short-name }.
+protection-report-manage-protections = Настройки
+
+# This string is used to label the X axis of a graph. Other days of the week are generated via Intl.DateTimeFormat,
+# capitalization for this string should match the output for your locale.
+graph-today = Днес
+
+# This string is used to describe the graph for screenreader users.
+graph-legend-description = Графика, съдържаща общия брой, спрени проследявания за седмицата, разпределени по вид.
+
+social-tab-title = Проследяване от социални мрежи
+social-tab-contant = Социалните мрежи поставят проследяващи елементи на други страници, за да следят какво правите, виждате и гледате онлайн. Това позволява на компаниите за социални медии да научат повече за вас отвъд това, което споделяте в своите профили. <a data-l10n-name="learn-more-link">Научете повече</a>
+
+cookie-tab-title = Бисквитки за следене в различни сайтове
+cookie-tab-content = Такива бисквитки ви следват от сайт на сайт и събират данни за дейностите ви в мрежата. Те се разполагат от трети страни като рекламодатели и компании за събиране и анализ на статистически данни. Спирането на бисквитките за проследяване в различни сайтове ще намали броя на рекламите, които ви преследват. <a data-l10n-name="learn-more-link">Научете повече</a>
+
+tracker-tab-title = Проследяващо съдържание
+tracker-tab-description = Страниците могат да зареждат външни реклами, видеоклипове и друго съдържание с проследяващ код. Ограничаването на проследяващо съдържание може да помогне на сайтовете да се зареждат по-бързо, но някои бутони, формуляри и полета за вход може да не работят. <a data-l10n-name="learn-more-link">Научете повече</a>
+
+fingerprinter-tab-title = Снемане на цифров отпечатък
+fingerprinter-tab-content = Компаниите, които снемат цифров отпечатък събират настройки от вашия мрежов четец и компютър, за да създадат потребителски профил. Използвайки този цифров отпечатък, те могат да ви проследят в различни уебсайтове. <a data-l10n-name="learn-more-link">Научете повече</a>
+
+cryptominer-tab-title = Добиване на криптовалути
+cryptominer-tab-content = Добиването на криптовалути използва изчислителната мощ на вашата система, за да извличане на цифрови пари. Скриптовете за добиване на криптовалута изтощават батерията, забавят компютъра и могат да увеличат сметката ви за електроенергия. <a data-l10n-name="learn-more-link">Научете повече</a>
+
+protections-close-button2 =
+ .aria-label = Затваряне
+ .title = Затваряне
+
+mobile-app-title = Спиране на проследяващи реклами на повече устройства
+mobile-app-card-content = Използвайте мобилния четец с вградена защита срещу проследяващи реклами.
+mobile-app-links = { -brand-product-name } четец за <a data-l10n-name="android-mobile-inline-link">Android</a> и <a data-l10n-name="ios-mobile-inline-link">iOS</a>
+
+lockwise-title = Никога не забравяйте парола отново
+lockwise-header-content-logged-in = Сигурно съхранявайте и синхронизирайте паролите си между всичките си устройства.
+
+
+# Variables:
+# $count (Number) - Number of passwords exposed in data breaches.
+lockwise-scanned-text-breached-logins =
+ { $count ->
+ [one] Вероятно 1 парола да е изтекла при кражба на данни.
+ *[other] Вероятно { $count } пароли да са изтекли при кражба на данни.
+ }
+
+# While English doesn't use the number in the plural form, you can add $count to your language
+# if needed for grammatical reasons.
+# Variables:
+# $count (Number) - Number of passwords stored in Lockwise.
+lockwise-scanned-text-no-breached-logins =
+ { $count ->
+ [one] Вашата парола се съхранява защитено.
+ *[other] Вашите пароли се съхраняват защитено.
+ }
+lockwise-how-it-works-link = Как работи
+
+monitor-title = Получавайте известия при кражба на данни
+monitor-link = Как работи
+monitor-header-content-no-account = Проверете { -monitor-brand-name }, за да видите дали сте били жертва на кражба на данни и получете известие за нови нарушения.
+monitor-header-content-signed-in = { -monitor-brand-name } ви предупреждава ако ваша информация се появи в известните списъци с крадени данни.
+monitor-sign-up-link = Регистриране за известие при пробив
+ .title = Регистрирайте се за получаване на известие от { -monitor-brand-name } при нов пробив
+auto-scan = Днес е извършена автоматична проверка
+
+# This string is displayed after a large numeral that indicates the total number
+# of email addresses being monitored. Don’t add $count to
+# your localization, because it would result in the number showing twice.
+info-monitored-emails =
+ { $count ->
+ [one] Наблюдаван адрес на електронна поща
+ *[other] Наблюдавани адреси на електронна поща
+ }
+
+## The title attribute is used to display the type of protection.
+## The aria-label is spoken by screen readers to make the visual graph accessible to blind users.
+##
+## Variables:
+## $count (Number) - Number of specific trackers
+## $percentage (Number) - Percentage this type of tracker contributes to the whole graph
+
+bar-tooltip-social =
+ .title = Проследяващи елементи на социални мрежи
+ .aria-label =
+ { $count ->
+ [one] { $count } проследяващ елемент от социални мрежи ({ $percentage }%)
+ *[other] { $count } проследяващи елемента от социални мрежи ({ $percentage }%)
+ }
+bar-tooltip-cookie =
+ .title = Бисквитки за следене в различни сайтове
+ .aria-label =
+ { $count ->
+ [one] { $count } бисквитка за следене в различни сайтове ({ $percentage }%)
+ *[other] { $count } бисквитки за следене в различни сайтове ({ $percentage }%)
+ }
+bar-tooltip-tracker =
+ .title = Проследяващо съдържание
+ .aria-label =
+ { $count ->
+ [one] { $count } проследяващо съдържание ({ $percentage }%)
+ *[other] { $count } проследяващо съдържание ({ $percentage }%)
+ }
+bar-tooltip-fingerprinter =
+ .title = Снемане на цифров отпечатък
+ .aria-label =
+ { $count ->
+ [one] { $count } снемане ({ $percentage }%)
+ *[other] { $count } снемания ({ $percentage }%)
+ }
+bar-tooltip-cryptominer =
+ .title = Добиване на криптовалути
+ .aria-label =
+ { $count ->
+ [one] { $count } добиване на криптовалути ({ $percentage }%)
+ *[other] { $count } добиване на криптовалути ({ $percentage }%)
+ }
diff --git a/l10n-bg/browser/browser/protectionsPanel.ftl b/l10n-bg/browser/browser/protectionsPanel.ftl
new file mode 100644
index 0000000000..402167ba28
--- /dev/null
+++ b/l10n-bg/browser/browser/protectionsPanel.ftl
@@ -0,0 +1,110 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+protections-panel-sendreportview-error = При изпращането на отчета възникна грешка. Моля, опитайте отново по-късно.
+# A link shown when ETP is disabled for a site. Opens the breakage report subview when clicked.
+protections-panel-sitefixedsendreport-label = Страницата е поправена? Изпратете доклад.
+
+## These strings are used to define the different levels of
+## Enhanced Tracking Protection.
+
+
+##
+
+# The text a screen reader speaks when focused on the info button.
+protections-panel-etp-more-info =
+ .aria-label = Повече за подобрената защита от проследяване
+protections-panel-etp-on-header = Подобрена защита от проследяване е ВКЛЮЧЕНА за сайта
+protections-panel-etp-off-header = Подобрена защита от проследяване е ИЗКЛЮЧЕНА за сайта
+
+## Text for the toggles shown when ETP is enabled/disabled for a given site.
+## .description is transferred into a separate paragraph by the moz-toggle
+## custom element code.
+## $host (String): the hostname of the site that is being displayed.
+
+# The link to be clicked to open the sub-panel view
+protections-panel-site-not-working = Страницата не работи?
+# The heading/title of the sub-panel view
+protections-panel-site-not-working-view =
+ .title = Страницата не работи?
+
+## The "Allowed" header also includes a "Why?" link that, when hovered, shows
+## a tooltip explaining why these items were not blocked in the page.
+
+protections-panel-not-blocking-why-label = Защо?
+protections-panel-not-blocking-why-etp-on-tooltip = Ограничаването им може да наруши елементи на някои страници. Без проследяване някои бутони, формуляри и полета за вход може да не работят.
+protections-panel-not-blocking-why-etp-on-tooltip-label =
+ .label = Ограничаването им може да наруши елементи на някои страници. Без проследяване някои бутони, формуляри и полета за вход може да не работят.
+
+##
+
+protections-panel-no-trackers-found = На страницата не са открити известни на { -brand-short-name } проследяващи елементи.
+protections-panel-content-blocking-tracking-protection = Проследяващо съдържание
+protections-panel-content-blocking-socialblock = Проследяване от социални мрежи
+protections-panel-content-blocking-cryptominers-label = Добиване на криптовалути
+protections-panel-content-blocking-fingerprinters-label = Снемане на цифров отпечатък
+
+## In the protections panel, Content Blocking category items are in three sections:
+## "Blocked" for categories being blocked in the current page,
+## "Allowed" for categories detected but not blocked in the current page, and
+## "None Detected" for categories not detected in the current page.
+## These strings are used in the header labels of each of these sections.
+
+protections-panel-blocking-label = Спрени
+protections-panel-not-blocking-label = Разрешени
+protections-panel-not-found-label = Липсващи
+
+##
+
+protections-panel-settings-label = Настройки на защитите
+protections-panel-protectionsdashboard-label = Табло със защити
+
+## In the Site Not Working? view, we suggest turning off protections if
+## the user is experiencing issues with any of a variety of functionality.
+
+# The header of the list
+protections-panel-site-not-working-view-header = Изключете защитите ако имате проблеми с:
+# The list items, shown in a <ul>
+protections-panel-site-not-working-view-issue-list-login-fields = Полета за вписване
+protections-panel-site-not-working-view-issue-list-forms = Формуляри
+protections-panel-site-not-working-view-issue-list-payments = Плащания
+protections-panel-site-not-working-view-issue-list-comments = Коментари
+protections-panel-site-not-working-view-issue-list-videos = Видео
+protections-panel-site-not-working-view-send-report = Докладване
+
+##
+
+protections-panel-cross-site-tracking-cookies = Тези бисквитки ви следват от сайт на сайт и събират данни за това, което правите онлайн. Те се разполагат от трети страни като рекламодатели и компании за събиране и анализ на статистически данни.
+protections-panel-cryptominers = Добиването на криптовалути използва изчислителната мощ на вашата система, за да извличане на цифрови пари. Скриптовете за добиване на криптовалута изтощават батерията, забавят компютъра и могат да увеличат сметката ви за електроенергия.
+protections-panel-fingerprinters = Компаниите, които снемат цифров отпечатък събират настройки от вашия мрежов четец и компютър, за да създадат потребителски профил. Използвайки този цифров отпечатък, те могат да ви проследят в различни уебсайтове.
+protections-panel-tracking-content = Страниците могат да зареждат външни реклами, видеоклипове и друго съдържание с проследяващ код. Ограничаването на проследяващо съдържание може да помогне на сайтовете да се зареждат по-бързо, но някои бутони, формуляри и полета за вход може да не работят.
+protections-panel-social-media-trackers = Социалните мрежи поставят проследяващи елементи на други страници, за да следят какво правите, виждате и гледате онлайн. Това позволява на компаниите за социални медии да научат повече за вас отвъд това, което споделяте във вашите профили.
+protections-panel-description-shim-allowed-learn-more = Научете повече
+protections-panel-content-blocking-manage-settings =
+ .label = Настройки на защитите
+ .accesskey = н
+protections-panel-content-blocking-breakage-report-view =
+ .title = Докладване за неработеща страница
+protections-panel-content-blocking-breakage-report-view-description = Спирането на определени проследявания може да наруши работата на някои страници. Като докладвате такива страници помагате да направим { -brand-short-name } по-добър за всички. Към Mozilla ще бъде изпратен адреса на страницата, а също и данни за настройките на четеца. <label data-l10n-name="learn-more">Научете повече</label>
+protections-panel-content-blocking-breakage-report-view-description2 = Спирането на определени проследявания може да наруши работата на някои страници. Като докладвате такива страници помагате да направим { -brand-short-name } по-добър за всички. Към { -vendor-short-name } ще бъде изпратен адреса на страницата, а също и данни за настройките на четеца.
+protections-panel-content-blocking-breakage-report-view-collection-url = Адрес
+protections-panel-content-blocking-breakage-report-view-collection-url-label =
+ .aria-label = Адрес
+protections-panel-content-blocking-breakage-report-view-collection-comments = Незадължително: Опишете проблема
+protections-panel-content-blocking-breakage-report-view-collection-comments-label =
+ .aria-label = Незадължително: Опишете проблема
+protections-panel-content-blocking-breakage-report-view-cancel =
+ .label = Отказ
+protections-panel-content-blocking-breakage-report-view-send-report =
+ .label = Докладване
+
+# Cookie Banner Handling
+
+protections-panel-cookie-banner-handling-header = Намаляване на банерите за бисквитки
+protections-panel-cookie-banner-view-title =
+ .title = Намаляване на банерите за бисквитки
+# Variables
+# $host (String): the hostname of the site that is being displayed.
+protections-panel-cookie-banner-view-turn-off-for-site = Изключване на намаляването на банерите за бисквитки за { $host }?
+protections-panel-cookie-banner-view-turn-on-for-site = Включване на намаляването на банерите за бисквитки за страницата?
diff --git a/l10n-bg/browser/browser/recentlyClosed.ftl b/l10n-bg/browser/browser/recentlyClosed.ftl
new file mode 100644
index 0000000000..a38f645fcc
--- /dev/null
+++ b/l10n-bg/browser/browser/recentlyClosed.ftl
@@ -0,0 +1,30 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## These strings are used in the main menu,
+## and should follow the same capitalization (title case for English).
+## Check menubar.ftl for reference.
+
+recently-closed-menu-reopen-all-tabs = Възстановяване на всички раздели
+recently-closed-menu-reopen-all-windows = Възстановяване на всички прозорци
+
+## These strings are used in the app menu,
+## and should follow the same capitalization (sentence case for English).
+## Check appmenu.ftl for reference.
+
+recently-closed-panel-reopen-all-tabs = Възстановяване на всички раздели
+recently-closed-panel-reopen-all-windows = Възстановяване на всички прозорци
+
+##
+
+# Variables:
+# $tabCount (Number): Number of other tabs
+# $winTitle (String): Window title
+recently-closed-undo-close-window-label =
+ { $tabCount ->
+ [0] { $winTitle }
+ [one] { $winTitle } (и { $tabCount } друг раздел)
+ *[other] { $winTitle } (и { $tabCount } други раздела)
+ }
diff --git a/l10n-bg/browser/browser/reportBrokenSite.ftl b/l10n-bg/browser/browser/reportBrokenSite.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/l10n-bg/browser/browser/reportBrokenSite.ftl
@@ -0,0 +1,3 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/l10n-bg/browser/browser/safeMode.ftl b/l10n-bg/browser/browser/safeMode.ftl
new file mode 100644
index 0000000000..df8c4cac54
--- /dev/null
+++ b/l10n-bg/browser/browser/safeMode.ftl
@@ -0,0 +1,11 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+start-troubleshoot-mode =
+ .label = Отваряне
+refresh-profile =
+ .label = Освежаване на { -brand-short-name }
+skip-troubleshoot-refresh-profile = Можете да пропуснете отстраняването на неизправности и вместо това да опресните { -brand-short-name }.
+# Shown on the safe mode dialog after multiple startup crashes.
+auto-safe-mode-description = { -brand-short-name } се затвори неочаквано, докато стартираше. Причината може да е в добавка или друг проблем. Може да опитате да решите проблема в Надежден режим.
diff --git a/l10n-bg/browser/browser/safebrowsing/blockedSite.ftl b/l10n-bg/browser/browser/safebrowsing/blockedSite.ftl
new file mode 100644
index 0000000000..e1fa05e0cd
--- /dev/null
+++ b/l10n-bg/browser/browser/safebrowsing/blockedSite.ftl
@@ -0,0 +1,53 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+safeb-blocked-phishing-page-title = Измамническа страница
+safeb-blocked-malware-page-title = Страницата може да навреди на компютъра
+safeb-blocked-unwanted-page-title = Страницата може да съдържа зловредни приложения
+safeb-blocked-harmful-page-title = Страницата може да съдържа зловреден код
+safeb-blocked-phishing-page-short-desc = { -brand-short-name } спря страницата, защото може да ви подлъже да направите опасни неща като инсталиране приложения или да разкриване лична информация като пароли или банкови карти.
+safeb-blocked-malware-page-short-desc = { -brand-short-name } спря страницата, защото може да направи опит да инсталира зловредни приложения, които е възможно да откраднат или изтрият лична информация от вашия компютър.
+safeb-blocked-unwanted-page-short-desc = { -brand-short-name } спря страницата, защото може да ви подлъже да инсталирате приложения, които да навредят на начина по който разглеждате (напр., да променят началната страница или да показват допълнителни реклами на страниците, които посещавате).
+safeb-blocked-harmful-page-short-desc = { -brand-short-name } спря страницата, защото може да направи опит да инсталира опасни приложения, които е възможно да откраднат или изтрият ваша информация (например снимки, пароли, съобщения или банкови карти).
+safeb-palm-advisory-desc = Източник <a data-l10n-name='advisory_provider'>{ $advisoryname }</a>.
+safeb-palm-accept-label = Връщане назад
+safeb-palm-see-details-label = Подробности
+
+## Variables
+## $sitename (string) - Domain name for the blocked page
+
+safeb-blocked-phishing-page-error-desc-override = Страницата <span data-l10n-name='sitename'>{ $sitename }</span> е <a data-l10n-name='error_desc_link'>докладвана за измамно съдържание</a>. Може да <a data-l10n-name='report_detection'>съобщите за грешка в доклада</a> или да <a data-l10n-name='ignore_warning_link'>пренебрегнете предупреждението</a> и да посетите опасната страница.
+safeb-blocked-phishing-page-error-desc-no-override = Страницата <span data-l10n-name='sitename'>{ $sitename }</span> е <a data-l10n-name='error_desc_link'>докладвана за измамно съдържание</a>. Може да <a data-l10n-name='report_detection'>съобщите за грешка в доклада</a>.
+
+##
+
+safeb-blocked-phishing-page-learn-more = Научете повече относно измамните страници и видовете измами на <a data-l10n-name='learn_more_link'>www.antiphishing.org</a>. Научете повече относно защитата на { -brand-short-name } от измамни и злонамерени страници на <a data-l10n-name='firefox_support'>support.mozilla.org</a>.
+
+## Variables
+## $sitename (string) - Domain name for the blocked page
+
+##
+
+## Variables
+## $sitename (string) - Domain name for the blocked page
+
+safeb-blocked-unwanted-page-error-desc-override = Страницата <span data-l10n-name='sitename'>{ $sitename }</span> е <a data-l10n-name='error_desc_link'>докладвана за съдържание на зловредни приложения</a>. Може да <a data-l10n-name='ignore_warning_link'>пренебрегнете предупреждението</a> и да посетите опасната страница.
+safeb-blocked-unwanted-page-error-desc-no-override = Страницата <span data-l10n-name='sitename'>{ $sitename }</span> е <a data-l10n-name='error_desc_link'>докладвана за съдържание на зловредни приложения</a>.
+
+##
+
+safeb-blocked-unwanted-page-learn-more = Научете повече относно вредните е нежелани приложения на <a data-l10n-name='learn_more_link'>Политика за нежеланите приложения</a>. Научете повече относно защитата на { -brand-short-name } от измамни и злонамерени страници на <a data-l10n-name='firefox_support'>support.mozilla.org</a>.
+
+## Variables
+## $sitename (string) - Domain name for the blocked page
+
+safeb-blocked-harmful-page-error-desc-override = Страницата <span data-l10n-name='sitename'>{ $sitename }</span> е <a data-l10n-name='error_desc_link'>докладвана за съдържание на потенциално зловредни приложения</a>. Може да <a data-l10n-name='ignore_warning_link'>пренебрегнете предупреждението</a> и да посетите опасната страница.
+safeb-blocked-harmful-page-error-desc-no-override = Страницата <span data-l10n-name='sitename'>{ $sitename }</span> е <a data-l10n-name='error_desc_link'>докладвана за съдържание на потенциално зловредни приложения</a>.
+
+##
+
+safeb-blocked-harmful-page-learn-more = Научете повече относно защитата на { -brand-short-name } от измамни и злонамерени страници на <a data-l10n-name='firefox_support'>support.mozilla.org</a>.
+safeb-palm-notdeceptive =
+ .label = Това не е измамническа страница…
+ .accesskey = н
diff --git a/l10n-bg/browser/browser/sanitize.ftl b/l10n-bg/browser/browser/sanitize.ftl
new file mode 100644
index 0000000000..529da066d3
--- /dev/null
+++ b/l10n-bg/browser/browser/sanitize.ftl
@@ -0,0 +1,106 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+sanitize-prefs2 =
+ .title = Настройки за изчистване на историята
+ .style = min-width: 40em
+
+sanitize-prefs-style =
+ .style = width: 20em
+
+sanitize-dialog-title =
+ .title = Изчистване на скорошната история
+ .style = min-width: 34em
+
+# When "Time range to clear" is set to "Everything", this message is used for the
+# title instead of dialog-title.
+sanitize-dialog-title-everything =
+ .title = Изчистване на цялата история
+ .style = min-width: 34em
+
+clear-data-settings-label = При затваряне на { -brand-short-name } автоматично да бъдат изчиствани
+
+## clear-time-duration-prefix is followed by a dropdown list, with
+## values localized using clear-time-duration-value-* messages.
+## clear-time-duration-suffix is left empty in English, but can be
+## used in other languages to change the structure of the message.
+##
+## This results in English:
+## Time range to clear: (Last Hour, Today, etc.)
+
+clear-time-duration-prefix =
+ .value = Времеви обхват за изчистване
+ .accesskey = В
+
+clear-time-duration-value-last-hour =
+ .label = Последния час
+
+clear-time-duration-value-last-2-hours =
+ .label = Последните два часа
+
+clear-time-duration-value-last-4-hours =
+ .label = Последните четири часа
+
+clear-time-duration-value-today =
+ .label = Днес
+
+clear-time-duration-value-everything =
+ .label = Всичко
+
+clear-time-duration-suffix =
+ .value = { "" }
+
+## These strings are used as section comments and checkboxes
+## to select the items to remove
+
+history-section-label = История
+
+item-history-and-downloads =
+ .label = История на разглеждане и изтегляния
+ .accesskey = с
+
+item-cookies =
+ .label = Бисквитки
+ .accesskey = Б
+
+item-active-logins =
+ .label = Вписвания в сайтове
+ .accesskey = В
+
+item-cache =
+ .label = Склад
+ .accesskey = с
+
+item-form-search-history =
+ .label = История на формуляри и търсения
+ .accesskey = ф
+
+data-section-label = Данни
+
+item-offline-apps =
+ .label = Данни за сайтове без мрежа
+ .accesskey = м
+
+sanitize-everything-undo-warning = Действието е необратимо.
+
+window-close =
+ .key = w
+
+sanitize-button-ok =
+ .label = Изчистване
+
+# The label for the default button between the user clicking it and the window
+# closing. Indicates the items are being cleared.
+sanitize-button-clearing =
+ .label = Изчистване
+
+# Warning that appears when "Time range to clear" is set to "Everything" in Clear
+# Recent History dialog, provided that the user has not modified the default set
+# of history items to clear.
+sanitize-everything-warning = Цялата история ще бъде изчистена.
+
+# Warning that appears when "Time range to clear" is set to "Everything" in Clear
+# Recent History dialog, provided that the user has modified the default set of
+# history items to clear.
+sanitize-selected-warning = Всички избрани елементи ще бъдат изчистени.
diff --git a/l10n-bg/browser/browser/screenshots.ftl b/l10n-bg/browser/browser/screenshots.ftl
new file mode 100644
index 0000000000..6e941b9f6c
--- /dev/null
+++ b/l10n-bg/browser/browser/screenshots.ftl
@@ -0,0 +1,43 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+screenshots-instructions = За да изберете участък влачете или щракнете с мишката в страницата. Натиснете ESC за отказ.
+screenshots-cancel-button = Отказ
+screenshots-save-visible-button = Запазване на видимата област
+screenshots-save-page-button = Запазване на цялата страница
+screenshots-download-button = Изтегляне
+screenshots-download-button-tooltip = Изтегляне на екранна снимка
+screenshots-copy-button = Копиране
+screenshots-copy-button-tooltip = Копиране в системния буфер
+
+screenshots-meta-key =
+ { PLATFORM() ->
+ [macos] ⌘
+ *[other] Ctrl
+ }
+screenshots-notification-link-copied-title = Препратката е копирана
+screenshots-notification-link-copied-details = Препратка към снимката е копирана в системния буфер. За да я поставите натиснете { screenshots-meta-key }-V.
+
+screenshots-notification-image-copied-title = Снимката е копирана
+screenshots-notification-image-copied-details = Снимката е копирана в системния буфер. За да я поставите натиснете { screenshots-meta-key }-V.
+
+screenshots-request-error-title = Повреда.
+screenshots-request-error-details = Съжаляваме! Снимката не е запазена. Опитайте по-късно.
+
+screenshots-connection-error-title = Няма връзка с вашите снимки.
+screenshots-connection-error-details = Моля, проверете своята връзка към интернет. Ако имате връзка с Мрежата, в такъв случай може да има временен проблем с услугата на { -screenshots-brand-name }.
+
+screenshots-login-error-details = Снимката не може да бъде запазена, защото има проблем с услугата на { -screenshots-brand-name }. Опитайте по-късно.
+
+screenshots-unshootable-page-error-title = Снимка на тази страница не може да бъде направена.
+screenshots-unshootable-page-error-details = Това не е обикновена уебстраница и за това снимка не може да ѝ бъде направена.
+
+screenshots-empty-selection-error-title = Избраната област е твърде малка
+
+screenshots-private-window-error-title = { -screenshots-brand-name } е изключен в поверителен режим
+screenshots-private-window-error-details = Съжаляваме за неудобството. Очаквайте тази възможност в бъдещите версии.
+
+screenshots-generic-error-title = Леле! Нещо се обърка с { -screenshots-brand-name }.
+screenshots-generic-error-details = Не сме сигурни какво точно се случи. Може да опитате отново, както и да снимате друга страница.
+
diff --git a/l10n-bg/browser/browser/screenshotsOverlay.ftl b/l10n-bg/browser/browser/screenshotsOverlay.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/l10n-bg/browser/browser/screenshotsOverlay.ftl
@@ -0,0 +1,3 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/l10n-bg/browser/browser/search.ftl b/l10n-bg/browser/browser/search.ftl
new file mode 100644
index 0000000000..e23547d8f2
--- /dev/null
+++ b/l10n-bg/browser/browser/search.ftl
@@ -0,0 +1,36 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## These strings are used for errors when installing OpenSearch engines, e.g.
+## via "Add Search Engine" on the address bar or search bar.
+## Variables
+## $location-url (String) - the URL of the OpenSearch engine that was attempted to be installed.
+
+opensearch-error-duplicate-title = Грешка при инсталиране
+opensearch-error-duplicate-desc = { -brand-short-name } не може да инсталира приставка за търсене от „{ $location-url }“, защото приставка със същото име вече съществува.
+
+opensearch-error-format-title = Грешен формат
+opensearch-error-format-desc = { -brand-short-name } не може да инсталира търсеща машина от { $location-url }
+
+opensearch-error-download-title = Грешка при изтегляне
+opensearch-error-download-desc = { -brand-short-name } не може да изтегли приставка за търсене от: { $location-url }
+
+##
+
+searchbar-submit =
+ .tooltiptext = Изпращане заявка за търсене
+
+# This string is displayed in the search box when the input field is empty
+searchbar-input =
+ .placeholder = Търсене
+
+searchbar-icon =
+ .tooltiptext = Търсене
+
+## Infobar shown when search engine is removed and replaced.
+## Variables
+## $oldEngine (String) - the search engine to be removed.
+## $newEngine (String) - the search engine to replace the removed search engine.
+
diff --git a/l10n-bg/browser/browser/setDesktopBackground.ftl b/l10n-bg/browser/browser/setDesktopBackground.ftl
new file mode 100644
index 0000000000..ae2550cf88
--- /dev/null
+++ b/l10n-bg/browser/browser/setDesktopBackground.ftl
@@ -0,0 +1,40 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+set-desktop-background-window =
+ .title = Задаване като фон на работния плот
+
+set-desktop-background-accept =
+ .label = Задаване като фон на работния плот
+
+open-desktop-prefs =
+ .label = Настройките на работния плот
+
+set-background-preview-unavailable = Прегледът е недостъпен
+
+# This refers to the wallpaper "spanning" multiple monitors when the
+# user has more than one. Only some of the entire image will be on
+# each monitor. This should ideally match the wording in Windows' own
+# Desktop Background settings page.
+set-background-span =
+ .label = Разпростиране
+
+set-background-color = Цвят:
+
+set-background-position = Местоположение:
+
+set-background-tile =
+ .label = Мозаично
+
+set-background-center =
+ .label = Центрирано
+
+set-background-stretch =
+ .label = Разтеглено
+
+set-background-fill =
+ .label = Запълване
+
+set-background-fit =
+ .label = Побиране
diff --git a/l10n-bg/browser/browser/shopping.ftl b/l10n-bg/browser/browser/shopping.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/l10n-bg/browser/browser/shopping.ftl
@@ -0,0 +1,3 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/l10n-bg/browser/browser/sidebarMenu.ftl b/l10n-bg/browser/browser/sidebarMenu.ftl
new file mode 100644
index 0000000000..36fe3d425a
--- /dev/null
+++ b/l10n-bg/browser/browser/sidebarMenu.ftl
@@ -0,0 +1,18 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+sidebar-menu-bookmarks =
+ .label = Отметки
+
+sidebar-menu-history =
+ .label = История
+
+sidebar-menu-synced-tabs =
+ .label = Синхронизирани раздели
+
+sidebar-menu-close =
+ .label = Затваряне на лентата
+
+sidebar-close-button =
+ .tooltiptext = Затваряне на лентата
diff --git a/l10n-bg/browser/browser/sitePermissions.ftl b/l10n-bg/browser/browser/sitePermissions.ftl
new file mode 100644
index 0000000000..12fe0990c1
--- /dev/null
+++ b/l10n-bg/browser/browser/sitePermissions.ftl
@@ -0,0 +1,12 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# This string is used to display the option to open blocked popup(s) in site permission management panels.
+# Variables:
+# $count (String) - Number of blocked pop-ups
+site-permissions-open-blocked-popups =
+ { $count ->
+ [one] Отваряне на { $count } спрян изскачащ прозорец…
+ *[other] Отваряне на { $count } спрени изскачащи прозореца…
+ }
diff --git a/l10n-bg/browser/browser/siteProtections.ftl b/l10n-bg/browser/browser/siteProtections.ftl
new file mode 100644
index 0000000000..49f3f7bc1e
--- /dev/null
+++ b/l10n-bg/browser/browser/siteProtections.ftl
@@ -0,0 +1,90 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+content-blocking-trackers-view-empty = Не са открити на сайта
+content-blocking-cookies-blocking-trackers-label = Бисквитки за следене в различни сайтове
+content-blocking-cookies-blocking-third-party-label = Странични бисквитки
+content-blocking-cookies-blocking-unvisited-label = Бисквитки от непосетени страници
+content-blocking-cookies-blocking-all-label = Всички бисквитки
+content-blocking-cookies-view-first-party-label = От страницата
+content-blocking-cookies-view-trackers-label = Бисквитки за следене в различни сайтове
+content-blocking-cookies-view-third-party-label = Странични бисквитки
+# This label is shown next to a cookie origin in the cookies subview.
+# It forms the end of the (imaginary) sentence "www.example.com [was] Allowed"
+content-blocking-cookies-view-allowed-label =
+ .value = Разрешено
+# This label is shown next to a cookie origin in the cookies subview.
+# It forms the end of the (imaginary) sentence "www.example.com [was] Blocked"
+content-blocking-cookies-view-blocked-label =
+ .value = Забранено
+# Variables:
+# $domain (String): the domain of the site.
+content-blocking-cookies-view-remove-button =
+ .tooltiptext = Изчистване на изключенията за бисквитките от { $domain }
+tracking-protection-icon-active = Спиране на проследяване от социални мрежи, проследяване в различни сайтове и снемане на цифров отпечатък.
+tracking-protection-icon-active-container =
+ .aria-label = { tracking-protection-icon-active }
+tracking-protection-icon-disabled = Подобрена защита от проследяване е ИЗКЛЮЧЕНА за сайта.
+tracking-protection-icon-disabled-container =
+ .aria-label = { tracking-protection-icon-disabled }
+tracking-protection-icon-no-trackers-detected = На страницата не са открити известни на { -brand-short-name } проследяващи елементи.
+tracking-protection-icon-no-trackers-detected-container =
+ .aria-label = { tracking-protection-icon-no-trackers-detected }
+
+## Variables:
+## $host (String): the site's hostname
+
+# Header of the Protections Panel.
+protections-header = Защита на { $host }
+
+## Blocking and Not Blocking sub-views in the Protections Panel
+
+protections-blocking-fingerprinters =
+ .title = Спряно снемане на цифров отпечатък
+protections-blocking-cryptominers =
+ .title = Спряно добиване на криптовалути
+protections-blocking-cookies-trackers =
+ .title = Спрени бисквитки за следене в различни сайтове
+protections-blocking-cookies-third-party =
+ .title = Спрени странични бисквитки
+protections-blocking-cookies-all =
+ .title = Спрени всички бисквитки
+protections-blocking-cookies-unvisited =
+ .title = Спрени бисквитки от непосетени страници
+protections-blocking-tracking-content =
+ .title = Спряно проследяващо съдържание
+protections-blocking-social-media-trackers =
+ .title = Спряно проследяване от социални мрежи
+protections-not-blocking-fingerprinters =
+ .title = Не спряно снемане на цифров отпечатък
+protections-not-blocking-cryptominers =
+ .title = Не спряно добиване на криптовалути
+protections-not-blocking-cross-site-tracking-cookies =
+ .title = Не спрени бисквитки за следене в различни сайтове
+protections-not-blocking-tracking-content =
+ .title = Не спряно проследяващо съдържание
+protections-not-blocking-social-media-trackers =
+ .title = Не спряно проследяване от социални мрежи
+
+## Footer and Milestones sections in the Protections Panel
+## Variables:
+## $trackerCount (Number): number of trackers blocked
+## $date (Date): the date on which we started counting
+
+# This text indicates the total number of trackers blocked on all sites.
+# In its tooltip, we show the date when we started counting this number.
+protections-footer-blocked-tracker-counter =
+ { $trackerCount ->
+ [one] 1 спряно
+ *[other] { $trackerCount } спрени
+ }
+ .tooltiptext = От { DATETIME($date, year: "numeric", month: "long", day: "numeric") }
+# This text indicates the total number of trackers blocked on all sites.
+# It should be the same as protections-footer-blocked-tracker-counter;
+# this message is used to leave out the tooltip when the date is not available.
+protections-footer-blocked-tracker-counter-no-tooltip =
+ { $trackerCount ->
+ [one] 1 спряно
+ *[other] { $trackerCount } спрени
+ }
diff --git a/l10n-bg/browser/browser/speechDispatcher.ftl b/l10n-bg/browser/browser/speechDispatcher.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/l10n-bg/browser/browser/speechDispatcher.ftl
@@ -0,0 +1,3 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/l10n-bg/browser/browser/spotlight.ftl b/l10n-bg/browser/browser/spotlight.ftl
new file mode 100644
index 0000000000..f74dd9b437
--- /dev/null
+++ b/l10n-bg/browser/browser/spotlight.ftl
@@ -0,0 +1,13 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Mobile download button strings
+
+
+## Firefox Focus promo message strings
+
+spotlight-focus-promo-subtitle = Сканирайте QR кода за изтегляне.
+spotlight-focus-promo-qr-code =
+ .alt = Сканирайте QR кода, за да получите { -focus-brand-name }
diff --git a/l10n-bg/browser/browser/sync.ftl b/l10n-bg/browser/browser/sync.ftl
new file mode 100644
index 0000000000..a1f7a4b185
--- /dev/null
+++ b/l10n-bg/browser/browser/sync.ftl
@@ -0,0 +1,29 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+fxa-toolbar-sync-syncing2 = Синхронизиране…
+
+sync-disconnect-dialog-body = { -brand-product-name } ще спре синхронизацията на вашият профил, но няма да изтрива данни за разглеждане от устройството.
+sync-disconnect-dialog-button = Изключване
+
+fxa-menu-connect-another-device =
+ .label = Добавяне на устройство…
+# Variables:
+# $tabCount (Number): The number of tabs sent to the device.
+fxa-menu-send-tab-to-device =
+ .label =
+ { $tabCount ->
+ [one] Изпращане на раздела до устройство
+ *[other] Изпращане на { $tabCount } раздела до устройство
+ }
+
+# This is shown dynamically within "Send tab to device" in fxa menu.
+fxa-menu-send-tab-to-device-syncnotready =
+ .label = Синхронизиране на устройства…
+
+# This is shown within "Send tab to device" in fxa menu if account is not configured.
+fxa-menu-send-tab-to-device-description = Изпратете незабавно раздел до всяко устройство, в което сте вписани.
+
+fxa-menu-sign-out =
+ .label = Излизане…
diff --git a/l10n-bg/browser/browser/syncedTabs.ftl b/l10n-bg/browser/browser/syncedTabs.ftl
new file mode 100644
index 0000000000..653be70e7c
--- /dev/null
+++ b/l10n-bg/browser/browser/syncedTabs.ftl
@@ -0,0 +1,58 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+synced-tabs-sidebar-title = Синхронизирани раздели
+synced-tabs-sidebar-noclients-subtitle = Искате ли да видите свои раздели от други устройства тук?
+synced-tabs-sidebar-intro = Вижте списък с разделите от другите ваши устройства.
+synced-tabs-sidebar-unverified = Профилът трябва да бъде потвърден.
+synced-tabs-sidebar-notabs = Няма отворени раздели
+synced-tabs-sidebar-tabsnotsyncing = Включете синхронизирането на раздели, за да видите списък с раздели от други ваши устройства.
+synced-tabs-sidebar-connect-another-device = Добавяне на устройство
+synced-tabs-sidebar-search =
+ .placeholder = Търсене в синхронизираните
+
+## Displayed in the Synced Tabs sidebar's context menu when right-clicking tabs
+## and/or devices in the list. The "Open" strings below should be translated
+## consistently with the equivalent strings for the bookmarks manager's context
+## menu. That menu is activated by right-clicking a bookmark in the Library
+## window. The bookmarks manager context's strings are located in places.ftl.
+
+synced-tabs-context-open =
+ .label = Отваряне
+ .accesskey = О
+synced-tabs-context-open-in-tab =
+ .label = Отваряне в раздел
+ .accesskey = р
+synced-tabs-context-open-in-container-tab =
+ .label = Нов изолиран раздел
+ .accesskey = и
+synced-tabs-context-open-in-window =
+ .label = Отваряне в прозорец
+ .accesskey = п
+synced-tabs-context-open-in-private-window =
+ .label = Отваряне в поверителен прозорец
+ .accesskey = р
+
+##
+
+# Displayed in the Synced Tabs sidebar's context menu when right-clicking tabs
+# and/or devices in the list. This string is for a menuitem equivalent to one in
+# the tab context menu (activated by right-clicking a tab in the tabstrip). That
+# string is located in tabContextMenu.ftl. So, this string should be translated
+# consistently with the "Bookmark Tab…" string there.
+synced-tabs-context-bookmark =
+ .label = Отмятане на раздела…
+ .accesskey = т
+synced-tabs-context-copy =
+ .label = Копиране
+ .accesskey = К
+synced-tabs-context-open-all-in-tabs =
+ .label = Отваряне на всички в раздели
+ .accesskey = О
+synced-tabs-context-manage-devices =
+ .label = Управление на устройства…
+ .accesskey = У
+synced-tabs-context-sync-now =
+ .label = Синхронизиране
+ .accesskey = С
diff --git a/l10n-bg/browser/browser/tabContextMenu.ftl b/l10n-bg/browser/browser/tabContextMenu.ftl
new file mode 100644
index 0000000000..3e723be5d3
--- /dev/null
+++ b/l10n-bg/browser/browser/tabContextMenu.ftl
@@ -0,0 +1,110 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+tab-context-new-tab =
+ .label = Нов раздел
+ .accesskey = д
+reload-tab =
+ .label = Презареждане на раздела
+ .accesskey = П
+select-all-tabs =
+ .label = Избиране на всички раздели
+ .accesskey = и
+tab-context-play-tab =
+ .label = Включване на звука
+ .accesskey = з
+tab-context-play-tabs =
+ .label = Включване на звука
+ .accesskey = з
+duplicate-tab =
+ .label = Дублиране на раздела
+ .accesskey = р
+duplicate-tabs =
+ .label = Дублиране на разделите
+ .accesskey = р
+# The following string is displayed on a menuitem that will close the tabs from the start of the tabstrip to the currently targeted tab (excluding the currently targeted and any other selected tabs).
+# In left-to-right languages this should use "Left" and in right-to-left languages this should use "Right".
+close-tabs-to-the-start =
+ .label = Затваряне на разделите отляво
+ .accesskey = л
+# The following string is displayed on a menuitem that will close the tabs from the end of the tabstrip to the currently targeted tab (excluding the currently targeted and any other selected tabs).
+# In left-to-right languages this should use "Right" and in right-to-left languages this should use "Left".
+close-tabs-to-the-end =
+ .label = Затваряне на разделите отдясно
+ .accesskey = д
+close-other-tabs =
+ .label = Затваряне на другите раздели
+ .accesskey = р
+reload-tabs =
+ .label = Презареждане на разделите
+ .accesskey = п
+pin-tab =
+ .label = Закачане на раздела
+ .accesskey = ч
+unpin-tab =
+ .label = Премахване от леснодостъпните
+ .accesskey = п
+pin-selected-tabs =
+ .label = Закачане на разделите
+ .accesskey = ч
+unpin-selected-tabs =
+ .label = Премахване от леснодостъпните
+ .accesskey = п
+bookmark-selected-tabs =
+ .label = Отмятане на разделите…
+ .accesskey = о
+tab-context-bookmark-tab =
+ .label = Отмятане на раздела…
+ .accesskey = т
+tab-context-open-in-new-container-tab =
+ .label = Нов изолиран раздел
+ .accesskey = и
+move-to-start =
+ .label = В началото
+ .accesskey = н
+move-to-end =
+ .label = В края
+ .accesskey = к
+move-to-new-window =
+ .label = В нов прозорец
+ .accesskey = п
+tab-context-close-multiple-tabs =
+ .label = Затваряне на няколко раздела
+ .accesskey = н
+tab-context-share-url =
+ .label = Споделяне
+ .accesskey = С
+
+## Variables:
+## $tabCount (Number): the number of tabs that are affected by the action.
+
+tab-context-reopen-closed-tabs =
+ .label =
+ { $tabCount ->
+ [1] Възстановяване на затворен раздел
+ *[other] Възстановяване на затворени раздели
+ }
+ .accesskey = т
+tab-context-close-n-tabs =
+ .label =
+ { $tabCount ->
+ [one] Затваряне на раздела
+ *[other] Затваряне на { $tabCount } раздела
+ }
+ .accesskey = з
+tab-context-move-tabs =
+ .label =
+ { $tabCount ->
+ [one] Преместване на раздел
+ *[other] Преместване на раздели
+ }
+ .accesskey = П
+
+tab-context-send-tabs-to-device =
+ .label =
+ { $tabCount ->
+ [one] Изпращане на раздела до устройство
+ *[other] Изпращане на { $tabCount } раздела до устройство
+ }
+ .accesskey = у
diff --git a/l10n-bg/browser/browser/tabbrowser.ftl b/l10n-bg/browser/browser/tabbrowser.ftl
new file mode 100644
index 0000000000..cdfeb207a4
--- /dev/null
+++ b/l10n-bg/browser/browser/tabbrowser.ftl
@@ -0,0 +1,127 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+tabbrowser-empty-tab-title = Нов раздел
+
+tabbrowser-menuitem-close-tab =
+ .label = Затваряне на раздела
+tabbrowser-menuitem-close =
+ .label = Затваряне
+
+# Displayed as a tooltip on container tabs
+# Variables:
+# $title (String): the title of the current tab.
+# $containerName (String): the name of the current container.
+tabbrowser-container-tab-title = { $title } – { $containerName }
+
+# Variables:
+# $tabCount (Number): The number of tabs that will be closed.
+tabbrowser-close-tabs-tooltip =
+ .label =
+ { $tabCount ->
+ [one] Затваряне на раздела
+ *[other] Затваряне на { $tabCount } раздела
+ }
+
+## Tooltips for tab audio control
+## Variables:
+## $tabCount (Number): The number of tabs that will be affected.
+
+# Variables:
+# $shortcut (String): The keyboard shortcut for "Mute tab".
+tabbrowser-mute-tab-audio-tooltip =
+ .label =
+ { $tabCount ->
+ [one] Заглушаване на раздела ({ $shortcut })
+ *[other] Заглушаване на { $tabCount } раздела ({ $shortcut })
+ }
+# Variables:
+# $shortcut (String): The keyboard shortcut for "Unmute tab".
+tabbrowser-unmute-tab-audio-tooltip =
+ .label =
+ { $tabCount ->
+ [one] Включване звука на раздела ({ $shortcut })
+ *[other] Включване звука на { $tabCount } раздела ({ $shortcut })
+ }
+tabbrowser-mute-tab-audio-background-tooltip =
+ .label =
+ { $tabCount ->
+ [one] Заглушаване на раздела
+ *[other] Заглушаване на { $tabCount } раздела
+ }
+tabbrowser-unmute-tab-audio-background-tooltip =
+ .label =
+ { $tabCount ->
+ [one] Включване звука на раздела
+ *[other] Включване звука на { $tabCount } раздела
+ }
+tabbrowser-unblock-tab-audio-tooltip =
+ .label =
+ { $tabCount ->
+ [one] Включване звука на раздела
+ *[other] Включване звука на { $tabCount } раздела
+ }
+
+## Confirmation dialog when closing a window with more than one tab open,
+## or when quitting when only one window is open.
+
+tabbrowser-confirm-close-tabs-button = Затваряне на разделите
+
+## Confirmation dialog when quitting using the menu and multiple windows are open.
+
+tabbrowser-confirm-close-windows-button =
+ { PLATFORM() ->
+ [windows] Затваряне и излизане
+ *[other] Затваряне и излизане
+ }
+
+## Confirmation dialog when quitting using the keyboard shortcut (Ctrl/Cmd+Q)
+## Windows does not show a prompt on quit when using the keyboard shortcut by default.
+
+
+## Confirmation dialog when opening multiple tabs simultaneously
+
+tabbrowser-confirm-open-multiple-tabs-title = Потвърждаване на отваряне
+# Variables:
+# $tabCount (Number): The number of tabs that will be opened.
+tabbrowser-confirm-open-multiple-tabs-message =
+ { $tabCount ->
+ *[other] На път сте да отворите { $tabCount } раздела. Това може да забави { -brand-short-name } докато страниците се зареждат. Желаете ли да продължите?
+ }
+tabbrowser-confirm-open-multiple-tabs-button = Отваряне на разделите
+tabbrowser-confirm-open-multiple-tabs-checkbox = Предупреждаване, ако отваряне на няколко раздела може да забави { -brand-short-name }
+
+## Confirmation dialog for enabling caret browsing
+
+
+##
+
+tabbrowser-customizemode-tab-title = Приспособяване на { -brand-short-name }
+
+## Context menu buttons, of which only one will be visible at a time
+
+tabbrowser-context-mute-tab =
+ .label = Заглушаване на раздела
+ .accesskey = ш
+tabbrowser-context-unmute-tab =
+ .label = Включване на звука на раздела
+ .accesskey = В
+# The accesskey should match the accesskey for tabbrowser-context-mute-tab
+tabbrowser-context-mute-selected-tabs =
+ .label = Заглушаване на разделите
+ .accesskey = ш
+# The accesskey should match the accesskey for tabbrowser-context-unmute-tab
+tabbrowser-context-unmute-selected-tabs =
+ .label = Включване на звука на разделите
+ .accesskey = в
+
+## Ctrl-Tab dialog
+
+# Variables:
+# $tabCount (Number): The number of tabs in the current browser window. It will always be 2 at least.
+tabbrowser-ctrl-tab-list-all-tabs =
+ .label = Показване на всички { $tabCount } раздела
+
+## Tab manager menu buttons
+
diff --git a/l10n-bg/browser/browser/textRecognition.ftl b/l10n-bg/browser/browser/textRecognition.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/l10n-bg/browser/browser/textRecognition.ftl
@@ -0,0 +1,3 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/l10n-bg/browser/browser/toolbarContextMenu.ftl b/l10n-bg/browser/browser/toolbarContextMenu.ftl
new file mode 100644
index 0000000000..0cf131137f
--- /dev/null
+++ b/l10n-bg/browser/browser/toolbarContextMenu.ftl
@@ -0,0 +1,64 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+toolbar-context-menu-reload-selected-tab =
+ .label = Презареждане на избрания раздел
+ .accesskey = п
+toolbar-context-menu-reload-selected-tabs =
+ .label = Презареждане на избраните раздели
+ .accesskey = п
+toolbar-context-menu-bookmark-selected-tab =
+ .label = Отмятане на избрания раздел…
+ .accesskey = о
+toolbar-context-menu-bookmark-selected-tabs =
+ .label = Отмятане на избраните раздели…
+ .accesskey = о
+toolbar-context-menu-select-all-tabs =
+ .label = Избиране на всички раздели
+ .accesskey = и
+
+toolbar-context-menu-manage-extension =
+ .label = Управление на добавката
+ .accesskey = д
+toolbar-context-menu-remove-extension =
+ .label = Премахване на разширението
+ .accesskey = в
+
+# This label is used in the extensions toolbar buttons context menus,
+# a user can use this command to submit to Mozilla an abuse report
+# related to that extension. "Report" is a verb.
+toolbar-context-menu-report-extension =
+ .label = Докладване на разширението
+ .accesskey = к
+
+# Can appear on the same context menu as toolbar-context-menu-menu-bar-cmd
+# ("Menu Bar") and personalbarCmd ("Bookmarks Toolbar"), so they should
+# have different access keys.
+toolbar-context-menu-pin-to-overflow-menu =
+ .label = Преместване в допълнителното меню
+ .accesskey = д
+toolbar-context-menu-remove-from-toolbar =
+ .label = Премахване от лентата с инструменти
+ .accesskey = П
+toolbar-context-menu-view-customize-toolbar =
+ .label = Приспособяване…
+ .accesskey = П
+
+toolbar-context-menu-bookmarks-toolbar-always-show-2 =
+ .label = Винаги да се показва
+ .accesskey = В
+toolbar-context-menu-bookmarks-toolbar-never-show-2 =
+ .label = Никога да не се показва
+ .accesskey = Н
+toolbar-context-menu-bookmarks-toolbar-on-new-tab-2 =
+ .label = Да се показва само в нов раздел
+ .accesskey = р
+
+toolbar-context-menu-bookmarks-show-other-bookmarks =
+ .label = Показване на другите отметки
+ .accesskey = д
+
+toolbar-context-menu-menu-bar-cmd =
+ .toolbarname = Лента с менюта
+ .accesskey = м
diff --git a/l10n-bg/browser/browser/touchbar/touchbar.ftl b/l10n-bg/browser/browser/touchbar/touchbar.ftl
new file mode 100644
index 0000000000..84220a7dbc
--- /dev/null
+++ b/l10n-bg/browser/browser/touchbar/touchbar.ftl
@@ -0,0 +1,38 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Strings in this file are used to localize button titles displayed on the
+# MacBook Touch Bar.
+back = Назад
+forward = Напред
+reload = Презареждане
+home = Начало
+fullscreen = Цял екран
+touchbar-fullscreen-exit = Излизане от цял екран
+find = Търсене
+new-tab = Нов раздел
+add-bookmark = Добавяне на отметка
+reader-view = Изглед за четене
+# Meant to match the string displayed in an empty URL bar.
+open-location = Търсете или въведете адрес
+share = Споделяне
+close-window = Затваряне на прозореца
+open-sidebar = Странични ленти
+
+# This string describes shortcuts for search.
+search-popover = Преки пътища за търсене
+# Describes searches limited to a specific scope
+# (e.g. searching only in history).
+search-search-in = Търсене в:
+
+## Various categories of shortcuts for search.
+
+search-bookmarks = Отметки
+search-history = История
+search-opentabs = Отворени раздели
+search-tags = Етикети
+search-titles = Заглавия
+
+##
+
diff --git a/l10n-bg/browser/browser/translations.ftl b/l10n-bg/browser/browser/translations.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/l10n-bg/browser/browser/translations.ftl
@@ -0,0 +1,3 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/l10n-bg/browser/browser/unifiedExtensions.ftl b/l10n-bg/browser/browser/unifiedExtensions.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/l10n-bg/browser/browser/unifiedExtensions.ftl
@@ -0,0 +1,3 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/l10n-bg/browser/browser/webProtocolHandler.ftl b/l10n-bg/browser/browser/webProtocolHandler.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/l10n-bg/browser/browser/webProtocolHandler.ftl
@@ -0,0 +1,3 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/l10n-bg/browser/browser/webauthnDialog.ftl b/l10n-bg/browser/browser/webauthnDialog.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/l10n-bg/browser/browser/webauthnDialog.ftl
@@ -0,0 +1,3 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/l10n-bg/browser/browser/webrtcIndicator.ftl b/l10n-bg/browser/browser/webrtcIndicator.ftl
new file mode 100644
index 0000000000..67b9727c70
--- /dev/null
+++ b/l10n-bg/browser/browser/webrtcIndicator.ftl
@@ -0,0 +1,187 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+# Note: This is currently placed under browser/base/content so that we can
+# get the strings to appear without having our localization community need
+# to go through and translate everything. Once these strings are ready for
+# translation, we'll move it to the locales folder.
+
+
+## These strings are used so that the window has a title in tools that
+## enumerate/look for window titles. It is not normally visible anywhere.
+
+webrtc-indicator-title = { -brand-short-name } - Споделяне
+webrtc-indicator-window =
+ .title = { -brand-short-name } - Споделяне
+
+## Used as list items in sharing menu
+
+webrtc-item-camera = камера
+webrtc-item-microphone = микрофон
+webrtc-item-audio-capture = звук от раздел
+webrtc-item-application = приложение
+webrtc-item-screen = екран
+webrtc-item-window = прозорец
+webrtc-item-browser = раздел
+
+##
+
+# This is used for the website origin for the sharing menu if no readable origin could be deduced from the URL.
+webrtc-sharing-menuitem-unknown-host = Неизвестен произход
+
+# Variables:
+# $origin (String): The website origin (e.g. www.mozilla.org)
+# $itemList (String): A formatted list of items (e.g. "camera, microphone and tab audio")
+webrtc-sharing-menuitem =
+ .label = { $origin } ({ $itemList })
+webrtc-sharing-menu =
+ .label = Устройства споделящи раздели
+ .accesskey = У
+
+webrtc-sharing-window = Споделяте друг прозорец на приложението.
+webrtc-sharing-browser-window = Споделяте { -brand-short-name }.
+webrtc-sharing-screen = Споделяте целия си екран
+webrtc-stop-sharing-button = Спиране на споделянето
+webrtc-minimize =
+ .title = Минимизиране на индикатора
+
+## These strings will display as a tooltip on supported systems where we show
+## device sharing state in the OS notification area. We do not use these strings
+## on macOS, as global menu bar items do not have native tooltips.
+
+
+## Tooltips used by the legacy global sharing indicator
+
+webrtc-indicator-sharing-camera-and-microphone =
+ .tooltiptext = Споделяте своите камера и микрофон. Натиснете за настройка на споделянето.
+webrtc-indicator-sharing-camera =
+ .tooltiptext = Споделяте своята камера. Натиснете за настройка на споделянето.
+webrtc-indicator-sharing-microphone =
+ .tooltiptext = Споделяте своя микрофон. Натиснете за настройка на споделянето.
+webrtc-indicator-sharing-application =
+ .tooltiptext = Споделяте приложение. Натиснете за настройка на споделянето.
+webrtc-indicator-sharing-screen =
+ .tooltiptext = Споделяте своя екран. Натиснете за настройка на споделянето.
+webrtc-indicator-sharing-window =
+ .tooltiptext = Споделяте прозорец. Натиснете за настройка на споделянето.
+webrtc-indicator-sharing-browser =
+ .tooltiptext = Споделяте раздел. Натиснете за настройка на споделянето.
+
+## These strings are only used on Mac for menus attached to icons
+## near the clock on the mac menubar.
+## Variables:
+## $streamTitle (String): the title of the tab using the share.
+## $tabCount (Number): the title of the tab using the share.
+
+webrtc-indicator-menuitem-control-sharing =
+ .label = Настройки на споделяне
+webrtc-indicator-menuitem-control-sharing-on =
+ .label = Настройки на споделяне за „{ $streamTitle }“
+
+webrtc-indicator-menuitem-sharing-camera-with =
+ .label = Споделяте камера с „{ $streamTitle }“
+webrtc-indicator-menuitem-sharing-camera-with-n-tabs =
+ .label =
+ { $tabCount ->
+ [one] Споделяте камера с { $tabCount } раздел
+ *[other] Споделяте камера с { $tabCount } раздела
+ }
+
+webrtc-indicator-menuitem-sharing-microphone-with =
+ .label = Споделяте микрофон с „{ $streamTitle }“
+webrtc-indicator-menuitem-sharing-microphone-with-n-tabs =
+ .label =
+ { $tabCount ->
+ [one] Споделяте микрофон с { $tabCount } раздел
+ *[other] Споделяте микрофон с { $tabCount } раздела
+ }
+
+webrtc-indicator-menuitem-sharing-application-with =
+ .label = Споделяте приложение с „{ $streamTitle }“
+webrtc-indicator-menuitem-sharing-application-with-n-tabs =
+ .label =
+ { $tabCount ->
+ [one] Споделяте приложение с { $tabCount } раздел
+ *[other] Споделяте приложение с { $tabCount } раздела
+ }
+
+webrtc-indicator-menuitem-sharing-screen-with =
+ .label = Споделяте екран с „{ $streamTitle }“
+webrtc-indicator-menuitem-sharing-screen-with-n-tabs =
+ .label =
+ { $tabCount ->
+ [one] Споделяте екран с { $tabCount } раздел
+ *[other] Споделяте екран с { $tabCount } раздела
+ }
+
+webrtc-indicator-menuitem-sharing-window-with =
+ .label = Споделяте прозорец с „{ $streamTitle }“
+webrtc-indicator-menuitem-sharing-window-with-n-tabs =
+ .label =
+ { $tabCount ->
+ [one] Споделяте прозорец с { $tabCount } раздел
+ *[other] Споделяте прозорец с { $tabCount } раздела
+ }
+
+webrtc-indicator-menuitem-sharing-browser-with =
+ .label = Споделяте раздел с „{ $streamTitle }“
+# This message is shown when the contents of a tab is shared during a WebRTC
+# session, which currently is only possible with Loop/Hello.
+webrtc-indicator-menuitem-sharing-browser-with-n-tabs =
+ .label =
+ { $tabCount ->
+ [one] Споделяте прозорец с { $tabCount } раздел
+ *[other] Споделяте прозорец с { $tabCount } раздела
+ }
+
+## Variables:
+## $origin (String): the website origin (e.g. www.mozilla.org).
+
+
+## Variables:
+## $origin (String): the first party origin.
+## $thirdParty (String): the third party origin.
+
+
+##
+
+webrtc-share-screen-learn-more = Научете повече
+webrtc-pick-window-or-screen = Избиране на прозорец или екран
+webrtc-share-entire-screen = Целият екран
+# Variables:
+# $monitorIndex (String): screen number (digits 1, 2, etc).
+webrtc-share-monitor = Екран { $monitorIndex }
+# Variables:
+# $windowCount (Number): the number of windows currently displayed by the application.
+# $appName (String): the name of the application.
+webrtc-share-application =
+ { $windowCount ->
+ [one] { $appName } ({ $windowCount } прозорец)
+ *[other] { $appName } ({ $windowCount } прозореца)
+ }
+
+## These buttons are the possible answers to the various prompts in the "webrtc-allow-share-*" strings.
+
+webrtc-action-allow =
+ .label = Разрешаване
+ .accesskey = Р
+webrtc-action-block =
+ .label = Забраняване
+ .accesskey = З
+webrtc-action-always-block =
+ .label = Винаги да е забранено
+ .accesskey = в
+webrtc-action-not-now =
+ .label = Не сега
+ .accesskey = Н
+
+##
+
+webrtc-remember-allow-checkbox = Запомняне на решението
+webrtc-mute-notifications-checkbox = Спиране на известия докато споделяте
+
+webrtc-reason-for-no-permanent-allow-screen = { -brand-short-name } не може да позволи постоянен достъп до екрана ви.
+webrtc-reason-for-no-permanent-allow-audio = { -brand-short-name } не може да позволи постоянен достъп до звука на раздела без да ви попита кой раздел да сподели.
+webrtc-reason-for-no-permanent-allow-insecure = Връзката към сайта е незащитена. За да ви предпази { -brand-short-name } ще позволи достъпа само за тази сесия.
diff --git a/l10n-bg/browser/chrome/browser/browser.properties b/l10n-bg/browser/chrome/browser/browser.properties
new file mode 100644
index 0000000000..5ad8c3abbb
--- /dev/null
+++ b/l10n-bg/browser/chrome/browser/browser.properties
@@ -0,0 +1,514 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+nv_timeout=Просрочено време
+openFile=Отваряне на файл
+
+droponhometitle=Избиране на начална страница
+droponhomemsg=Бихте ли желали този документ да бъде вашата нова начална страница?
+droponhomemsgMultiple=Бихте ли желали тези документи да бъдат вашата нова начална страница?
+
+# context menu strings
+
+# LOCALIZATION NOTE (contextMenuSearch): %1$S is the search engine,
+# %2$S is the selection string.
+contextMenuSearch=Търсене с %1$S за „%2$S“
+contextMenuSearch.accesskey=Т
+contextMenuPrivateSearch=Търсене в поверителен прозорец
+# LOCALIZATION NOTE (contextMenuPrivateSearchOtherEngine): %S is the search
+# engine name as set for Private Browsing mode. This label is only used when
+# this engine is different from the default engine name used in normal mode.
+contextMenuPrivateSearchOtherEngine=Търсене с %S в поверителен прозорец
+
+# bookmark dialog strings
+
+bookmarkAllTabsDefault=[Име на папка]
+
+# LOCALIZATION NOTE (sitePermissionInstallFirstPrompt.header)
+# This message is shown when a SitePermissionsAddon install is triggered, i.e. when the
+# website calls sensitive APIs (e.g. navigator.requestMIDIAccess).
+# LOCALIZATION NOTE (sitePermissionInstallFirstPrompt.message)
+# This message is shown when a SitePermissionsAddon install is triggered, i.e. when the
+# website calls sensitive APIs (e.g. navigator.requestMIDIAccess).
+
+# LOCALIZATION NOTE (webextPerms.updateText)
+# %S is replaced with the localized name of the updated extension.
+# Note, this string will be used as raw markup. Avoid characters like <, >, &
+
+# LOCALIZATION NOTE (webextSitePerms.headerWithGatedPerms.midi)
+# This string is used as a header in the webextension permissions dialog for synthetic add-ons.
+# The part of the string describing what privileges the extension gives should be consistent
+# with the value of webextSitePerms.description.{sitePermission}.
+# %S is the hostname of the site the add-on is being installed from.
+# Note, this string will be used as raw markup. Avoid characters like <, >, &
+
+# LOCALIZATION NOTE (webextSitePerms.headerWithGatedPerms.midi-sysex)
+# This string is used as a header in the webextension permissions dialog for synthetic add-ons.
+# The part of the string describing what privileges the extension gives should be consistent
+# with the value of webextSitePerms.description.{sitePermission}.
+# %S is the hostname of the site the add-on is being installed from.
+# Note, this string will be used as raw markup. Avoid characters like <, >, &
+
+# LOCALIZATION NOTE (webextSitePerms.descriptionGatedPerms)
+# This string is used as description in the webextension permissions dialog for synthetic add-ons.
+# %S will be replaced by the DNS host name for which a webextension enables permissions
+# Note, this string will be used as raw markup. Avoid characters like <, >, &
+
+# These should remain in sync with permissions.NAME.label in sitePermissions.properties
+
+# LOCALIZATION NOTE (addonPostInstall.message3)
+# %S is replaced with the localized named of the extension that was
+# just installed.
+
+unsignedAddonsDisabled.message=Една или повече добавки са непроверени и бяха изключени.
+unsignedAddonsDisabled.learnMore.label=Научете повече
+unsignedAddonsDisabled.learnMore.accesskey=Н
+
+# LOCALIZATION NOTE (geolocationLastAccessIndicatorText): %S is the relative time of the most recent geolocation access (e.g. 5 min. ago)
+geolocationLastAccessIndicatorText=Последен достъп %S
+
+# LOCALIZATION NOTE (openProtocolHandlerPermissionEntryLabel): %S is the scheme of the protocol the site may open an application for. For example: mailto
+
+crashedpluginsMessage.title=Приставката %S се срина.
+crashedpluginsMessage.reloadButton.label=Презареждане на страницата
+crashedpluginsMessage.reloadButton.accesskey=П
+crashedpluginsMessage.submitButton.label=Изпращане на доклад за срив
+crashedpluginsMessage.submitButton.accesskey=И
+crashedpluginsMessage.learnMore=Научете повече…
+
+# Keyword fixup messages
+# LOCALIZATION NOTE (keywordURIFixup.message): Used when the user tries to visit
+# a local host page, by the time the DNS request recognizes it, we have already
+# loaded a search page for the given word. An infobar then asks to the user
+# whether he rather wanted to visit the host. %S is the recognized host.
+keywordURIFixup.message=Имахте предвид да посетите %S?
+keywordURIFixup.goTo=Да, към %S
+keywordURIFixup.goTo.accesskey=Д
+
+# Sanitize
+# LOCALIZATION NOTE (update.downloadAndInstallButton.label): %S is replaced by the
+# version of the update: "Update to 28.0".
+update.downloadAndInstallButton.label=Обновяване до %S
+update.downloadAndInstallButton.accesskey=О
+
+menuOpenAllInTabs.label=Отваряне на всички в раздели
+
+# Unified Back-/Forward Popup
+tabHistory.goBack=Назад към тази страница
+tabHistory.goForward=Напред към тази страница
+
+# URL Bar
+pasteAndGo.label=Поставяне и посещаване
+# LOCALIZATION NOTE (reloadButton.tooltip):
+# %S is the keyboard shortcut for reloading the current page
+reloadButton.tooltip=Презареждане на текущата страница (%S)
+# LOCALIZATION NOTE (stopButton.tooltip):
+# %S is the keyboard shortcut for stopping loading the page
+stopButton.tooltip=Спиране зареждането на страницата (%S)
+# LOCALIZATION NOTE (urlbar-zoom-button.tooltip):
+# %S is the keyboard shortcut for resetting the zoom level to 100%
+urlbar-zoom-button.tooltip=Нулиране на мащабирането (%S)
+# LOCALIZATION NOTE (reader-mode-button.tooltip):
+# %S is the keyboard shortcut for entering/exiting reader view
+reader-mode-button.tooltip=Превключва изгледа за четене (%S)
+
+# LOCALIZATION NOTE(zoom-button.label): %S is the current page zoom level,
+# %% will be displayed as a single % character (% is commonly used to define
+# format specifiers, so it needs to be escaped).
+zoom-button.label = %S%%
+
+# General bookmarks button
+# LOCALIZATION NOTE (bookmarksMenuButton.tooltip):
+# %S is the keyboard shortcut for "Show All Bookmarks"
+bookmarksMenuButton.tooltip=Показване на отметките (%S)
+
+# Downloads button tooltip
+# LOCALIZATION NOTE (downloads.tooltip):
+# %S is the keyboard shortcut for "Downloads"
+downloads.tooltip=Напредък на текущите изтегляния (%S)
+
+# New Window button tooltip
+# LOCALIZATION NOTE (newWindowButton.tooltip):
+# %S is the keyboard shortcut for "New Window"
+newWindowButton.tooltip=Отваряне на нов прозорец (%S)
+
+# New Tab button tooltip
+# LOCALIZATION NOTE (newTabButton.tooltip):
+# %S is the keyboard shortcut for "New Tab"
+newTabButton.tooltip=Отваряне на раздел (%S)
+newTabContainer.tooltip=Отваряне на нов раздел (%S)\nЗа отваряне на раздел в изолатор натиснете и задръжте
+
+# Canvas permission prompt
+# LOCALIZATION NOTE (canvas.siteprompt2): %S is hostname
+canvas.allow2=Разрешаване
+
+# LOCALIZATION NOTE (webauthn.selectSignResultPrompt): %S is hostname
+# LOCALIZATION NOTE (webauthn.selectDevicePrompt): %S is hostname
+# LOCALIZATION NOTE (webauthn.deviceBlockedPrompt): %S is hostname
+# LOCALIZATION NOTE (webauthn.pinAuthBlockedPrompt): %S is hostname
+webauthn.cancel=Отказ
+webauthn.cancel.accesskey=о
+webauthn.proceed=Продължаване
+webauthn.proceed.accesskey=п
+webauthn.anonymize=Анонимизиране без значение
+
+# Spoof Accept-Language prompt
+privacy.spoof_english=Ако промените езика на английски ще бъдете по-трудни за идентификация и би могло да увеличи вашата поверителност. Желаете ли да бъдат правени заявки за английската версия на страниците?
+
+# LOCALIZATION NOTE (identity.identified.verifier, identity.identified.state_and_country, identity.ev.contentOwner2):
+# %S is the hostname of the site that is being displayed.
+identity.identified.verifier=Проверено от: %S
+identity.identified.verified_by_you=Добавено е изключение в защитата на тази страница.
+identity.identified.state_and_country=%S, %S
+identity.ev.contentOwner2=Сертификатът е издаден на: %S
+
+# LOCALIZATION NOTE (identity.notSecure.label):
+# Keep this string as short as possible, this is displayed in the URL bar
+# use a synonym for "safe" or "private" if "secure" is too long.
+identity.notSecure.label=Незащитена
+identity.notSecure.tooltip=Връзката не е защитена
+
+identity.extension.label=Разширение (%S)
+identity.extension.tooltip=Отворена от разширение: %S
+
+# LOCALIZATION NOTE (contentBlocking.trackersView.blocked.label):
+# This label is shown next to a tracker in the trackers subview.
+# It forms the end of the (imaginary) sentence "www.example.com [was] Blocked"
+contentBlocking.trackersView.blocked.label=Забранено
+
+contentBlocking.trackersView.empty.label=Не са открити на сайта
+
+# LOCALIZATION NOTE (contentBlocking.cookies.blockingTrackers.label, contentBlocking.cookies.blocking3rdParty.label,
+# contentBlocking.cookies.blockingUnvisited.label,contentBlocking.cookies.blockingAll.label):
+contentBlocking.cookies.blockingTrackers3.label=Бисквитки за следене в различни сайтове
+contentBlocking.cookies.blocking3rdParty2.label=Странични бисквитки
+contentBlocking.cookies.blockingUnvisited2.label=Бисквитки от непосетени страници
+contentBlocking.cookies.blockingAll2.label=Всички бисквитки
+
+contentBlocking.cookiesView.firstParty.label=От страницата
+# LOCALIZATION NOTE (contentBlocking.cookiesView.firstParty.empty.label):
+# This references the header from contentBlocking.cookiesView.firstParty.label:
+# "[Cookies] From This Site: None detected on this site".
+contentBlocking.cookiesView.firstParty.empty.label=Не са открити на сайта
+
+contentBlocking.cookiesView.trackers2.label=Бисквитки за следене в различни сайтове
+# LOCALIZATION NOTE (contentBlocking.cookiesView.trackers.empty.label):
+# This references the header from contentBlocking.cookiesView.trackers.label:
+# "Tracking Cookies: None detected on this site".
+contentBlocking.cookiesView.trackers.empty.label=Не са открити на сайта
+
+contentBlocking.cookiesView.thirdParty.label=Странични бисквитки
+# LOCALIZATION NOTE (contentBlocking.cookiesView.thirdParty.empty.label):
+# This references the header from contentBlocking.cookiesView.thirdParty.label:
+# "Third-Party Cookies: None detected on this site".
+contentBlocking.cookiesView.thirdParty.empty.label=Не са открити на сайта
+
+# LOCALIZATION NOTE (contentBlocking.cookiesView.allowed.label):
+# This label is shown next to a cookie origin in the cookies subview.
+# It forms the end of the (imaginary) sentence "www.example.com [was] Allowed"
+contentBlocking.cookiesView.allowed.label=Разрешено
+# LOCALIZATION NOTE (contentBlocking.cookiesView.blocked.label):
+# This label is shown next to a cookie origin in the cookies subview.
+# It forms the end of the (imaginary) sentence "www.example.com [was] Blocked"
+contentBlocking.cookiesView.blocked.label=Забранено
+# LOCALIZATION NOTE (contentBlocking.cookiesView.removeButton.tooltip): %S is the domain of the site.
+contentBlocking.cookiesView.removeButton.tooltip=Изчистване на изключенията за бисквитките от %S
+
+# LOCALIZATION NOTE (contentBlocking.fingerprintersView.blocked.label):
+# This label is shown next to a fingerprinter in the fingerprinters subview.
+# It forms the end of the (imaginary) sentence "www.example.com [was] Blocked"
+contentBlocking.fingerprintersView.blocked.label=Забранено
+
+# LOCALIZATION NOTE (contentBlocking.cryptominersView.blocked.label):
+# This label is shown next to a cryptominer in the cryptominers subview.
+# It forms the end of the (imaginary) sentence "www.example.com [was] Blocked"
+contentBlocking.cryptominersView.blocked.label=Забранено
+
+trackingProtection.icon.activeTooltip2=Спиране на проследяване от социални мрежи, проследяване в различни сайтове и снемане на цифров отпечатък.
+trackingProtection.icon.disabledTooltip2=Подобрена защита от проследяване е ИЗКЛЮЧЕНА за сайта.
+# LOCALIZATION NOTE (trackingProtection.icon.noTrackersDetectedTooltip): %S is brandShortName.
+trackingProtection.icon.noTrackersDetectedTooltip=На страницата не са открити известни на %S проследяващи елементи.
+
+# LOCALIZATION NOTE (protections.header):
+# Header of the Protections Panel. %S is replaced with the site's hostname.
+protections.header=Защита на %S
+
+# LOCALIZATION NOTE (protections.disableAriaLabel):
+# Text that gets spoken by a screen reader if the button will disable protections.
+# %s is the site's hostname.
+protections.disableAriaLabel=Излючване на защитите за %S
+
+# LOCALIZATION NOTE (protections.enableAriaLabel):
+# Text that gets spoken by a screen reader if the button will enable protections.
+# %s is the site's hostname.
+protections.enableAriaLabel=Включване на защитите за %S
+
+# Blocking and Not Blocking sub-views in the Protections Panel
+protections.blocking.fingerprinters.title=Спряно снемане на цифров отпечатък
+protections.blocking.cryptominers.title=Спряно добиване на криптовалути
+protections.blocking.cookies.trackers.title=Спрени бисквитки за следене в различни сайтове
+protections.blocking.cookies.3rdParty.title=Спрени странични бисквитки
+protections.blocking.cookies.all.title=Спрени всички бисквитки
+protections.blocking.cookies.unvisited.title=Спрени бисквитки от непосетени страници
+protections.blocking.trackingContent.title=Спряно проследяващо съдържание
+protections.blocking.socialMediaTrackers.title=Спряно проследяване от социални мрежи
+protections.notBlocking.fingerprinters.title=Не спряно снемане на цифров отпечатък
+protections.notBlocking.cryptominers.title=Не спряно добиване на криптовалути
+protections.notBlocking.crossSiteTrackingCookies.title=Не спрени бисквитки за следене в различни сайтове
+protections.notBlocking.trackingContent.title=Не спряно проследяващо съдържание
+protections.notBlocking.socialMediaTrackers.title=Не спряно проследяване от социални мрежи
+
+# Footer section in the Protections Panel
+# LOCALIZATION NOTE (protections.footer.blockedTrackerCounter.description,
+# protections.footer.blockedTrackerCounter.tooltip):
+# This text indicates the total number of trackers blocked on all sites. In
+# its tooltip, we show the date when we started counting this number.
+# LOCALIZATION NOTE (protections.footer.blockedTrackerCounter.description):
+# Semicolon-separated list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# Replacement for #1 is a locale-string converted positive integer.
+protections.footer.blockedTrackerCounter.description=1 спряно;#1 спрени
+# LOCALIZATION NOTE (protections.footer.blockedTrackerCounter.tooltip):
+# %S is the date on which we started counting (e.g., July 17, 2019).
+protections.footer.blockedTrackerCounter.tooltip=От %S
+
+# Milestones section in the Protections Panel
+# LOCALIZATION NOTE (protections.milestone.description):
+# Semicolon-separated list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is replaced with brandShortName.
+# #2 is replaced with the (locale-formatted) number of trackers blocked
+# #3 is replaced by a locale-formatted date with short month and numeric year.
+# In English this looks like "Firefox blocked over 10,000 trackers since Oct 2019"
+
+# Application menu
+
+# LOCALIZATION NOTE(zoomReduce-button.tooltip): %S is the keyboard shortcut.
+zoomReduce-button.tooltip = Намаляване (%S)
+# LOCALIZATION NOTE(zoomReset-button.tooltip): %S is the keyboard shortcut.
+zoomReset-button.tooltip = Нулиране на мащабирането (%S)
+# LOCALIZATION NOTE(zoomEnlarge-button.tooltip): %S is the keyboard shortcut.
+zoomEnlarge-button.tooltip = Увеличаване (%S)
+
+# LOCALIZATION NOTE (cut-button.tooltip): %S is the keyboard shortcut.
+cut-button.tooltip = Изрязване (%S)
+# LOCALIZATION NOTE (copy-button.tooltip): %S is the keyboard shortcut.
+copy-button.tooltip = Копиране (%S)
+# LOCALIZATION NOTE (paste-button.tooltip): %S is the keyboard shortcut.
+paste-button.tooltip = Поставяне (%S)
+
+# Geolocation UI
+
+geolocation.shareWithSite4=Разрешавате ли на %S достъп до местоположението ви?
+geolocation.shareWithFile4=Разрешавате ли на този местен файл достъп до местоположението ви?
+# LOCALIZATION NOTE(geolocation.shareWithSiteUnsafeDelegation2):
+# %1$S is the first party origin, %2$S is the third party origin.
+geolocation.shareWithSiteUnsafeDelegation2=Разрешавате ли на %1$S да даде на %2$S разрешение за достъп до местоположението ви?
+geolocation.remember=Запомняне на решението
+
+# Virtual Reality Device UI
+
+# Persistent storage UI
+persistentStorage.allow=Разрешаване
+persistentStorage.allow.accesskey=р
+
+# Web notifications UI
+# LOCALIZATION NOTE (alwaysBlock, block)
+# The two button strings will never be shown at the same time, so
+# it's okay for them to have the same access key
+webNotifications.notNow=Не сега
+webNotifications.notNow.accesskey=с
+webNotifications.never=Никога
+webNotifications.never.accesskey=н
+
+# Phishing/Malware Notification Bar.
+# LOCALIZATION NOTE (notADeceptiveSite, notAnAttack)
+# The two button strings will never be shown at the same time, so
+# it's okay for them to have the same access key
+safebrowsing.getMeOutOfHereButton.label=Махнете ме от тук!
+safebrowsing.getMeOutOfHereButton.accessKey=М
+safebrowsing.deceptiveSite=Измамническа страница!
+safebrowsing.notADeceptiveSiteButton.label=Това не е измамническа страница…
+safebrowsing.notADeceptiveSiteButton.accessKey=d
+safebrowsing.reportedAttackSite=Докладвана атакуваща страница!
+safebrowsing.notAnAttackButton.label=Това не е атакуваща страница…
+safebrowsing.notAnAttackButton.accessKey=а
+safebrowsing.reportedUnwantedSite=Докладвана страница с нежелан софтуер!
+safebrowsing.reportedHarmfulSite=Страница, докладвана като зловредна!
+
+# LOCALIZATION NOTE (addKeywordTitleAutoFill): %S will be replaced by the page's title
+# Used as the bookmark name when saving a keyword for a search field.
+addKeywordTitleAutoFill=Търсене в %S
+
+# troubleshootModeRestart
+# LOCALIZATION NOTE (troubleshootModeRestartPromptTitle): %S is the name of the product (e.g., Firefox)
+
+# LOCALIZATION NOTE (browser.menu.showCharacterEncoding): Set to the string
+# "true" (spelled and capitalized exactly that way) to show the "Text
+# Encoding" menu in the main Firefox button on Windows. Any other value will
+# hide it. Regardless of the value of this setting, the "Text Encoding"
+# menu will always be accessible via the "Browser Tools" menu.
+# This is not a string to translate; it just controls whether the menu shows
+# up in the Firefox button. If users frequently use the "Text Encoding"
+# menu, set this to "true". Otherwise, you can leave it as "false".
+browser.menu.showCharacterEncoding=false
+
+# Process hang reporter
+# LOCALIZATION NOTE (processHang.selected_tab.label): %1$S is the name of the product (e.g., Firefox)
+# LOCALIZATION NOTE (processHang.nonspecific_tab.label): %1$S is the name of the product (e.g., Firefox)
+# LOCALIZATION NOTE (processHang.specific_tab.label): %1$S is the title of the tab.
+# %2$S is the name of the product (e.g., Firefox)
+# LOCALIZATION NOTE (processHang.add-on.label2): %1$S is the name of the
+# extension. %2$S is the name of the product (e.g., Firefox)
+processHang.add-on.learn-more.text = Научете повече
+processHang.button_debug.label = Дебъгване на скрипт
+processHang.button_debug.accessKey = Д
+
+# LOCALIZATION NOTE (fullscreenButton.tooltip): %S is the keyboard shortcut for full screen
+fullscreenButton.tooltip=Показване на прозореца на цял екран (%S)
+
+# These are visible when opening the popup inside the bookmarks sidebar
+sidebar.moveToLeft=Преместване на лентата отляво
+sidebar.moveToRight=Преместване на лентата отдясно
+
+# LOCALIZATION NOTE (getUserMedia.shareCamera3.message,
+# getUserMedia.shareMicrophone3.message,
+# getUserMedia.shareScreen4.message,
+# getUserMedia.shareCameraAndMicrophone3.message,
+# getUserMedia.shareCameraAndAudioCapture3.message,
+# getUserMedia.shareScreenAndMicrophone4.message,
+# getUserMedia.shareScreenAndAudioCapture4.message,
+# getUserMedia.shareAudioCapture3.message):
+# %S is the website origin (e.g. www.mozilla.org)
+# LOCALIZATION NOTE (selectAudioOutput.shareSpeaker.message):
+# "Speakers" is used in a general sense that might include headphones or
+# another audio output connection.
+# %S is the website origin (e.g. www.mozilla.org)
+
+# LOCALIZATION NOTE (getUserMedia.shareCameraUnsafeDelegation2.message,
+# getUserMedia.shareMicrophoneUnsafeDelegation2.message,
+# getUserMedia.shareScreenUnsafeDelegation2.message,
+# getUserMedia.shareCameraAndMicrophoneUnsafeDelegation2.message,
+# getUserMedia.shareCameraAndAudioCaptureUnsafeDelegation2.message,
+# getUserMedia.shareScreenAndMicrophoneUnsafeDelegation2.message,
+# getUserMedia.shareScreenAndAudioCaptureUnsafeDelegation2.message,
+# %1$S is the first party origin.
+# %2$S is the third party origin.
+# LOCALIZATION NOTE ():
+# "Speakers" is used in a general sense that might include headphones or
+# another audio output connection.
+# %1$S is the first party origin.
+# %2$S is the third party origin.
+
+# LOCALIZATION NOTE(emeNotifications.drmContentDisabled.message): NB: inserted via innerHTML, so please don't use <, > or & in this string. %S will be the 'learn more' link
+emeNotifications.drmContentDisabled.button.label = Включване на DRM
+emeNotifications.drmContentDisabled.button.accesskey = В
+
+# LOCALIZATION NOTE(emeNotifications.drmContentCDMInstalling.message): NB: inserted via innerHTML, so please don't use <, > or & in this string. %S is brandShortName
+emeNotifications.drmContentCDMInstalling.message = %S инсталира компоненти, необходими за работата на аудио или видеозапис от страницата. Моля, опитайте по-късно.
+
+emeNotifications.unknownDRMSoftware = Неизвестен
+
+# LOCALIZATION NOTE (customizeMode.tabTitle): %S is brandShortName
+customizeMode.tabTitle = Приспособяване на %S
+
+e10s.accessibilityNotice.acceptButton.label = Добре
+e10s.accessibilityNotice.acceptButton.accesskey = Д
+
+# LOCALIZATION NOTE (e10s.accessibilityNotice.jawsMessage): %S is brandShortName
+e10s.accessibilityNotice.jawsMessage = Съдържанието на раздела не може да бъде показано поради несъвместимост между %S и вашия софтуер за достъпност. Моля, обновете вашия четец на екрана или преминете към Firefox Extended Support Release.
+
+# LOCALIZATION NOTE (userContextPersonal.label,
+# userContextWork.label,
+# userContextShopping.label,
+# userContextBanking.label,
+# userContextNone.label):
+# These strings specify the four predefined contexts included in support of the
+# Contextual Identity / Containers project. Each context is meant to represent
+# the context that the user is in when interacting with the site. Different
+# contexts will store cookies and other information from those sites in
+# different, isolated locations. You can enable the feature by typing
+# about:config in the URL bar and changing privacy.userContext.enabled to true.
+# Once enabled, you can open a new tab in a specific context by clicking
+# File > New Container Tab > (1 of 4 contexts). Once opened, you will see these
+# strings on the right-hand side of the URL bar.
+userContextPersonal.label = Личен
+userContextWork.label = Служебен
+userContextBanking.label = Банкиране
+userContextShopping.label = Пазаруване
+userContextNone.label = Неизолиран
+
+userContextPersonal.accesskey = Л
+userContextWork.accesskey = С
+userContextBanking.accesskey = Б
+userContextShopping.accesskey = П
+userContextNone.accesskey = Н
+
+userContext.aboutPage.label = Управление на изолатори
+userContext.aboutPage.accesskey = и
+
+# LOCALIZATION NOTE (sendTabsToDevice.label):
+# Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of tabs sent to the device.
+sendTabsToDevice.label = Изпращане на раздела до устройство;Изпращане на #1 раздела до устройство
+sendTabsToDevice.accesskey = у
+
+decoder.noCodecs.button = Научете как
+decoder.noCodecs.accesskey = Н
+decoder.noCodecsLinux.message = За възпроизвеждане на видеото, е нужно да инсталирате изискваните видео кодеци.
+decoder.noHWAcceleration.message = За подобряване качеството на видеото, е нужно да инсталирате Media Feature Pack на Microsoft.
+decoder.noPulseAudio.message = За възпроизвеждане на аудиото, е нужно да инсталирате изискваният софтуер на PulseAudio.
+decoder.unsupportedLibavcodec.message = libavcodec може да е уязвима или неподдържана и за възпроизвеждане на видео трябва да бъде обновена.
+
+decoder.decodeError.message = Възникна грешка при разкодиране да медиен ресурс.
+decoder.decodeError.button = Докладване на проблем със сайта
+decoder.decodeError.accesskey = Д
+decoder.decodeWarning.message = Възникна възстановима грешка при разкодиране да медиен ресурс.
+
+# LOCALIZATION NOTE (captivePortal.infoMessage3):
+# Shown in a notification bar when we detect a captive portal is blocking network access
+# and requires the user to log in before browsing.
+captivePortal.infoMessage3 = Трябва да се впишете в тази мрежа, за да получите достъп до интернет.
+# LOCALIZATION NOTE (captivePortal.showLoginPage2):
+# The label for a button shown in the info bar in all tabs except the login page tab.
+# The button shows the portal login page tab when clicked.
+captivePortal.showLoginPage2 = Страница за вписване в мрежа
+
+# LOCALIZATION NOTE (permissions.header):
+# %S is the hostname of the site that is being displayed.
+permissions.remove.tooltip = Изчистване на тези права и повторно питане
+
+
+# LOCALIZATION NOTE (aboutDialog.architecture.*):
+# The sixtyFourBit and thirtyTwoBit strings describe the architecture of the
+# current Firefox build: 32-bit or 64-bit. These strings are used in parentheses
+# between the Firefox version and the "What's new" link in the About dialog,
+# e.g.: "48.0.2 (32-bit) <What's new>" or "51.0a1 (2016-09-05) (64-bit)".
+aboutDialog.architecture.sixtyFourBit = 64-битово издание
+aboutDialog.architecture.thirtyTwoBit = 32-битово издание
+
+midi.remember=Запомняне на решението
+# LOCALIZATION NOTE (midi.shareWithSite): %S is the name of the site URL (https://...) requesting MIDI access
+# LOCALIZATION NOTE (midi.shareSysexWithSite): %S is the name of the site URL (https://...) requesting MIDI access
+
+# LOCALIZATION NOTE (panel.back):
+# This is used by screen readers to label the "back" button in various browser
+# popup panels, including the sliding subviews of the main menu.
+panel.back = Назад
+
+storageAccess1.DontAllow.label = Забраняване
+storageAccess1.DontAllow.accesskey = З
+# LOCALIZATION NOTE (storageAccess4.message, storageAccess1.hintText):
+# %1$S is the name of the site URL (www.site1.example) trying to track the user's activity.
+# %2$S is the name of the site URL (www.site2.example) that the user is visiting. This is the same domain name displayed in the address bar.
+
+
+
+# LOCALIZATION NOTE (gnomeSearchProviderSearch):
+# Used for search by Gnome Shell activity screen, %S is a searched string.
+
+# LOCALIZATION NOTE (gnomeSearchProviderSearchWeb):
+# Used for search by Gnome Shell activity screen, %S is a searched string.
+
diff --git a/l10n-bg/browser/chrome/browser/customizableui/customizableWidgets.properties b/l10n-bg/browser/chrome/browser/customizableui/customizableWidgets.properties
new file mode 100644
index 0000000000..19abb792e6
--- /dev/null
+++ b/l10n-bg/browser/chrome/browser/customizableui/customizableWidgets.properties
@@ -0,0 +1,54 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+history-panelmenu.label = История
+# LOCALIZATION NOTE(history-panelmenu.tooltiptext2): %S is the keyboard shortcut
+history-panelmenu.tooltiptext2 = Показване на история (%S)
+
+find-button.label = Търсене
+# LOCALIZATION NOTE(find-button.tooltiptext3): %S is the keyboard shortcut.
+find-button.tooltiptext3 = Търсене в страницата (%S)
+
+developer-button.label = Разработчик
+# LOCALIZATION NOTE(developer-button.tooltiptext): %S is the keyboard shortcut
+developer-button.tooltiptext2 = Отваряне на развойни инструменти (%S)
+
+sidebar-button.label = Странични ленти
+sidebar-button.tooltiptext2 = Показване на странични ленти
+
+zoom-controls.label = Контроли за мащабиране
+zoom-controls.tooltiptext2 = Контроли за мащабиране
+
+zoom-out-button.label = Намаляване
+# LOCALIZATION NOTE(zoom-out-button.tooltiptext2): %S is the keyboard shortcut.
+zoom-out-button.tooltiptext2 = Намаляване (%S)
+
+# LOCALIZATION NOTE(zoom-reset-button.tooltiptext2): %S is the keyboard shortcut.
+zoom-reset-button.tooltiptext2 = Нулиране на мащабирането (%S)
+
+zoom-in-button.label = Увеличаване
+# LOCALIZATION NOTE(zoom-in-button.tooltiptext2): %S is the keyboard shortcut.
+zoom-in-button.tooltiptext2 = Увеличаване (%S)
+
+edit-controls.label = Контроли за редактиране
+edit-controls.tooltiptext2 = Контроли за редактиране
+
+cut-button.label = Изрязване
+# LOCALIZATION NOTE(cut-button.tooltiptext2): %S is the keyboard shortcut.
+cut-button.tooltiptext2 = Изрязване (%S)
+
+copy-button.label = Копиране
+# LOCALIZATION NOTE(copy-button.tooltiptext2): %S is the keyboard shortcut.
+copy-button.tooltiptext2 = Копиране (%S)
+
+paste-button.label = Поставяне
+# LOCALIZATION NOTE(paste-button.tooltiptext2): %S is the keyboard shortcut.
+paste-button.tooltiptext2 = Поставяне (%S)
+
+panic-button.label = Забравяне
+panic-button.tooltiptext = Забравяне на част от историята на разглеждане
+
+toolbarspring.label = Адаптивен интервал
+toolbarseparator.label = Разделител
+toolbarspacer.label = Интервал
diff --git a/l10n-bg/browser/chrome/browser/downloads/downloads.properties b/l10n-bg/browser/chrome/browser/downloads/downloads.properties
new file mode 100644
index 0000000000..eda85b849c
--- /dev/null
+++ b/l10n-bg/browser/chrome/browser/downloads/downloads.properties
@@ -0,0 +1,77 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this file,
+# You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (stateStarting):
+# Indicates that the download is starting.
+stateStarting=Започване…
+# LOCALIZATION NOTE (stateFailed):
+# Indicates that the download failed because of an error.
+stateFailed=Неуспешно
+# LOCALIZATION NOTE (statePaused):
+# Indicates that the download was paused by the user.
+statePaused=На пауза
+# LOCALIZATION NOTE (stateCanceled):
+# Indicates that the download was canceled by the user.
+stateCanceled=Прекъснато
+# LOCALIZATION NOTE (stateCompleted):
+# Indicates that the download was completed.
+stateCompleted=Завършено
+# LOCALIZATION NOTE (stateBlockedParentalControls):
+# Indicates that the download was blocked by the Parental Controls feature of
+# Windows. "Parental Controls" should be consistently named and capitalized
+# with the display of this feature in Windows. The following article can
+# provide a reference for the translation of "Parental Controls" in various
+# languages:
+# http://windows.microsoft.com/en-US/windows-vista/Set-up-Parental-Controls
+stateBlockedParentalControls=Блокирано от родителски контрол
+# LOCALIZATION NOTE (blockedMalware, blockedPotentiallyUnwanted,
+# blockedUncommon2):
+# These strings are shown in the panel for some types of blocked downloads. You
+# may need to adjust "downloads.width" in "downloads.dtd" if this turns out to
+# be longer than the other existing status strings.
+blockedMalware=Файлът съдържа вирус или зловреден код.
+blockedPotentiallyUnwanted=Файлът може да навреди на компютъра.
+blockedPotentiallyInsecure=Файлът не е изтеглен: Вероятен риск за сигурността.
+blockedUncommon2=Такива файлове обикновено не се предлагат за изтегляне.
+
+# LOCALIZATION NOTE (fileMovedOrMissing):
+# Displayed when a complete download which is not at the original folder.
+fileMovedOrMissing=Файлът е преместен или липсва
+
+# LOCALIZATION NOTE (unblockHeaderUnblock, unblockHeaderOpen,
+# unblockTypeMalware, unblockTypePotentiallyUnwanted2,
+# unblockTypeUncommon2, unblockTip2, unblockButtonOpen,
+# unblockButtonUnblock, unblockButtonConfirmBlock, unblockInsecure):
+# These strings are displayed in the dialog shown when the user asks a blocked
+# download to be unblocked. The severity of the threat is expressed in
+# descending order by the unblockType strings, it is higher for files detected
+# as malware and lower for uncommon downloads.
+unblockHeaderUnblock=Сигурни ли сте, че желаете да разрешите това изтегляне?
+unblockHeaderOpen=Сигурни ли сте, че искате да отворите този файл?
+unblockTypeMalware=Този файл съдържа вирус или шпионски софтуер, който може да навреди на компютъра.
+unblockTypePotentiallyUnwanted2=Този файл, маскиран като полезно приложение, ще направи неочаквани промени в програмите и настройките.
+unblockTypeUncommon2=Такива файлове обикновено не се предлагат за изтегляне и е възможно да са опасни. Може да съдържат вирус или да направят промени на програмите и настройките ви.
+unblockTip2=Може да потърсите алтернативен източник или да го изтеглите отново.
+unblockButtonOpen=Отваряне
+unblockButtonUnblock=Разрешаване на изтеглянето
+unblockButtonConfirmBlock=Премахване
+
+# LOCALIZATION NOTE (sizeWithUnits):
+# %1$S is replaced with the size number, and %2$S with the measurement unit.
+sizeWithUnits=%1$S %2$S
+sizeUnknown=Неизвестен размер
+
+# LOCALIZATION NOTE (statusSeparator, statusSeparatorBeforeNumber):
+# These strings define templates for the separation of different elements in the
+# status line of a download item. As a separator, by default we use the Unicode
+# character U+2014 'EM DASH' (long dash). Examples of status lines include
+# "Canceled - 222.net", "1.1 MB - website2.com", or "Paused - 1.1 MB". Note
+# that we use a wider space after the separator when it is followed by a number,
+# just to avoid visually confusing it with with a minus sign with some fonts.
+# If you use a different separator, this might not be necessary. However, there
+# is usually no need to change the separator or the order of the substitutions,
+# even for right-to-left languages, unless the defaults are not suitable.
+statusSeparator=%1$S \u2014 %2$S
+statusSeparatorBeforeNumber=%1$S – %2$S
+
diff --git a/l10n-bg/browser/chrome/browser/feeds/subscribe.properties b/l10n-bg/browser/chrome/browser/feeds/subscribe.properties
new file mode 100644
index 0000000000..32b0abd93e
--- /dev/null
+++ b/l10n-bg/browser/chrome/browser/feeds/subscribe.properties
@@ -0,0 +1,10 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (addProtocolHandlerMessage):
+# Message displayed when adding a protocol handler:
+# %1$S is the application's domain, %2$S is the type of protocol
+addProtocolHandlerMessage=Добавяне на „%1$S“ като приложение за препратки към %2$S?
+addProtocolHandlerAddButton=Добавяне на приложение
+addProtocolHandlerAddButtonAccesskey=ж
diff --git a/l10n-bg/browser/chrome/browser/places/bookmarkProperties.properties b/l10n-bg/browser/chrome/browser/places/bookmarkProperties.properties
new file mode 100644
index 0000000000..415ab031b9
--- /dev/null
+++ b/l10n-bg/browser/chrome/browser/places/bookmarkProperties.properties
@@ -0,0 +1,16 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+dialogAcceptLabelAddItem=Добавяне
+dialogAcceptLabelSaveItem=Запазване
+dialogAcceptLabelAddMulti=Добавяне на отметки
+dialogAcceptLabelEdit=Запазване
+dialogTitleAddBookmark=Нова отметка
+dialogTitleAddFolder=Нова папка
+dialogTitleAddMulti=Нови отметки
+dialogTitleEdit=Свойства на „%S“
+
+bookmarkAllTabsDefault=[Име на папка]
+newFolderDefault=Нова папка
+newBookmarkDefault=Нова отметка
diff --git a/l10n-bg/browser/chrome/browser/safebrowsing/safebrowsing.properties b/l10n-bg/browser/chrome/browser/safebrowsing/safebrowsing.properties
new file mode 100644
index 0000000000..b7c3ad2b5d
--- /dev/null
+++ b/l10n-bg/browser/chrome/browser/safebrowsing/safebrowsing.properties
@@ -0,0 +1,6 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+errorReportFalseDeceptiveTitle=Това не е измамническа страница
+errorReportFalseDeceptiveMessage=В момента е невъзможно да докладвате за тази грешка.
diff --git a/l10n-bg/browser/chrome/browser/search.properties b/l10n-bg/browser/chrome/browser/search.properties
new file mode 100644
index 0000000000..ace0fb0b9d
--- /dev/null
+++ b/l10n-bg/browser/chrome/browser/search.properties
@@ -0,0 +1,32 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+searchtip=Търсете с %S
+
+# LOCALIZATION NOTE (searchHeader): this is displayed at the top of the panel
+# showing search suggestions.
+# %S is replaced with the name of the current default search engine.
+searchHeader=Търсене с %S
+
+# LOCALIZATION NOTE (cmd_pasteAndSearch): "Search" is a verb, this is the
+# search bar equivalent to the url bar's "Paste and Go"
+cmd_pasteAndSearch=Поставяне и търсене
+
+cmd_clearHistory=Изчистване историята на търсенето
+cmd_clearHistory_accesskey=И
+
+# LOCALIZATION NOTE (searchForSomethingWith2):
+# This string is used to build the header above the list of search shortcuts,
+# for example "Search for <user-typed string> with:"
+searchForSomethingWith2=Търсене на %S с:
+
+# LOCALIZATION NOTE (searchWithHeader):
+# The wording of this string should be as close as possible to
+# searchForSomethingWith2. This string will be used when the user
+# has not typed anything.
+searchWithHeader=Търсене с:
+
+# LOCALIZATION NOTE (searchSettings):
+# This is the label for the button that opens Search preferences.
+searchSettings=Настройки на търсене
diff --git a/l10n-bg/browser/chrome/browser/shellservice.properties b/l10n-bg/browser/chrome/browser/shellservice.properties
new file mode 100644
index 0000000000..cd2708f9a7
--- /dev/null
+++ b/l10n-bg/browser/chrome/browser/shellservice.properties
@@ -0,0 +1,16 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (setDefaultBrowserTitle, setDefaultBrowserMessage, setDefaultBrowserDontAsk, setDefaultBrowserAlertConfirm.label, setDefaultBrowserAlertNotNow.label):
+# These strings are used as an alternative to the ones above, in a modal dialog.
+# %S will be replaced by brandShortName
+setDefaultBrowserTitle=Стандартен четец
+setDefaultBrowserMessage=В момента %S не е стандартният четец. Бихте ли желали да го направите такъв?
+setDefaultBrowserDontAsk=Тази проверка винаги да бъде извършвана при стартиране на %S.
+setDefaultBrowserAlertConfirm.label=Използване на %S като стандартен четец
+setDefaultBrowserAlertNotNow.label=Не сега
+
+desktopBackgroundLeafNameWin=Desktop Background.bmp
+DesktopBackgroundDownloading=Запазване на изображение…
+DesktopBackgroundSet=Задаване като фон на работния плот
diff --git a/l10n-bg/browser/chrome/browser/siteData.properties b/l10n-bg/browser/chrome/browser/siteData.properties
new file mode 100644
index 0000000000..13f6037eb1
--- /dev/null
+++ b/l10n-bg/browser/chrome/browser/siteData.properties
@@ -0,0 +1,8 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+clearSiteDataPromptTitle=Изчистване на бисквитките и данните на страницата
+# LOCALIZATION NOTE (clearSiteDataPromptText): %S = brandShortName
+clearSiteDataPromptText=Избирайки „Изчистване“, ще бъдат изтрити всички бисквитки и данни на страниците, запазени от %S. Така може да се наложи да се впишете отново в някои страници и ще бъде премахнато цялото съдържание за използване извън мрежа.
+clearSiteDataNow=Изчистване
diff --git a/l10n-bg/browser/chrome/browser/sitePermissions.properties b/l10n-bg/browser/chrome/browser/sitePermissions.properties
new file mode 100644
index 0000000000..19828ba587
--- /dev/null
+++ b/l10n-bg/browser/chrome/browser/sitePermissions.properties
@@ -0,0 +1,49 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (state.current.allowed,
+# state.current.allowedForSession,
+# state.current.allowedTemporarily,
+# state.current.blockedTemporarily,
+# state.current.blocked,
+# state.current.hide):
+# This label is used to display active permission states in the site
+# identity popup (which does not have a lot of screen space).
+state.current.allowed = Разрешено
+state.current.allowedForSession = Разрешено за сесията
+state.current.allowedTemporarily = Временно разрешено
+state.current.blockedTemporarily = Временно забранено
+state.current.blocked = Забранено
+state.current.prompt = Винаги да пита
+
+# LOCALIZATION NOTE (state.multichoice.alwaysAsk,
+# state.multichoice.allow,
+# state.multichoice.allowForSession,
+# state.multichoice.block):
+# Used to label permission state checkboxes in the page info dialog.
+state.multichoice.alwaysAsk = Винаги да пита
+state.multichoice.allow = Разрешаване
+state.multichoice.allowForSession = Разрешаване за сесията
+state.multichoice.block = Забраняване
+
+state.multichoice.autoplayblock = Без звук
+state.multichoice.autoplayblockall = Без звук и видео
+state.multichoice.autoplayallow = Разрешаване на звук и видео
+
+permission.autoplay.label = Автоматично възпроизвеждане
+permission.cookie.label = Запазване на бисквитки
+permission.desktop-notification3.label = Изпращане на ивестия
+permission.camera.label = Използване на камерата
+permission.microphone.label = Използване на микрофона
+permission.screen.label = Споделяне на екрана
+permission.install.label = Инсталиране на добавки
+permission.popup.label = Отваряне на изскачащи прозорци
+permission.geo.label = Достъп до местоположението
+permission.xr.label = Достъп до устройства за виртуална реалност
+permission.shortcuts.label = Замяна на клавишни комбинации
+permission.focus-tab-by-prompt.label = Превключване към раздела
+permission.persistent-storage.label = Използване на хранилището за постоянни данни
+permission.canvas.label = Достъп до елемента на canvas
+permission.midi.label = Достъп устройства MIDI
+permission.midi-sysex.label = Достъп до устройства MIDI с поддръжка на SysEx
diff --git a/l10n-bg/browser/chrome/browser/syncSetup.properties b/l10n-bg/browser/chrome/browser/syncSetup.properties
new file mode 100644
index 0000000000..4613e6715e
--- /dev/null
+++ b/l10n-bg/browser/chrome/browser/syncSetup.properties
@@ -0,0 +1,14 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Several other strings are used (via Weave.Status.login), but they come from
+# /services/sync
+
+# Firefox Accounts based setup.
+continue.label = Продължаване
+
+relinkVerify.title = Предупреждение за сливане
+relinkVerify.heading = Сигурни ли сте, че искате да се впишете в Sync?
+# LOCALIZATION NOTE (relinkVerify.description): Email address of a user previously signed into sync.
+relinkVerify.description = Друг потребител вече се е вписвал в Sync от този компютър. Ако се впишете сега отметките, паролите и другите настройки на четеца от този компютър ще бъдат слети с %S
diff --git a/l10n-bg/browser/chrome/browser/taskbar.properties b/l10n-bg/browser/chrome/browser/taskbar.properties
new file mode 100644
index 0000000000..6516964c61
--- /dev/null
+++ b/l10n-bg/browser/chrome/browser/taskbar.properties
@@ -0,0 +1,12 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+taskbar.tasks.newTab.label=Отваряне на раздел
+taskbar.tasks.newTab.description=Отваряне на нов раздел в четеца.
+taskbar.tasks.newWindow.label=Отваряне на нов прозорец
+taskbar.tasks.newWindow.description=Отваряне на нов прозорец на четеца.
+taskbar.tasks.newPrivateWindow.label=Поверителен прозорец
+taskbar.tasks.newPrivateWindow.description=Отваряне на нов прозорец в режим на поверително разглеждане.
+taskbar.frequent.label=Чести
+taskbar.recent.label=Последни
diff --git a/l10n-bg/browser/chrome/browser/uiDensity.properties b/l10n-bg/browser/chrome/browser/uiDensity.properties
new file mode 100644
index 0000000000..1a37687c64
--- /dev/null
+++ b/l10n-bg/browser/chrome/browser/uiDensity.properties
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+uiDensity.menuitem-touch.acceltext=Таблетен режим включен
diff --git a/l10n-bg/browser/chrome/overrides/appstrings.properties b/l10n-bg/browser/chrome/overrides/appstrings.properties
new file mode 100644
index 0000000000..0368bafad9
--- /dev/null
+++ b/l10n-bg/browser/chrome/overrides/appstrings.properties
@@ -0,0 +1,44 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+malformedURI2=Уверете се, че адресът е верен и пробвайте отново.
+fileNotFound=Firefox не може да намери файла %S.
+fileAccessDenied=Файлът в %S няма права за четене.
+dnsNotFound2=Няма връзка със сървъра на „%S“.
+unknownProtocolFound=Firefox не знае как да отвори този адрес, защото един от следните протоколи (%S) не е свързан с никоя програма или не е позволен в този контекст.
+connectionFailure=Firefox не може да установи връзка с %S.
+netInterrupt=Връзката с %S беше прекъсната по време на зареждането на страницата.
+netTimeout=Сървърът %S просрочи зададеното време за отговор.
+redirectLoop=Firefox установи, че сървърът пренасочва заявките към този адрес по начин, който никога не може да завърши.
+## LOCALIZATION NOTE (confirmRepostPrompt): In this item, don’t translate "%S"
+confirmRepostPrompt=За да видите страницата, %S трябва да повтори действието (напр. търсене или поръчка по Интернет).
+resendButton.label=Повторно изпращане
+unknownSocketType=Firefox не знае как да общува със сървъра.
+netReset=Връзката със сървъра е прекъсната докато страницата зарежда.
+notCached=Този документ вече не е наличен.
+netOffline=В момента Firefox работи в режим „Работа извън мрежата“ и разглеждането на Интернет е невъзможно.
+isprinting=Документът не може да бъде променян, докато се отпечатва или се преглежда за печат.
+deniedPortAccess=Този адрес използва мрежов порт, който обикновено се използва за цели, различни от разглеждане. За да ви защити Firefox прекъсна заявката.
+proxyResolveFailure=Firefox е настроен да използва мрежов посредник, който не може да бъде намерен.
+proxyConnectFailure=Firefox е настроен да използва мрежов посредник, който отказва връзката.
+contentEncodingError=Страницата не може да бъде показана, защото използва невалиден или неподдържан вид компресия.
+unsafeContentType=Страницата, която се опитвате да отворите, не може да бъде показана, защото се съдържа във файлов тип, който може би не е безопасно да отваряте. Моля, уведомете собствениците на страницата за проблема.
+externalProtocolTitle=Заявка към външен протокол
+externalProtocolPrompt=Трябва да бъде отворено външно приложение за обработка на %1$S: връзки.\n\n\nЗаявена връзка:\n\n%2$S\n\nПриложение: %3$S\n\n\nАко не сте очаквали тази заявка, това може да е опит за пробив в другата програма. Откажете заявката, освен ако не сте сигурни, че не е злонамерена.\n
+#LOCALIZATION NOTE (externalProtocolUnknown): The following string is shown if the application name can't be determined
+externalProtocolUnknown=<Неизвестен>
+externalProtocolChkMsg=Запомняне на избора за всички връзки от този вид.
+externalProtocolLaunchBtn=Отваряне на приложението
+malwareBlocked=Страницата %S е докладвана като враждебна и е блокирана спрямо вашите настройки за безопасност.
+harmfulBlocked=Страницата %S е докладвана като потенциално зловредна и е блокирана спрямо вашите настройки за безопасност.
+unwantedBlocked=Страницата %S е докладвана за сервиране на нежелан софтуер и е блокирана спрямо вашите настройки за безопасност.
+deceptiveBlocked=Страницата %S е докладвана като измамническа и е блокирана спрямо вашите настройки за безопасност.
+cspBlocked=Тази страница е с политика за сигурност, която възпрепятства да бъде вградена по този начин.
+xfoBlocked=Тази страница има политика на X-Frame-Options, която не позволява да се зареди в този контекст.
+corruptedContentErrorv2=При зареждане на страницата %S се получи нарушение на мрежовия протокол и комуникацията не може да бъде възстановена.
+## LOCALIZATION NOTE (sslv3Used) - Do not translate "%S".
+sslv3Used=Firefox не може да гарантира безопасност на данните ви в %S, защото използва счупения SSLv3 протокол.
+inadequateSecurityError=Сайтът се опита да договори неадекватно ниво на сигурност.
+blockedByPolicy=Достъпът до тази страница е ограничен от вашата организация.
+networkProtocolError=Firefox се натъкна на нарушение на мрежовия протокол и комуникацията не може да бъде възстановена.
diff --git a/l10n-bg/browser/crashreporter/crashreporter-override.ini b/l10n-bg/browser/crashreporter/crashreporter-override.ini
new file mode 100644
index 0000000000..11f889bd14
--- /dev/null
+++ b/l10n-bg/browser/crashreporter/crashreporter-override.ini
@@ -0,0 +1,9 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# This file is in the UTF-8 encoding
+[Strings]
+# LOCALIZATION NOTE (CrashReporterProductErrorText2): The %s is replaced with a string containing detailed information.
+CrashReporterProductErrorText2=Firefox се срина. Ще бъде направен опит за възстановяване на разделите при следващото стартиране.\n\nЗа съжаление не е възможно изпращане на доклад за това.\n\nПодробности: %s
+CrashReporterDescriptionText2=Firefox се срина. Ще бъде направен опит за възстановяване на разделите при следващото стартиране.\n\nЗа да ни помогнете да определим и отстраним проблема, можете да ни изпратите доклад за срива.
diff --git a/l10n-bg/browser/defaultagent/defaultagent_localized.ini b/l10n-bg/browser/defaultagent/defaultagent_localized.ini
new file mode 100644
index 0000000000..d1a7f5d0c0
--- /dev/null
+++ b/l10n-bg/browser/defaultagent/defaultagent_localized.ini
@@ -0,0 +1,12 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# This file is in the UTF-8 encoding
+[Strings]
+DefaultBrowserAgentTaskDescription=Услугата „Default Browser Agent“ проверява дали четецът по подразбиране %MOZ_APP_DISPLAYNAME% ще бъде заменен от друг. Ако това се случи при подозрителни обстоятелства, най-много два пъти ще бъде изведено запитване към потребителя дали да върне %MOZ_APP_DISPLAYNAME% като подразбиран четец. Услугата се инсталира автоматично от %MOZ_APP_DISPLAYNAME% и се инсталира всеки път при обновяването му. За да я изключите променете настройката „default-browser-agent.enabled“ в страницата на about:config или чрез ведомственото ограничение „DisableDefaultBrowserAgent“ на четеца.
+
+DefaultBrowserNotificationTitle=Изберете %MOZ_APP_DISPLAYNAME% за четец по подразбиране
+DefaultBrowserNotificationText=%MOZ_APP_DISPLAYNAME% вече не е четецът по подразбиране. Да бъде ли избран за четец по подразбиране?
+DefaultBrowserNotificationYesButtonText=Да
+DefaultBrowserNotificationNoButtonText=Не
diff --git a/l10n-bg/browser/extensions/formautofill/formautofill.properties b/l10n-bg/browser/extensions/formautofill/formautofill.properties
new file mode 100644
index 0000000000..d9574d8532
--- /dev/null
+++ b/l10n-bg/browser/extensions/formautofill/formautofill.properties
@@ -0,0 +1,109 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (autofillOptionsLink, autofillOptionsLinkOSX): These strings are used in the doorhanger for
+# updating addresses. The link leads users to Form Autofill browser preferences.
+autofillOptionsLink = Настройки за попълване на формуляри
+autofillOptionsLinkOSX = Настройки за попълване на формуляри
+# LOCALIZATION NOTE (changeAutofillOptions, changeAutofillOptionsOSX): These strings are used on the doorhanger
+# that notifies users that addresses are saved. The button leads users to Form Autofill browser preferences.
+changeAutofillOptions = Промяна на настройките за попълване на формуляри
+changeAutofillOptionsOSX = Промяна на настройките за попълване на формуляри
+changeAutofillOptionsAccessKey = н
+# LOCALIZATION NOTE (addressesSyncCheckbox): If Sync is enabled, this checkbox is displayed on the doorhanger
+# shown when saving addresses.
+addressesSyncCheckbox = Споделяне на адресите със синхронизираните устройства
+# LOCALIZATION NOTE (creditCardsSyncCheckbox): If Sync is enabled and credit card sync is available,
+# this checkbox is displayed on the doorhanger shown when saving credit card.
+creditCardsSyncCheckbox = Споделяне на банковите карти със синхронизираните устройства
+
+# LOCALIZATION NOTE (saveAddressesMessage): %S is brandShortName. This string is used on the doorhanger to
+# notify users that addresses are saved.
+saveAddressesMessage = %S вече запазва адреси, за да попълвате формуляри по-бързо.
+# LOCALIZATION NOTE (updateAddressMessage, updateAddressDescriptionLabel, createAddressLabel, updateAddressLabel):
+# Used on the doorhanger when an address change is detected.
+updateAddressMessage = Желаете ли обновяване на адреса с тази информация?
+createAddressLabel = Създаване на нов адрес
+createAddressAccessKey = с
+updateAddressLabel = Обновяване на адреса
+updateAddressAccessKey = о
+# LOCALIZATION NOTE (saveCreditCardMessage, saveCreditCardDescriptionLabel, saveCreditCardLabel, cancelCreditCardLabel, neverSaveCreditCardLabel):
+# Used on the doorhanger when users submit payment with credit card.
+# LOCALIZATION NOTE (saveCreditCardMessage): %S is brandShortName.
+saveCreditCardMessage = Желаете ли номера на банковата карта да бъде запазен от %S? (Кодът за защита няма да бъде запазен)
+saveCreditCardDescriptionLabel = Запазване на номер на банкова карта:
+saveCreditCardLabel = Запазване
+saveCreditCardAccessKey = з
+cancelCreditCardLabel = Отказ
+cancelCreditCardAccessKey = о
+neverSaveCreditCardLabel = Номера на банкови карти да не бъдат запазвани
+neverSaveCreditCardAccessKey = н
+# LOCALIZATION NOTE (updateCreditCardMessage, updateCreditCardDescriptionLabel, createCreditCardLabel, updateCreditCardLabel):
+# Used on the doorhanger when an credit card change is detected.
+updateCreditCardMessage = Желаете ли обновяване на банковата карта с тази информация?
+updateCreditCardDescriptionLabel = Обновяване на карта:
+createCreditCardLabel = Нова банкова карта
+createCreditCardAccessKey = н
+updateCreditCardLabel = Промяна
+updateCreditCardAccessKey = п
+# LOCALIZATION NOTE (openAutofillMessagePanel): Tooltip label for Form Autofill doorhanger icon on address bar.
+openAutofillMessagePanel = Отваряне на панела за попълване на адреси
+
+# LOCALIZATION NOTE (autocompleteFooterOption2):
+# Used as a label for the button, displayed at the bottom of the dropdown suggestion, to open Form Autofill browser preferences.
+# LOCALIZATION NOTE (autocompleteFooterOptionOSX2):
+# Used as a label for the button, displayed at the bottom of the dropdown suggestion, to open Form Autofill browser preferences.
+# LOCALIZATION NOTE (autocompleteFooterOptionShort2):
+# Used as a label for the button, displayed at the bottom of the dropdown suggestion, to open Form Autofill browser preferences.
+# The short version is used for inputs below a certain width (e.g. 150px).
+# LOCALIZATION NOTE (autocompleteFooterOptionOSXShort2):
+# Used as a label for the button, displayed at the bottom of the dropdown suggestion, to open Form Autofill browser preferences.
+# The short version is used for inputs below a certain width (e.g. 150px).
+# LOCALIZATION NOTE (category.address, category.name, category.organization2, category.tel, category.email):
+# Used in autofill drop down suggestion to indicate what other categories Form Autofill will attempt to fill.
+category.address = адрес
+category.name = имена
+category.organization2 = организация
+category.tel = телефон
+category.email = ел. адрес
+# LOCALIZATION NOTE (fieldNameSeparator): This is used as a separator between categories.
+fieldNameSeparator = ,\u0020
+# LOCALIZATION NOTE (phishingWarningMessage, phishingWarningMessage2): The warning
+# text that is displayed for informing users what categories are about to be filled.
+# "%S" will be replaced with a list generated from the pre-defined categories.
+# The text would be e.g. Also autofills organization, phone, email.
+phishingWarningMessage = Също попълва %S
+phishingWarningMessage2 = Попълва %S
+# LOCALIZATION NOTE (insecureFieldWarningDescription): %S is brandShortName. This string is used in drop down
+# suggestion when users try to autofill credit card on an insecure website (without https).
+insecureFieldWarningDescription = Според %S страницата е незащитена. Автоматичното попълване на формуляри е изключено
+# LOCALIZATION NOTE (clearFormBtnLabel2): Label for the button in the dropdown menu that used to clear the populated
+# form.
+clearFormBtnLabel2 = Изчистване на попълнения формуляр
+
+autofillHeader = Автоматично попълване на формуляри
+# LOCALIZATION NOTE (autofillAddressesCheckbox): Label for the checkbox that enables autofilling addresses.
+autofillAddressesCheckbox = Автоматично попълване на адреси
+# LOCALIZATION NOTE (learnMoreLabel): Label for the link that leads users to the Form Autofill SUMO page.
+learnMoreLabel = Научете повече
+# LOCALIZATION NOTE (savedAddressesBtnLabel): Label for the button that opens a dialog that shows the
+# list of saved addresses.
+savedAddressesBtnLabel = Запазени адреси…
+# LOCALIZATION NOTE (autofillCreditCardsCheckbox): Label for the checkbox that enables autofilling credit cards.
+autofillCreditCardsCheckbox = Автоматично попълване на банкови карти
+# LOCALIZATION NOTE (savedCreditCardsBtnLabel): Label for the button that opens a dialog that shows the list
+# of saved credit cards.
+savedCreditCardsBtnLabel = Запазени банкови карти…
+
+
+# LOCALIZATION NOTE (autofillReauthOSDialogMac): This string is
+# preceded by the operating system (macOS) with "Firefox is trying to ", and
+# has a period added to its end. Make sure to test in your locale.
+
+useCreditCardPasswordPrompt.win = %S се опитва да направи видими данни за банкова карта. Потвърдете достъпа до този профил на Windows по-долу.
+# LOCALIZATION NOTE (useCreditCardPasswordPrompt.macos): This string is
+# preceded by the operating system (macOS) with "Firefox is trying to ", and
+# has a period added to its end. Make sure to test in your locale.
+useCreditCardPasswordPrompt.macos = използва запазена информация за банкова карта
+useCreditCardPasswordPrompt.linux = %S се опитва да използва запазени данни за банкова карта.
diff --git a/l10n-bg/browser/extensions/report-site-issue/webcompat.properties b/l10n-bg/browser/extensions/report-site-issue/webcompat.properties
new file mode 100644
index 0000000000..251bdb58e9
--- /dev/null
+++ b/l10n-bg/browser/extensions/report-site-issue/webcompat.properties
@@ -0,0 +1,10 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE(wc-reporter.label2): This string will be used in the
+# Firefox page actions menu. Localized length should be considered.
+wc-reporter.label2=Докладване на проблем със страницата…
+# LOCALIZATION NOTE(wc-reporter.tooltip): A site compatibility issue is
+# a website bug that exists in one browser (Firefox), but not another.
+wc-reporter.tooltip=Докладване на проблем със съвместимостта на страницата
diff --git a/l10n-bg/browser/firefox-l10n.js b/l10n-bg/browser/firefox-l10n.js
new file mode 100644
index 0000000000..b410ad9aef
--- /dev/null
+++ b/l10n-bg/browser/firefox-l10n.js
@@ -0,0 +1,6 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#filter substitution
+
diff --git a/l10n-bg/browser/installer/custom.properties b/l10n-bg/browser/installer/custom.properties
new file mode 100644
index 0000000000..3d69839b60
--- /dev/null
+++ b/l10n-bg/browser/installer/custom.properties
@@ -0,0 +1,87 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE:
+
+# This file must be saved as UTF8
+
+# Accesskeys are defined by prefixing the letter that is to be used for the
+# accesskey with an ampersand (e.g. &).
+
+# Do not replace $BrandShortName, $BrandFullName, or $BrandFullNameDA with a
+# custom string and always use the same one as used by the en-US files.
+# $BrandFullNameDA allows the string to contain an ampersand (e.g. DA stands
+# for double ampersand) and prevents the letter following the ampersand from
+# being used as an accesskey.
+
+# You can use \n to create a newline in the string but only when the string
+# from en-US contains a \n.
+
+REG_APP_DESC=С $BrandShortName може да разглеждате безопасно и лесно. Познатият потребителски интерфейс, подобрените възможности за сигурност, включително защита от кражба на самоличността и интегрираното търсене, ви помагат да извлечете максимална полза от Интернет.
+CONTEXT_OPTIONS=&Настройки на $BrandShortName
+CONTEXT_SAFE_MODE=$BrandShortName в &Надежден режим
+OPTIONS_PAGE_TITLE=Вид инсталация
+OPTIONS_PAGE_SUBTITLE=Избор на вида на инсталацията
+SHORTCUTS_PAGE_TITLE=Настройка на клавишни комбинации
+SHORTCUTS_PAGE_SUBTITLE=Добавяне на пиктограми за програмата
+COMPONENTS_PAGE_TITLE=Настройване на допълнителни компоненти
+COMPONENTS_PAGE_SUBTITLE=Допълнителни препоръчвани компоненти
+OPTIONAL_COMPONENTS_DESC=Услугата за поддръжка ще обновява $BrandShortName във фонов режим.
+MAINTENANCE_SERVICE_CHECKBOX_DESC=Инсталиране на &услуга за поддръжка
+SUMMARY_PAGE_TITLE=Обобщение
+SUMMARY_PAGE_SUBTITLE=Готови сте за инсталиране на $BrandShortName
+SUMMARY_INSTALLED_TO=$BrandShortName ще бъде инсталиран тук:
+SUMMARY_REBOOT_REQUIRED_INSTALL=Вероятно ще трябва да рестартирате компютъра си, за да завърши инсталирането.
+SUMMARY_REBOOT_REQUIRED_UNINSTALL=Вероятно ще трябва да рестартирате компютъра си, за да завърши премахването.
+SUMMARY_TAKE_DEFAULTS=&Избиране на $BrandShortName за стандартен четец
+SUMMARY_INSTALL_CLICK=Натиснете „Инсталиране“, за да продължите.
+SUMMARY_UPGRADE_CLICK=Натиснете „Обновяване“, за да продължите.
+SURVEY_TEXT=&Споделете с нас какво мислите за $BrandShortName
+LAUNCH_TEXT=&Стартиране на $BrandShortName
+CREATE_ICONS_DESC=Добавяне на пиктограми за $BrandShortName:
+ICONS_DESKTOP=На &плота
+ICONS_STARTMENU=В папка „Програми“ на менюто „&Старт“
+WARN_MANUALLY_CLOSE_APP_INSTALL=За да продължите с инсталацията, трябва да затворите $BrandShortName.\n\nМоля, затворете $BrandShortName, за да продължите.
+WARN_MANUALLY_CLOSE_APP_UNINSTALL=За да продължите с премахването, трябва да затворите $BrandShortName.\n\nМоля, затворете $BrandShortName, за да продължите.
+WARN_WRITE_ACCESS=Недостатъчни права за писане в целевата папката.\n\nНатиснете „OK“ и изберете друга.
+WARN_DISK_SPACE=Няма достатъчно свободно дисково пространство за инсталация на това място.\n\nНатиснете „OK“ и изберете друго.
+WARN_MIN_SUPPORTED_OSVER_MSG=За съжаление, $BrandShortName не може да бъде инсталиран. Това издание на $BrandShortName изисква ${MinSupportedVer} или по-нова. Моля, щракнете на бутона Добре за повече информация.
+WARN_MIN_SUPPORTED_CPU_MSG=За съжаление, $BrandShortName не може да бъде инсталиран. Това издание на $BrandShortName изисква процесор с поддръжка на ${MinSupportedCPU}. Моля, щракнете на бутона Добре за повече информация.
+WARN_MIN_SUPPORTED_OSVER_CPU_MSG=За съжаление, $BrandShortName не може да бъде инсталиран. Тази версия на $BrandShortName изисква ${MinSupportedVer} или процесор с поддръжка на ${MinSupportedCPU}. Моля, щракнете на бутона Добре за повече информация.
+WARN_RESTART_REQUIRED_UNINSTALL=Компютърът трябва да бъде рестартиран, за да завърши вече започнат процес по премахване на $BrandShortName. Желаете ли компютърът да бъде рестартиран сега?
+WARN_RESTART_REQUIRED_UPGRADE=Трябва да рестартирате компютъра, за да завърши предишното обновяване на $BrandShortName. Искате ли да рестартирате сега?
+ERROR_CREATE_DIRECTORY_PREFIX=Грешка при създаване на директория:
+ERROR_CREATE_DIRECTORY_SUFFIX=Натиснете „Отказ“, за да спрете инсталирането\nили „Повторен опит“, за нов опит.
+
+UN_CONFIRM_PAGE_TITLE=Премахване на $BrandFullName
+UN_CONFIRM_PAGE_SUBTITLE=Премахване на $BrandFullName от компютъра.
+UN_CONFIRM_UNINSTALLED_FROM=Премахване на $BrandShortName от:
+UN_CONFIRM_CLICK=За да продължите, натиснете „Премахване“.
+
+UN_REFRESH_LEARN_MORE=Научете &повече
+
+BANNER_CHECK_EXISTING=Проверка на съществуващата инсталация…
+
+STATUS_INSTALL_APP=Инсталиране на $BrandShortName…
+STATUS_INSTALL_LANG=Инсталиране на езикови файлове (${AB_CD})…
+STATUS_UNINSTALL_MAIN=Премахване на $BrandShortName…
+STATUS_CLEANUP=Почистване…
+
+UN_SURVEY_CHECKBOX_LABEL=Разкажете на Mozilla защо премахвате $BrandShortName
+
+# _DESC strings support approximately 65 characters per line.
+# One line
+OPTIONS_SUMMARY=Изберете вида на инсталация и натиснете бутона „Напред“.
+# One line
+OPTION_STANDARD_DESC=$BrandShortName ще бъде инсталиран с най-често използваните настройки.
+OPTION_STANDARD_RADIO=&Стандартна
+# Two lines
+OPTION_CUSTOM_DESC=Инсталиране на отделни компоненти. Препоръчително за напреднали потребители.
+OPTION_CUSTOM_RADIO=&Потребителска
+
+# LOCALIZATION NOTE:
+# The following text replaces the Install button text on the summary page.
+# Verify that the access key for InstallBtn (in override.properties) and
+# UPGRADE_BUTTON is not already used by SUMMARY_TAKE_DEFAULTS.
+UPGRADE_BUTTON=&Обновяване
diff --git a/l10n-bg/browser/installer/mui.properties b/l10n-bg/browser/installer/mui.properties
new file mode 100644
index 0000000000..c0b89ecf90
--- /dev/null
+++ b/l10n-bg/browser/installer/mui.properties
@@ -0,0 +1,61 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# To make the l10n tinderboxen see changes to this file you can change a value
+# name by adding - to the end of the name followed by chars (e.g. Branding-2).
+
+# LOCALIZATION NOTE:
+
+# This file must be saved as UTF8
+
+# Accesskeys are defined by prefixing the letter that is to be used for the
+# accesskey with an ampersand (e.g. &).
+
+# Do not replace $BrandShortName, $BrandFullName, or $BrandFullNameDA with a
+# custom string and always use the same one as used by the en-US files.
+# $BrandFullNameDA allows the string to contain an ampersand (e.g. DA stands
+# for double ampersand) and prevents the letter following the ampersand from
+# being used as an accesskey.
+
+# You can use \n to create a newline in the string but only when the string
+# from en-US contains a \n.
+
+MUI_TEXT_WELCOME_INFO_TITLE=Добре дошли в помощника за инсталиране на $BrandFullNameDA
+MUI_TEXT_WELCOME_INFO_TEXT=Този помощник ще ви напътства при инсталирането на $BrandFullNameDA.\n\nПрепоръчително е да затворите всички други програми. Това ще направи възможно обновяването на съответните системни файлове без да е необходимо рестартиране на компютъра.\n\n$_CLICK
+MUI_TEXT_COMPONENTS_TITLE=Избиране на компоненти
+MUI_TEXT_COMPONENTS_SUBTITLE=Изберете кои възможности на $BrandFullNameDA да бъдат инсталирани.
+MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE=Описание
+MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO=Поставете мишката върху компонента, за да видите описанието му.
+MUI_TEXT_DIRECTORY_TITLE=Избиране на местоположение
+MUI_TEXT_DIRECTORY_SUBTITLE=Изберете папката, в която да бъде инсталиран $BrandFullNameDA.
+MUI_TEXT_INSTALLING_TITLE=Инсталиране
+MUI_TEXT_INSTALLING_SUBTITLE=Моля, изчакайте докато $BrandFullNameDA се инсталира.
+MUI_TEXT_FINISH_TITLE=Инсталирането завърши
+MUI_TEXT_FINISH_SUBTITLE=Инсталирането завърши успешно.
+MUI_TEXT_ABORT_TITLE=Инсталирането е прекъснато
+MUI_TEXT_ABORT_SUBTITLE=Инсталирането е неуспешно.
+MUI_BUTTONTEXT_FINISH=&Завършване
+MUI_TEXT_FINISH_INFO_TITLE=Завършване инсталирането на $BrandFullNameDA
+MUI_TEXT_FINISH_INFO_TEXT=Програмата $BrandFullNameDA е инсталирана на компютъра.\n\nНатиснете „Завършване“, за да затворите помощника.
+MUI_TEXT_FINISH_INFO_REBOOT=Компютър трябва да бъде рестартиран, за да завърши инсталацията на $BrandFullNameDA. Желаете ли компютърът да бъде рестартиран сега?
+MUI_TEXT_FINISH_REBOOTNOW=Рестартиране
+MUI_TEXT_FINISH_REBOOTLATER=Ще рестартирам по-късно
+MUI_TEXT_STARTMENU_TITLE=Избиране на папка в менюто „Старт“
+MUI_TEXT_STARTMENU_SUBTITLE=Изберете къде в менюто да се появят преките пътища към $BrandFullNameDA.
+MUI_INNERTEXT_STARTMENU_TOP=Изберете папка в менюто „Старт“, в която искате да бъдат преките пътища към програмата. Може и да създадете нова папка.
+MUI_TEXT_ABORTWARNING=Сигурни ли сте, че искате да прекъснете инсталирането на $BrandFullName?
+MUI_UNTEXT_WELCOME_INFO_TITLE=Добре дошли в помощника за премахване на $BrandFullNameDA
+MUI_UNTEXT_WELCOME_INFO_TEXT=Този помощник ще ви напътства при премахването на $BrandFullNameDA.\n\nПреди да започнете, се уверете че $BrandFullNameDA не е стартиран.\n\n$_CLICK
+MUI_UNTEXT_CONFIRM_TITLE=Премахване на $BrandFullNameDA
+MUI_UNTEXT_CONFIRM_SUBTITLE=Премахване на $BrandFullNameDA от компютъра.
+MUI_UNTEXT_UNINSTALLING_TITLE=Премахване
+MUI_UNTEXT_UNINSTALLING_SUBTITLE=Моля, изчакайте докато $BrandFullNameDA бъде деинсталиран.
+MUI_UNTEXT_FINISH_TITLE=Премахването е завършено
+MUI_UNTEXT_FINISH_SUBTITLE=Премахването завърши успешно.
+MUI_UNTEXT_ABORT_TITLE=Премахването е прекъснато
+MUI_UNTEXT_ABORT_SUBTITLE=Премахването е неуспешно.
+MUI_UNTEXT_FINISH_INFO_TITLE=Завършване премахването на $BrandFullNameDA
+MUI_UNTEXT_FINISH_INFO_TEXT=$BrandFullNameDA е премахнат.\n\nНатиснете „Завършване“, за да затворите помощника.
+MUI_UNTEXT_FINISH_INFO_REBOOT=За да завърши инсталирането на $BrandFullNameDA, компютърът трябва да бъде рестартиран. Искате ли да го направите сега?
+MUI_UNTEXT_ABORTWARNING=Сигурни ли сте, че искате да спрете премахването на $BrandFullName?
diff --git a/l10n-bg/browser/installer/nsisstrings.properties b/l10n-bg/browser/installer/nsisstrings.properties
new file mode 100644
index 0000000000..0c17bbbe4f
--- /dev/null
+++ b/l10n-bg/browser/installer/nsisstrings.properties
@@ -0,0 +1,49 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE:
+
+# This file must be saved as UTF8
+
+# Accesskeys are defined by prefixing the letter that is to be used for the
+# accesskey with an ampersand (e.g. &).
+
+# Do not replace $BrandShortName, $BrandProductName, $BrandFullName,
+# or $BrandFullNameDA with a custom string and always use the same one as used
+# by the en-US files.
+# $BrandFullNameDA allows the string to contain an ampersand (e.g. DA stands
+# for double ampersand) and prevents the letter following the ampersand from
+# being used as an accesskey.
+
+# You can use \n to create a newline in the string but only when the string
+# from en-US contains a \n.
+
+INSTALLER_WIN_CAPTION=Инсталатор на $BrandShortName
+
+STUB_CLEANUP_PAVEOVER_HEADER2=$BrandShortName е вече инсталиран. Нека го обновим.
+STUB_CLEANUP_REINSTALL_HEADER2=$BrandShortName е инсталиран и преди. Нека ви дадем с нов екземпляр.
+
+STUB_CLEANUP_PAVEOVER_BUTTON2=Обновяване
+STUB_CLEANUP_REINSTALL_BUTTON2=Преинсталиране
+STUB_CLEANUP_CHECKBOX_LABEL2=Възстановяване на настройките и премахване на остарелите добавки за оптимална производителност
+
+STUB_INSTALLING_LABEL2=Инсталиране…
+STUB_INSTALLING_BODY2=$BrandShortName ще бъде готов след секунди.
+STUB_BLURB_FIRST1=Най-бързият и отзивчив $BrandShortName досега
+STUB_BLURB_SECOND1=По-бързо зареждане на страниците и смяна на разделите
+STUB_BLURB_THIRD1=Мощно поверително разглеждане
+STUB_BLURB_FOOTER2=Изработен за хората, не за изгода
+
+WARN_MIN_SUPPORTED_OSVER_MSG=За съжаление, $BrandShortName не може да бъде инсталиран. Това издание на $BrandShortName изисква ${MinSupportedVer} или по-нова. Моля, щракнете на бутона Добре за повече информация.
+WARN_MIN_SUPPORTED_CPU_MSG=За съжаление, $BrandShortName не може да бъде инсталиран. Това издание на $BrandShortName изисква процесор с поддръжка на ${MinSupportedCPU}. Моля, щракнете на бутона Добре за повече информация.
+WARN_MIN_SUPPORTED_OSVER_CPU_MSG=За съжаление, $BrandShortName не може да бъде инсталиран. Тази версия на $BrandShortName изисква ${MinSupportedVer} или процесор с поддръжка на ${MinSupportedCPU}. Моля, щракнете на бутона Добре за повече информация.
+WARN_WRITE_ACCESS_QUIT=Няма права за писане в избраната папка
+WARN_DISK_SPACE_QUIT=Няма достатъчно дисково пространство.
+
+ERROR_DOWNLOAD_CONT=Хм. По някаква причина инсталация на $BrandShortName. не може да бъде извършена.\nНатиснете Добре и опитайте отново.
+
+STUB_CANCEL_PROMPT_HEADING=Желаете ли $BrandShortName да бъде инсталиран?
+STUB_CANCEL_PROMPT_MESSAGE=Ако откажете $BrandShortName няма да бъде инсталиран.
+STUB_CANCEL_PROMPT_BUTTON_CONTINUE=Инсталиране на $BrandShortName
+STUB_CANCEL_PROMPT_BUTTON_EXIT=Отказ
diff --git a/l10n-bg/browser/installer/override.properties b/l10n-bg/browser/installer/override.properties
new file mode 100644
index 0000000000..08cc445954
--- /dev/null
+++ b/l10n-bg/browser/installer/override.properties
@@ -0,0 +1,86 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE:
+
+# This file must be saved as UTF8
+
+# Accesskeys are defined by prefixing the letter that is to be used for the
+# accesskey with an ampersand (e.g. &).
+
+# Do not replace $BrandShortName, $BrandFullName, or $BrandFullNameDA with a
+# custom string and always use the same one as used by the en-US files.
+# $BrandFullNameDA allows the string to contain an ampersand (e.g. DA stands
+# for double ampersand) and prevents the letter following the ampersand from
+# being used as an accesskey.
+
+# You can use \n to create a newline in the string but only when the string
+# from en-US contains a \n.
+
+# Strings that require a space at the end should be enclosed with double
+# quotes and the double quotes will be removed. To add quotes to the beginning
+# and end of a strong enclose the add and additional double quote to the
+# beginning and end of the string (e.g. ""This will include quotes"").
+
+SetupCaption=Инсталиране на $BrandFullName
+UninstallCaption=Премахване на $BrandFullName
+BackBtn=< На&зад
+NextBtn=На&пред >
+AcceptBtn=&Приемам условията на лицензното споразумение
+DontAcceptBtn=&Не приемам условията на лицензното споразумение
+InstallBtn=&Инсталиране
+UninstallBtn=&Премахване
+CancelBtn=Отказ
+CloseBtn=&Затваряне
+BrowseBtn=&Разглеждане…
+ShowDetailsBtn=&Подробности
+ClickNext=Натиснете „Напред“, за да продължите.
+ClickInstall=Натиснете „Инсталиране“, за да започне инсталацията.
+ClickUninstall=Натиснете „Премахване“, за да започне премахването.
+Completed=Завършване
+LicenseTextRB=Моля, прегледайте лицензното споразумение преди инсталиране на $BrandFullNameDA. Ако приемате всички условия, изберете първата възможност. $_CLICK
+ComponentsText=Отметнете компонентите, които искате да бъдат инсталирани и съответно махнете отметката от компонентите, които не желаете. $_CLICK
+ComponentsSubText2_NoInstTypes="Изберете компоненти за инсталиране: "
+DirText=Помощникът ще инсталира $BrandFullNameDA в следната папка. Ако желаете да бъде другаде, натиснете „Разглеждане“ и изберете мястото. $_CLICK
+DirSubText=Целева папка
+DirBrowseText=Изберете къде приложението $BrandFullNameDA да бъде инсталирано:
+SpaceAvailable="Свободно пространство: "
+SpaceRequired="Необходимо пространство: "
+UninstallingText=Премахване на $BrandFullNameDA от следната папка. $_CLICK
+UninstallingSubText="Премахване от: "
+FileError=Грешка при отваряне на файл за запис:\n\n$0\n\nНатиснете „Прекъсване“ за прекъсване на инсталацията,\n„Повторен опит“ за нов опит или\n„Пренебрегване“ за пропускане на файла.
+FileError_NoIgnore=Грешка при отваряне на файла за запис:\n\n$0\n\nНатиснете „Повторен опит“ или\n„Отказ“ за прекъсване на инсталацията.
+CantWrite="Запазването е невъзможно: "
+CopyFailed=Грешка при копиране
+CopyTo="Копиране в "
+Registering="Регистриране: "
+Unregistering="Премахване на регистрация: "
+SymbolNotFound="Не може да бъде намерен символ: "
+CouldNotLoad="Не може да бъде зареден: "
+CreateFolder="Създаване на папка: "
+CreateShortcut="Създаване на пряк път: "
+CreatedUninstaller="Създаден деинсталатор: "
+Delete="Изтриване на файл: "
+DeleteOnReboot="Изтриване при рестартиране: "
+ErrorCreatingShortcut="Грешка при създаване на пряк път: "
+ErrorCreating="Грешка при създаване: "
+ErrorDecompressing=Грешка при разкомпресиране на данни! Развален инсталатор?
+ErrorRegistering=Грешка при регистриране на DLL
+ExecShell="ExecShell: "
+Exec="Изпълнение: "
+Extract="Разопаковане: "
+ErrorWriting="Разопаковане: грешка при запазване на файла "
+InvalidOpcode=Инсталаторът е развален: невалиден opcode
+NoOLE="Няма OLE за: "
+OutputFolder="Изходна папка: "
+RemoveFolder="Премахване на папка: "
+RenameOnReboot="Преименуване при рестартиране: "
+Rename="Преименуване: "
+Skipped="Пропускане: "
+CopyDetails=Копиране на подробностите в системния буфер
+LogInstall=Журнал на инсталационния процес
+Byte=Б
+Kilo=К
+Mega=М
+Giga=Г
diff --git a/l10n-bg/browser/langpack-metadata.ftl b/l10n-bg/browser/langpack-metadata.ftl
new file mode 100644
index 0000000000..ac30fead0e
--- /dev/null
+++ b/l10n-bg/browser/langpack-metadata.ftl
@@ -0,0 +1,13 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Strings used to define the metadata of langpacks published on addons.mozilla.org.
+## Only text elements and literals are supported for these strings.
+
+langpack-creator = mozilla.bg
+
+# To credit multiple contributors, use a comma-delimited list.
+# Example: Joe Solon, Suzy Solon
+langpack-contributors = Огнян Кулев, Митко Митев, Златко Попов, Милен Иванов, Стоян Димитров
diff --git a/l10n-bg/browser/pdfviewer/chrome.properties b/l10n-bg/browser/pdfviewer/chrome.properties
new file mode 100644
index 0000000000..596bbb21b3
--- /dev/null
+++ b/l10n-bg/browser/pdfviewer/chrome.properties
@@ -0,0 +1,20 @@
+# Copyright 2012 Mozilla Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Chrome notification bar messages and buttons
+unsupported_feature=Този документ на PDF може да бъде изобразен неправилно.
+unsupported_feature_forms=Този документ PDF съдържа формуляри. Попълването на полета на формуляри не се поддържа.
+unsupported_feature_signatures=Този документ на PDF съдържа цифрови подписи. Валидирането на подписи не се поддържа.
+open_with_different_viewer=Отваряне с друга програма
+open_with_different_viewer.accessKey=О
diff --git a/l10n-bg/browser/pdfviewer/viewer.properties b/l10n-bg/browser/pdfviewer/viewer.properties
new file mode 100644
index 0000000000..1dde358e3d
--- /dev/null
+++ b/l10n-bg/browser/pdfviewer/viewer.properties
@@ -0,0 +1,214 @@
+# Copyright 2012 Mozilla Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Main toolbar buttons (tooltips and alt text for images)
+previous.title=Предишна страница
+previous_label=Предишна
+next.title=Следваща страница
+next_label=Следваща
+
+# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
+page.title=Страница
+# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
+# representing the total number of pages in the document.
+of_pages=от {{pagesCount}}
+# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
+# will be replaced by a number representing the currently visible page,
+# respectively a number representing the total number of pages in the document.
+page_of_pages=({{pageNumber}} от {{pagesCount}})
+
+zoom_out.title=Намаляване
+zoom_out_label=Намаляване
+zoom_in.title=Увеличаване
+zoom_in_label=Увеличаване
+zoom.title=Мащабиране
+presentation_mode.title=Превключване към режим на представяне
+presentation_mode_label=Режим на представяне
+open_file.title=Отваряне на файл
+open_file_label=Отваряне
+print.title=Отпечатване
+print_label=Отпечатване
+
+# Secondary toolbar and context menu
+tools.title=Инструменти
+tools_label=Инструменти
+first_page.title=Към първата страница
+first_page_label=Към първата страница
+last_page.title=Към последната страница
+last_page_label=Към последната страница
+page_rotate_cw.title=Завъртане по час. стрелка
+page_rotate_cw_label=Завъртане по часовниковата стрелка
+page_rotate_ccw.title=Завъртане обратно на час. стрелка
+page_rotate_ccw_label=Завъртане обратно на часовниковата стрелка
+
+cursor_text_select_tool.title=Включване на инструмента за избор на текст
+cursor_text_select_tool_label=Инструмент за избор на текст
+cursor_hand_tool.title=Включване на инструмента ръка
+cursor_hand_tool_label=Инструмент ръка
+
+scroll_vertical.title=Използване на вертикално плъзгане
+scroll_vertical_label=Вертикално плъзгане
+scroll_horizontal.title=Използване на хоризонтално
+scroll_horizontal_label=Хоризонтално плъзгане
+scroll_wrapped.title=Използване на мащабируемо плъзгане
+scroll_wrapped_label=Мащабируемо плъзгане
+
+spread_none.title=Режимът на сдвояване е изключен
+spread_none_label=Без сдвояване
+spread_odd.title=Сдвояване, започвайки от нечетните страници
+spread_odd_label=Нечетните отляво
+spread_even.title=Сдвояване, започвайки от четните страници
+spread_even_label=Четните отляво
+
+# Document properties dialog box
+document_properties.title=Свойства на документа…
+document_properties_label=Свойства на документа…
+document_properties_file_name=Име на файл:
+document_properties_file_size=Големина на файл:
+# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
+# will be replaced by the PDF file size in kilobytes, respectively in bytes.
+document_properties_kb={{size_kb}} КБ ({{size_b}} байта)
+# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
+# will be replaced by the PDF file size in megabytes, respectively in bytes.
+document_properties_mb={{size_mb}} МБ ({{size_b}} байта)
+document_properties_title=Заглавие:
+document_properties_author=Автор:
+document_properties_subject=Тема:
+document_properties_keywords=Ключови думи:
+document_properties_creation_date=Дата на създаване:
+document_properties_modification_date=Дата на промяна:
+# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
+# will be replaced by the creation/modification date, and time, of the PDF file.
+document_properties_date_string={{date}}, {{time}}
+document_properties_creator=Създател:
+document_properties_producer=PDF произведен от:
+document_properties_version=Издание на PDF:
+document_properties_page_count=Брой страници:
+document_properties_page_size=Размер на страницата:
+document_properties_page_size_unit_inches=инч
+document_properties_page_size_unit_millimeters=мм
+document_properties_page_size_orientation_portrait=портрет
+document_properties_page_size_orientation_landscape=пейзаж
+document_properties_page_size_name_a3=A3
+document_properties_page_size_name_a4=A4
+document_properties_page_size_name_letter=Letter
+document_properties_page_size_name_legal=Правни въпроси
+# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
+# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
+# the size, respectively their unit of measurement and orientation, of the (current) page.
+document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
+# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
+# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
+# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
+document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
+# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
+# the document; usually called "Fast Web View" in English locales of Adobe software.
+document_properties_linearized=Бърз преглед:
+document_properties_linearized_yes=Да
+document_properties_linearized_no=Не
+document_properties_close=Затваряне
+
+print_progress_message=Подготвяне на документа за отпечатване…
+# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
+# a numerical per cent value.
+print_progress_percent={{progress}}%
+print_progress_close=Отказ
+
+# Tooltips and alt text for side panel toolbar buttons
+# (the _label strings are alt text for the buttons, the .title strings are
+# tooltips)
+toggle_sidebar.title=Превключване на страничната лента
+toggle_sidebar_label=Превключване на страничната лента
+document_outline.title=Показване на структурата на документа (двукратно щракване за свиване/разгъване на всичко)
+document_outline_label=Структура на документа
+attachments.title=Показване на притурките
+attachments_label=Притурки
+thumbs.title=Показване на миниатюрите
+thumbs_label=Миниатюри
+findbar.title=Намиране в документа
+findbar_label=Търсене
+
+# Thumbnails panel item (tooltip and alt text for images)
+# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
+# number.
+thumb_page_title=Страница {{page}}
+# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
+# number.
+thumb_page_canvas=Миниатюра на страница {{page}}
+
+# Find panel button title and messages
+find_input.title=Търсене
+find_input.placeholder=Търсене в документа…
+find_previous.title=Намиране на предишно съвпадение на фразата
+find_previous_label=Предишна
+find_next.title=Намиране на следващо съвпадение на фразата
+find_next_label=Следваща
+find_highlight=Открояване на всички
+find_match_case_label=Съвпадение на регистъра
+find_entire_word_label=Цели думи
+find_reached_top=Достигнато е началото на документа, продължаване от края
+find_reached_bottom=Достигнат е краят на документа, продължаване от началото
+# LOCALIZATION NOTE (find_match_count): The supported plural forms are
+# [one|two|few|many|other], with [other] as the default value.
+# "{{current}}" and "{{total}}" will be replaced by a number representing the
+# index of the currently active find result, respectively a number representing
+# the total number of matches in the document.
+find_match_count={[ plural(total) ]}
+find_match_count[one]={{current}} от {{total}} съвпадение
+find_match_count[two]={{current}} от {{total}} съвпадения
+find_match_count[few]={{current}} от {{total}} съвпадения
+find_match_count[many]={{current}} от {{total}} съвпадения
+find_match_count[other]={{current}} от {{total}} съвпадения
+# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
+# [zero|one|two|few|many|other], with [other] as the default value.
+# "{{limit}}" will be replaced by a numerical value.
+find_match_count_limit={[ plural(limit) ]}
+find_match_count_limit[zero]=Повече от {{limit}} съвпадения
+find_match_count_limit[one]=Повече от {{limit}} съвпадение
+find_match_count_limit[two]=Повече от {{limit}} съвпадения
+find_match_count_limit[few]=Повече от {{limit}} съвпадения
+find_match_count_limit[many]=Повече от {{limit}} съвпадения
+find_match_count_limit[other]=Повече от {{limit}} съвпадения
+find_not_found=Фразата не е намерена
+
+# Predefined zoom values
+page_scale_width=Ширина на страницата
+page_scale_fit=Вместване в страницата
+page_scale_auto=Автоматично мащабиране
+page_scale_actual=Действителен размер
+# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
+# numerical scale value.
+page_scale_percent={{scale}}%
+
+loading_error=Получи се грешка при зареждане на PDF-а.
+invalid_file_error=Невалиден или повреден PDF файл.
+missing_file_error=Липсващ PDF файл.
+unexpected_response_error=Неочакван отговор от сървъра.
+
+rendering_error=Грешка при изчертаване на страницата.
+
+# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
+# "{{type}}" will be replaced with an annotation type from a list defined in
+# the PDF spec (32000-1:2008 Table 169 – Annotation types).
+# Some common types are e.g.: "Check", "Text", "Comment", "Note"
+text_annotation_type.alt=[Анотация {{type}}]
+password_label=Въведете парола за отваряне на този PDF файл.
+password_invalid=Невалидна парола. Моля, опитайте отново.
+password_ok=Добре
+password_cancel=Отказ
+
+printing_not_supported=Внимание: Този четец няма пълна поддръжка на отпечатване.
+printing_not_ready=Внимание: Този PDF файл не е напълно зареден за печат.
+web_fonts_disabled=Уеб-шрифтовете са забранени: разрешаване на използването на вградените PDF шрифтове.
+
diff --git a/l10n-bg/browser/updater/updater.ini b/l10n-bg/browser/updater/updater.ini
new file mode 100644
index 0000000000..8b7dd2a552
--- /dev/null
+++ b/l10n-bg/browser/updater/updater.ini
@@ -0,0 +1,9 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# This file is in the UTF-8 encoding
+[Strings]
+TitleText=Обновяване на %MOZ_APP_DISPLAYNAME%
+InfoText=%MOZ_APP_DISPLAYNAME% се обновява, ще отнеме минута…
+MozillaMaintenanceDescription=Услугата за поддръжка на Mozilla осигурява последната и най-безопасна версия на Mozilla Firefox за вашия компютър. Поддържането на текуща версия е много важно за вашата безопасност в Интернет пространството и Mozilla силно препоръчва да оставяте тази услуга включена.
diff --git a/l10n-bg/devtools/client/aboutdebugging.ftl b/l10n-bg/devtools/client/aboutdebugging.ftl
new file mode 100644
index 0000000000..f93f209f3b
--- /dev/null
+++ b/l10n-bg/devtools/client/aboutdebugging.ftl
@@ -0,0 +1,274 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### These strings are used inside the about:debugging UI.
+
+
+# Page Title strings
+
+# Page title (ie tab title) for the Setup page
+about-debugging-page-title-setup-page = Отстраняване на грешки - Настройка
+
+# Sidebar strings
+
+# Display name of the runtime for the currently running instance of Firefox. Used in the
+# Sidebar and in the Setup page.
+about-debugging-this-firefox-runtime-name = Този { -brand-shorter-name }
+
+# Sidebar heading for selecting the currently running instance of Firefox
+about-debugging-sidebar-this-firefox =
+ .name = { about-debugging-this-firefox-runtime-name }
+
+# Sidebar heading for connecting to some remote source
+about-debugging-sidebar-setup =
+ .name = Настройки
+
+# Text displayed in the about:debugging sidebar when USB devices discovery is enabled.
+about-debugging-sidebar-usb-enabled = USB е активирано
+
+# Text displayed in the about:debugging sidebar when USB devices discovery is disabled
+# (for instance because the mandatory ADB extension is not installed).
+about-debugging-sidebar-usb-disabled = USB е забранено
+
+# Connection status (connected) for runtime items in the sidebar
+aboutdebugging-sidebar-runtime-connection-status-connected = Свързано
+# Connection status (disconnected) for runtime items in the sidebar
+aboutdebugging-sidebar-runtime-connection-status-disconnected = Прекъсната връзка
+
+# Text displayed in the about:debugging sidebar when no device was found.
+about-debugging-sidebar-no-devices = Не са открити устройства
+
+# Text displayed in buttons found in sidebar items representing remote runtimes.
+# Clicking on the button will attempt to connect to the runtime.
+about-debugging-sidebar-item-connect-button = Свързване
+
+# Text displayed in buttons found in sidebar items when the runtime is connecting.
+about-debugging-sidebar-item-connect-button-connecting = Свързване…
+
+# Text displayed in buttons found in sidebar items when the connection failed.
+about-debugging-sidebar-item-connect-button-connection-failed = Свързването се провали
+
+# Text displayed in connection warning on sidebar item of the runtime when connecting to
+# the runtime is taking too much time.
+about-debugging-sidebar-item-connect-button-connection-not-responding = Връзката все още е на изчакване, проверете за съобщения в целевия браузър
+
+# Text displayed as connection error in sidebar item when the connection has timed out.
+about-debugging-sidebar-item-connect-button-connection-timeout = Изтече времето за свързване
+
+# Text displayed in sidebar items for remote devices where a compatible browser (eg
+# Firefox) has not been detected yet. Typically, Android phones connected via USB with
+# USB debugging enabled, but where Firefox is not started.
+about-debugging-sidebar-runtime-item-waiting-for-browser = Очакване на четец…
+
+# Text displayed in sidebar items for remote devices that have been disconnected from the
+# computer.
+about-debugging-sidebar-runtime-item-unplugged = Изключен
+
+# Title for runtime sidebar items that are related to a specific device (USB, WiFi).
+about-debugging-sidebar-runtime-item-name =
+ .title = { $displayName } ({ $deviceName })
+# Title for runtime sidebar items where we cannot get device information (network
+# locations).
+about-debugging-sidebar-runtime-item-name-no-device =
+ .title = { $displayName }
+
+# Text displayed in a sidebar button to refresh the list of USB devices. Clicking on it
+# will attempt to update the list of devices displayed in the sidebar.
+about-debugging-refresh-usb-devices-button = Опресняване на устройства
+
+# Setup Page strings
+
+# Title of the Setup page.
+about-debugging-setup-title = Настройки
+
+# Title of the heading Connect section of the Setup page.
+about-debugging-setup-connect-heading = Свържете устройство
+
+# USB section of the Setup page
+about-debugging-setup-usb-title = USB
+
+# Text of the button displayed in the USB section of the setup page when USB debugging is disabled.
+# Clicking on it will download components needed to debug USB Devices remotely.
+about-debugging-setup-usb-enable-button = Разрешаване на устройства по USB
+
+# Text of the button displayed in the USB section of the setup page when USB debugging is enabled.
+about-debugging-setup-usb-disable-button = Забраняване на устройства по USB
+
+# Text of the button displayed in the USB section of the setup page while USB debugging
+# components are downloaded and installed.
+about-debugging-setup-usb-updating-button = Обновяване...
+
+# USB section of the Setup page (USB status)
+about-debugging-setup-usb-status-enabled = Разрешено
+about-debugging-setup-usb-status-disabled = Забранено
+about-debugging-setup-usb-status-updating = Обновяване...
+
+# USB section step by step guide
+about-debugging-setup-usb-step-plug-device = Свържете устройството с Android към компютъра.
+
+# Text shown in the USB section of the setup page with a link to troubleshoot connection errors.
+# The link goes to https://firefox-source-docs.mozilla.org/devtools-user/about_colon_debugging/index.html#connecting-to-a-remote-device
+about-debugging-setup-usb-troubleshoot = Имате проблеми при свързване към устройство през USB? <a>Отстраняване на неизправности</a>
+
+# Network section of the Setup page
+about-debugging-setup-network =
+ .title = Местоположение в мрежата
+
+# Text of a button displayed after the network locations "Host" input.
+# Clicking on it will add the new network location to the list.
+about-debugging-network-locations-add-button = Добавяне
+
+# Text to display when there are no locations to show.
+about-debugging-network-locations-empty-text = Все още не са добавени мрежови местоположения.
+
+# Text of the label for the text input that allows users to add new network locations in
+# the Connect page. A host is a hostname and a port separated by a colon, as suggested by
+# the input's placeholder "localhost:6080".
+about-debugging-network-locations-host-input-label = Хост
+
+# Text of a button displayed next to existing network locations in the Connect page.
+# Clicking on it removes the network location from the list.
+about-debugging-network-locations-remove-button = Премахване
+
+# Runtime Page strings
+
+# Below are the titles for the various categories of debug targets that can be found
+# on "runtime" pages of about:debugging.
+# Title of the temporary extensions category (only available for "This Firefox" runtime).
+about-debugging-runtime-temporary-extensions =
+ .name = Временни разширения
+# Title of the extensions category.
+about-debugging-runtime-extensions =
+ .name = Разширения
+# Title of the tabs category.
+about-debugging-runtime-tabs =
+ .name = Раздели
+# Title of the service workers category.
+about-debugging-runtime-service-workers =
+ .name = Обслужващи процеси
+# Title of the shared workers category.
+about-debugging-runtime-shared-workers =
+ .name = Споделени процеси
+# Title of the other workers category.
+about-debugging-runtime-other-workers =
+ .name = Други процеси
+# Title of the processes category.
+about-debugging-runtime-processes =
+ .name = Процеси
+
+# This string is displayed in the runtime page if the current configuration of the
+# target runtime is incompatible with service workers. "Learn more" points to:
+# https://firefox-source-docs.mozilla.org/devtools-user/about_colon_debugging/index.html#service-workers-not-compatible
+about-debugging-runtime-service-workers-not-compatible = Настройките на вашия браузър са несъвместими със сервизните обслужващи процеси. <a>Научете повече</a>
+
+# This string is displayed in the runtime page if the remote browser version is too old.
+# "Troubleshooting" link points to https://firefox-source-docs.mozilla.org/devtools-user/about_colon_debugging/
+# { $runtimeVersion } is the version of the remote browser (for instance "67.0a1")
+# { $minVersion } is the minimum version that is compatible with the current Firefox instance (same format)
+about-debugging-browser-version-too-old = Свързаният браузър е стара версия ({ $runtimeVersion }). Минимално поддържаната версия е ({ $minVersion }). Настройките по-долу не се поддържат и могат да доведат до неуспех на DevTools. Моля, актуализирайте свързания браузър. <a>Отстраняване</a>
+
+# Displayed for runtime info in runtime pages.
+# { $name } is brand name such as "Firefox Nightly"
+# { $version } is version such as "64.0a1"
+about-debugging-runtime-name = { $name } ({ $version })
+
+# Text of a button displayed in Runtime pages for remote runtimes.
+# Clicking on the button will close the connection to the runtime.
+about-debugging-runtime-disconnect-button = Прекъсване на връзката
+
+# Debug Targets strings
+
+# Displayed in the categories of "runtime" pages that don't have any debug target to
+# show. Debug targets depend on the category (extensions, tabs, workers...).
+about-debugging-debug-target-list-empty = Все още нищо.
+
+# Text of a button displayed next to debug targets of "runtime" pages. Clicking on this
+# button will open a DevTools toolbox that will allow inspecting the target.
+# A target can be an addon, a tab, a worker...
+about-debugging-debug-target-inspect-button = Инспектиране
+
+# Text of a button displayed in the "This Firefox" page, in the Temporary Extension
+# section. Clicking on the button will open a file picker to load a temporary extension
+about-debugging-tmp-extension-install-button = Зареждане на временна добавка…
+
+# Text displayed when trying to install a temporary extension in the "This Firefox" page.
+about-debugging-tmp-extension-install-error = Грешка при инсталиране на временната добавка.
+
+# Text of a button displayed for a temporary extension loaded in the "This Firefox" page.
+# Clicking on the button will reload the extension.
+about-debugging-tmp-extension-reload-button = Презареждане
+
+# Text of a button displayed for a temporary extension loaded in the "This Firefox" page.
+# Clicking on the button will uninstall the extension and remove it from the page.
+about-debugging-tmp-extension-remove-button = Премахване
+
+# Message displayed in the file picker that opens to select a temporary extension to load
+# (triggered by the button using "about-debugging-tmp-extension-install-button")
+# manifest.json .xpi and .zip should not be localized.
+# Note: this message is only displayed in Windows and Linux platforms.
+about-debugging-tmp-extension-install-message = Изберете файл manifest.json или архив на .xpi/.zip
+
+# This string is displayed as a message about the add-on having a temporaryID.
+about-debugging-tmp-extension-temporary-id = Това WebExtension има временен идентификатор. <a>Научете повече</a>
+
+# Text displayed for extensions in "runtime" pages, before displaying a link the extension's
+# manifest URL.
+about-debugging-extension-manifest-url =
+ .label = Адрес на манифест
+
+# Text displayed for extensions in "runtime" pages, before displaying the extension's uuid.
+# UUIDs look like b293e463-481e-5148-a487-5aaf7a130429
+about-debugging-extension-uuid =
+ .label = Вътрешен UUID
+
+# Text displayed for extensions (temporary extensions only) in "runtime" pages, before
+# displaying the location of the temporary extension.
+about-debugging-extension-location =
+ .label = Местоположение
+
+# Text displayed for extensions in "runtime" pages, before displaying the extension's ID.
+# For instance "geckoprofiler@mozilla.com" or "{ed26ddcb-5611-4512-a89a-51b8db81cfb2}".
+about-debugging-extension-id =
+ .label = Идентификатор
+
+# This string is displayed as a label of the button that starts a service worker.
+about-debugging-worker-action-start2 = Старт
+ .disabledTitle = Стартирането на service workers временно е забранено за мултипроцеси { -brand-shorter-name }
+
+# Displayed for service workers in runtime pages that are currently running (service
+# worker instance is active).
+about-debugging-worker-status-running = Работещ
+
+# Displayed for service workers in runtime pages that are registered but stopped.
+about-debugging-worker-status-stopped = Спрян
+
+# Displayed for service workers in runtime pages that are registering.
+about-debugging-worker-status-registering = Регистриране
+
+# Displayed for service workers in runtime pages, to label the scope of a worker
+about-debugging-worker-scope =
+ .label = Обхват
+
+# Displayed for service workers in runtime pages, to label the push service endpoint (url)
+# of a worker
+about-debugging-worker-push-service =
+ .label = Услуга на Push
+
+# Displayed as title of the inspect button for zombie tabs (e.g. tabs loaded via a session restore).
+about-debugging-zombie-tab-inspect-action-disabled =
+ .title = Разделът не е напълно зареден и не може да бъде проверен
+
+# Alt text used for the close icon of message component (warnings, errors and notifications).
+about-debugging-message-close-icon =
+ .alt = Затваряне на съобщението
+
+# Label text used for the error details of message component.
+about-debugging-message-details-label-error = Подробности за грешка
+
+# Label text used for the warning details of message component.
+about-debugging-message-details-label-warning = Подробности за предупреждение
+
+# Label text used for default state of details of message component.
+about-debugging-message-details-label = Подробности
diff --git a/l10n-bg/devtools/client/accessibility.ftl b/l10n-bg/devtools/client/accessibility.ftl
new file mode 100644
index 0000000000..b928337908
--- /dev/null
+++ b/l10n-bg/devtools/client/accessibility.ftl
@@ -0,0 +1,58 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### These strings are used inside the Accessibility panel.
+
+accessibility-learn-more = Научете повече
+
+accessibility-text-label-header = Текстови етикети и имена
+
+accessibility-keyboard-header = Клавиатура
+
+## Text entries that are used as text alternative for icons that depict accessibility isses.
+
+
+## These strings are used in the overlay displayed when running an audit in the accessibility panel
+
+accessibility-progress-initializing = Инициализиране…
+ .aria-valuetext = Инициализиране…
+
+# This string is displayed in the audit progress bar in the accessibility panel.
+# Variables:
+# $nodeCount (Integer) - The number of nodes for which the audit was run so far.
+accessibility-progress-progressbar =
+ { $nodeCount ->
+ [one] Проверяване на { $nodeCount } възел
+ *[other] Проверяване на { $nodeCount } възела
+ }
+
+accessibility-progress-finishing = Завършване…
+ .aria-valuetext = Завършване…
+
+## Text entries that are used as text alternative for icons that depict accessibility issues.
+
+accessibility-warning =
+ .alt = Предупреждение
+
+accessibility-fail =
+ .alt = Грешка
+
+accessibility-best-practices =
+ .alt = Добри практики
+
+## Text entries for a paragraph used in the accessibility panel sidebar's checks section
+## that describe that currently selected accessible object has an accessibility issue
+## with its text label or accessible name.
+
+accessibility-text-label-issue-dialog = Диалозите трябва да имат етикет. <a>Научете повече</a>
+
+accessibility-text-label-issue-image = Съдържанието с изображения трябва да има етикет. <a>Научете повече</a>
+
+accessibility-text-label-issue-interactive = Интерактивните елементи трябва да имат етикет. <a>Научете повече</a>
+
+## Text entries for a paragraph used in the accessibility panel sidebar's checks section
+## that describe that currently selected accessible object has a keyboard accessibility
+## issue.
+
diff --git a/l10n-bg/devtools/client/accessibility.properties b/l10n-bg/devtools/client/accessibility.properties
new file mode 100644
index 0000000000..4e3cf46106
--- /dev/null
+++ b/l10n-bg/devtools/client/accessibility.properties
@@ -0,0 +1,291 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Accessibility panel
+# which is available from the Web Developer sub-menu -> 'Accessibility'.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE These strings are used inside the Accessibility panel
+# which is in the Developer Tools, available in the
+# Browser Tools sub-menu -> 'Web Developer Tools'
+#
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (accessibility.role): A title text used for Accessibility
+# tree header column that represents accessible element role.
+accessibility.role=Роля
+
+# LOCALIZATION NOTE (accessibility.name): A title text used for Accessibility
+# tree header column that represents accessible element name.
+accessibility.name=Наименование
+
+# LOCALIZATION NOTE (accessibility.logo): A title text used for Accessibility
+# logo used on the accessibility panel landing page.
+accessibility.logo=Логотип на достъпност
+
+# LOCALIZATION NOTE (accessibility.properties): A title text used for header
+# for Accessibility details sidebar.
+accessibility.properties=Свойства
+
+# LOCALIZATION NOTE (accessibility.treeName): A title text used for
+# Accessibility tree (that represents accessible element name) container.
+accessibility.treeName=Дърво на достъпност
+
+# LOCALIZATION NOTE (accessibility.accessible.notAvailable): A title text
+# displayed when accessible sidebar panel does not have an accessible object to
+# display.
+accessibility.accessible.notAvailable=Няма информация са достъпността
+
+# LOCALIZATION NOTE (accessibility.enable): A title text for Enable
+# accessibility button used to enable accessibility service.
+accessibility.enable=Включване
+
+# LOCALIZATION NOTE (accessibility.enabling): A title text for Enable
+# accessibility button used when accessibility service is being enabled.
+accessibility.enabling=Включване…
+
+# LOCALIZATION NOTE (accessibility.disable): A title text for Disable
+# accessibility button used to disable accessibility service.
+accessibility.disable=Изключване на Достъпност
+
+# LOCALIZATION NOTE (accessibility.disabling): A title text for Disable
+# accessibility button used when accessibility service is being
+# disabled.
+accessibility.disabling=Изключване…
+
+# LOCALIZATION NOTE (accessibility.pick): A title text for Picker button
+# button used to pick accessible objects from the page.
+accessibility.pick=Избиране на елемент по достъпността от страницата
+
+# LOCALIZATION NOTE (accessibility.disable.disabledTitle): A title text used for
+# a tooltip for Disable accessibility button when accessibility service can not
+# be disabled. It is the case when a user is using a 3rd party accessibility
+# tool such as screen reader.
+accessibility.disable.disabledTitle=Услугата за достъпност не може да бъде изключена. Използва се извън развойните инструменти.
+
+# LOCALIZATION NOTE (accessibility.disable.enabledTitle): A title text used for
+# a tooltip for Disable accessibility button when accessibility service can be
+# disabled.
+accessibility.disable.enabledTitle=Услугата за достъпност ще бъде изключена за всички раздели и прозорци.
+
+# LOCALIZATION NOTE (accessibility.enable.disabledTitle): A title text used for
+# a tooltip for Enabled accessibility button when accessibility service can not
+# be enabled.
+accessibility.enable.disabledTitle=Услугата за достъпност не може да бъде включена. Изключена е, чрез настройките за поверителност на услугата.
+
+# LOCALIZATION NOTE (accessibility.enable.enabledTitle): A title text used for
+# a tooltip for Enabled accessibility button when accessibility service can be
+# enabled.
+accessibility.enable.enabledTitle=Услугата за достъпност ще бъде включена за всички раздели и прозорци.
+
+# LOCALIZATION NOTE (accessibility.learnMore): A text that is used as is or as textual
+# description in places that link to accessibility inspector documentation.
+accessibility.learnMore=Научете повече
+
+# LOCALIZATION NOTE (accessibility.description.general.p1): A title text for the first
+# paragraph, used when accessibility service description is provided before accessibility
+# inspector is enabled. %S in the content will be replaced by a link at run time
+# with the accessibility.learnMore string.
+accessibility.description.general.p1=Инспекторът за достъпност ви позволява да разгледате дървото на достъпността за текущата страница, което се използва от екранните четци и други помощни технологии. %S
+
+# LOCALIZATION NOTE (accessibility.description.general.p2): A title text for the second
+# paragraph, used when accessibility service description is provided before accessibility
+# inspector is enabled.
+accessibility.description.general.p2=Функциите за достъпност могат да повлияят на работата на други панели с инструменти за разработчици и трябва да бъдат изключени, когато не се използват.
+
+# LOCALIZATION NOTE (accessibility.tree.menu.printToJSON): A title text used when a
+# context menu item for printing an accessible tree to JSON is rendered after triggering a
+# context menu for an accessible tree row.
+accessibility.tree.menu.printToJSON=Отпечатване на JSON
+
+# LOCALIZATION NOTE (accessibility.checks): A title text used for header for checks
+# section in Accessibility details sidebar.
+accessibility.checks=Проверки
+
+# LOCALIZATION NOTE (accessibility.checks.empty2): A title text used for indicating that
+# accessibility checks for a node yielded no results and another node should be
+# selected.
+accessibility.checks.empty2=За този възел няма проверки.
+
+# LOCALIZATION NOTE (accessibility.contrast.header): A title text used for header for
+# checks related to color and contrast.
+accessibility.contrast.header=Цвят и контраст
+
+# LOCALIZATION NOTE (accessibility.contrast.error): A title text for the color
+# contrast ratio, used when the tool is unable to calculate the contrast ratio value.
+accessibility.contrast.error=Не може да бъде изчислено
+
+# LOCALIZATION NOTE (accessibility.contrast.large.text): A title text for the color
+# contrast ratio label indicating that the color contrast criteria used is if for large
+# text. This is lower case because it's used as a label for a tree item in accessibility
+# tree.
+accessibility.contrast.large.text=голям текст
+
+# LOCALIZATION NOTE (accessibility.contrast.large.title): A title text for the tooltip
+# used for the large text label (see accessibility.contrast.large.text).
+accessibility.contrast.large.title=Текстът е 14 пункта и удебелен или по-голям, или 18 пункта и по-голям.
+
+# LOCALIZATION NOTE (accessibility.contrast.annotation.AA): A title text for the paragraph
+# describing that the given colour contrast satisfies AA standard from Web Content
+# Accessibility Guidelines. %S in the content will be replaced by a link at run time
+# with the accessibility.learnMore string.
+accessibility.contrast.annotation.AA=Отговаря на стандартите на WCAG AA за достъпен текст. %S
+
+# LOCALIZATION NOTE (accessibility.contrast.annotation.AAA): A title text for the
+# paragraph describing that the given colour contrast satisfies AAA standard from Web
+# Content Accessibility Guidelines. %S in the content will be replaced by a link at run
+# time with the accessibility.learnMore string.
+accessibility.contrast.annotation.AAA=Отговаря на стандартите WCAG AAA за достъпен текст. %S
+
+# LOCALIZATION NOTE (accessibility.contrast.annotation.FAIL): A title text for the
+# paragraph describing that the given colour contrast fails to meet the minimum level from
+# Web Content Accessibility Guidelines. %S in the content will be replaced by a link at
+# run time with the accessibility.learnMore string.
+accessibility.contrast.annotation.FAIL=Не отговаря на стандартите на WCAG за достъпен текст. %S
+
+# LOCALIZATION NOTE (accessibility.contrast.annotation.transparent.error): A title text for the
+# paragraph suggesting a fix for error in color contrast calculation for text nodes with zero alpha.
+accessibility.contrast.annotation.transparent.error=Изберете цвят, който не е прозрачен.
+
+# LOCALIZATION NOTE (accessibility.badges): A title text for the group of badges
+# that are rendered for each accessible row within the accessibility tree when
+# one or more accessibility checks fail.
+accessibility.badges=Проверки на достъпността
+
+# LOCALIZATION NOTE (accessibility.filter.none): A title text for the filter
+# that is rendered within the accessibility panel toolbar for a menu item that
+# resets all filtering in tree, and for the simulation menu item that resets
+# applied color matrices to the default matrix.
+accessibility.filter.none=Няма
+
+# LOCALIZATION NOTE (accessibility.filter.all2): A title text for the filter
+# that is rendered within the accessibility panel toolbar for a menu item that
+# filters the tree based on all accessibility failures within it.
+accessibility.filter.all2=Всички
+
+# LOCALIZATION NOTE (accessibility.filter.contrast): A title text for the filter
+# that is rendered within the accessibility panel toolbar for a menu item that
+# filters the tree based on contrast accessibility failures within it.
+accessibility.filter.contrast=Контраст
+
+# LOCALIZATION NOTE (accessibility.filter.textLabel): A title text for the filter
+# that is rendered within the accessibility panel toolbar for a menu item that
+# filters the tree based on text label and name accessibility failures within it.
+accessibility.filter.textLabel=Етикети
+
+# LOCALIZATION NOTE (accessibility.filter.keyboard): A title text for the filter
+# that is rendered within the accessibility panel toolbar for a menu item that
+# filters the tree based on keyboard accessibility failures within it.
+accessibility.filter.keyboard=Клавиатура
+
+# LOCALIZATION NOTE (accessibility.badge.contrast): A title text for the badge
+# that is rendered within the accessible row in the accessibility tree for a
+# given accessible object that does not satisfy the WCAG guideline for colour
+# contrast.
+accessibility.badge.contrast=контраст
+
+# LOCALIZATION NOTE (accessibility.badge.contrast.warning): A label for the
+# badge and attached warning icon that is rendered within the accessible row in
+# the accessibility tree for a given accessible object that does not satisfy the
+# WCAG guideline for colour contrast.
+accessibility.badge.contrast.warning=предупреждение за контраста
+
+# LOCALIZATION NOTE (accessibility.badge.keyboard): A title text for the
+# badge that is rendered within the accessible row in the accessibility tree for
+# a given accessible object that does not satisfy the WCAG guideline for
+# keyboard accessibility.
+accessibility.badge.keyboard=клавиатура
+
+# LOCALIZATION NOTE (accessibility.badge.textLabel): A title text for the
+# badge that is rendered within the accessible row in the accessibility tree for
+# a given accessible object that does not satisfy the WCAG guideline for text
+# alternative.
+accessibility.badge.textLabel=текстове етикет
+
+# LOCALIZATION NOTE (accessibility.badge.contrast.tooltip): A title text for the
+# badge tooltip that is rendered on mouse hover over the badge in the accessible
+# row in the accessibility tree for a given accessible object that does not
+# satisfy the WCAG guideline for colour contrast.
+accessibility.badge.contrast.tooltip=Не отговаря на стандартите на WCAG за достъпен текст.
+
+# LOCALIZATION NOTE (accessibility.badge.keyboard.tooltip): A title text
+# for the badge tooltip that is rendered on mouse hover over the badge in the
+# accessible row in the accessibility tree for a given accessible object that
+# does not satisfy the WCAG guideline for keyboard accessibility.
+accessibility.badge.keyboard.tooltip=Не отговаря на стандартите на WCAG за достъпност чрез клавиатура.
+
+# LOCALIZATION NOTE (accessibility.badge.textLabel.tooltip): A title text
+# for the badge tooltip that is rendered on mouse hover over the badge in the
+# accessible row in the accessibility tree for a given accessible object that
+# does not satisfy the WCAG guideline for text alternative.
+accessibility.badge.textLabel.tooltip=Не отговаря на стандартите на WCAG за алтернативен текст.
+
+# LOCALIZATION NOTE (accessibility.tree.filters): A title text for the toolbar
+# within the main accessibility panel that contains a list of filters to be for
+# accessibility audit.
+accessibility.tree.filters=Проверка за проблеми:
+
+# LOCALIZATION NOTE (accessibility.tree.filters.prefs): A title text for the
+# preferences button tooltip that contains preferences for accessibility audit.
+accessibility.tree.filters.prefs=Настройки
+
+# LOCALIZATION NOTE (accessibility.progress.initializing): A title text for the
+# accessibility panel overlay shown when accessibility audit is starting up.
+accessibility.progress.initializing=Инициализиране…
+
+# LOCALIZATION NOTE (accessibility.progress.initializing): A title text for the
+# accessibility panel overlay shown when accessibility audit is running showing
+# the number of nodes being audited. Semi-colon list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+accessibility.progress.progressbar=Проверяване на #1 възел;Проверяване на #1 възела
+
+# LOCALIZATION NOTE (accessibility.progress.finishing): A title text for the
+# accessibility panel overlay shown when accessibility audit is finishing up.
+accessibility.progress.finishing=Завършване…
+
+# LOCALIZATION NOTE (accessibility.pref.scroll.into.view.title): A title
+# text for the tooltip for the checkbox pref in the accessibility panel that
+# sets node auto scroll.
+accessibility.pref.scroll.into.view.title=Автоматично плъзва избрания възел във видимата част на екрана
+
+# LOCALIZATION NOTE (accessibility.pref.scroll.into.view.label): A title
+# text for the checkbox pref in the accessibility panel that sets node auto
+# scroll.
+accessibility.pref.scroll.into.view.label=Плъзване във видимото поле
+
+# LOCALIZATION NOTE (accessibility.documentation.label): This is the label for
+# the Documentation menu item.
+accessibility.documentation.label=Документация…
+
+# LOCALIZATION NOTE (accessibility.simulation): A title text for the toolbar
+# within the main accessibility panel that contains a list of simulations for
+# vision deficiencies.
+accessibility.simulation=Симулиране:
+
+# LOCALIZATION NOTE (accessibility.simulation.protanopia): This label is shown
+# in the "Simulate" menu in the accessibility panel and represent the protanopia simulation option.
+accessibility.simulation.protanopia=Протанопия (липса на червено)
+
+# LOCALIZATION NOTE (accessibility.simulation.deuteranopia): This label is shown
+# in the "Simulate" menu in the accessibility panel and represent the deuteranopia simulation option.
+accessibility.simulation.deuteranopia=Деутеранопия (липса на зелено)
+
+# LOCALIZATION NOTE (accessibility.simulation.tritanopia): This label is shown
+# in the "Simulate" menu in the accessibility panel and represent the tritanopia simulation option.
+accessibility.simulation.tritanopia=Тританопия (липса на синьо)
+
+# LOCALIZATION NOTE (accessibility.simulation.contrastLoss): This label is shown
+# in the "Simulate" menu in the accessibility panel and represent the contrast loss simulation option.
+# It is also shown in the simulation menu button in the accessibility panel and represent the
+# contrast loss simulation option currently selected.
+accessibility.simulation.contrastLoss=Загуба на контраст
+
diff --git a/l10n-bg/devtools/client/animationinspector.properties b/l10n-bg/devtools/client/animationinspector.properties
new file mode 100644
index 0000000000..97089d1cc5
--- /dev/null
+++ b/l10n-bg/devtools/client/animationinspector.properties
@@ -0,0 +1,183 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Animation inspector
+# which is available as a sidebar panel in the Inspector.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (panel.noAnimation):
+# This is the label shown in the panel when there are no displayable animations.
+# (e.g. In case of user selected a non-element node or a node that is not animated).
+panel.noAnimation=Не са намерени анимации на текущия елемент.\nИзберете друг от страницата.
+
+# LOCALIZATION NOTE (player.animationDurationLabel):
+# This string is displayed in each animation player widget. It is the label
+# displayed before the animation duration.
+player.animationDurationLabel=Времетраене:
+
+# LOCALIZATION NOTE (player.infiniteDurationText):
+# This string is displayed in a tooltip on animation player widget, in case the
+# duration of the animation is infinite.
+player.infiniteDurationText=∞
+
+# LOCALIZATION NOTE (player.animationDelayLabel):
+# This string is displayed in each animation player widget. It is the label
+# displayed before the animation delay.
+player.animationDelayLabel=Забавяне:
+
+# LOCALIZATION NOTE (player.animationEndDelayLabel):
+# This string is displayed in each animation player widget. It is the label
+# displayed before the animation endDelay.
+player.animationEndDelayLabel=Край на изчакването:
+
+# LOCALIZATION NOTE (player.animationRateLabel):
+# This string is displayed in each animation player widget. It is the label
+# displayed before the animation playback rate.
+player.animationRateLabel=Скорост на възпроизвеждане:
+
+# LOCALIZATION NOTE (player.animationIterationCountLabel):
+# This string is displayed in each animation player widget. It is the label
+# displayed before the number of times the animation is set to repeat.
+player.animationIterationCountLabel=Повторения:
+
+# LOCALIZATION NOTE (player.infiniteIterationCount):
+# In case the animation repeats infinitely, this string is displayed next to the
+# player.animationIterationCountLabel string, instead of a number.
+player.infiniteIterationCount=&#8734;
+
+# LOCALIZATION NOTE (player.infiniteIterationCountText):
+# See player.infiniteIterationCount for a description of what this is.
+# Unlike player.infiniteIterationCount, this string isn't used in HTML, but in
+# a tooltip.
+player.infiniteIterationCountText=∞
+
+# LOCALIZATION NOTE (player.animationIterationStartLabel2):
+# This string is displayed in a tooltip that appears when hovering over
+# animations in the timeline. It is the label displayed before the animation
+# iterationStart value.
+# %1$S will be replaced by the original iteration start value
+# %2$S will be replaced by the actual time of iteration start without time unit
+# e.g.
+# If iterationStart of animation is 0.5 and duration is 1 sec, the string will be
+# "Iteration start: 0.5 (0.5s)"
+player.animationIterationStartLabel2=Начало на повторението: %1$S (%2$S)
+
+# LOCALIZATION NOTE (player.animationOverallEasingLabel):
+# This string is displayed in a tooltip that appears when hovering over
+# animations in the timeline. It is the label displayed before the easing
+# that applies to a whole iteration of an animation as opposed to the
+# easing that applies between animation keyframes.
+player.animationOverallEasingLabel=Обща дължина:
+
+# LOCALIZATION NOTE (player.animationTimingFunctionLabel):
+# This string is displayed in a tooltip that appears when hovering over
+# animations in the timeline. It is the label displayed before the
+# animation-timing-function for CSS Animations.
+player.animationTimingFunctionLabel=Вид анимиране:
+
+# LOCALIZATION NOTE (player.animationFillLabel):
+# This string is displayed in a tooltip that appears when hovering over
+# animations in the timeline. It is the label displayed before the animation
+# fill mode value.
+player.animationFillLabel=Запълване:
+
+# LOCALIZATION NOTE (player.animationDirectionLabel):
+# This string is displayed in a tooltip that appears when hovering over
+# animations in the timeline. It is the label displayed before the animation
+# direction value.
+player.animationDirectionLabel=Посока:
+
+# LOCALIZATION NOTE (player.timeLabel):
+# This string is displayed in each animation player widget, to indicate either
+# how long (in seconds) the animation lasts, or what is the animation's current
+# time (in seconds too);
+player.timeLabel=%Ss
+
+# LOCALIZATION NOTE (player.infiniteDurationText):
+# This string is displayed in animation player widget, in case the duration of the
+# animation is infinite.
+player.infiniteTimeLabel=∞
+
+# LOCALIZATION NOTE (player.playbackRateLabel):
+# This string is displayed in each animation player widget, as the label of
+# drop-down list items that can be used to change the rate at which the
+# animation runs (1× being the default, 2× being twice as fast).
+player.playbackRateLabel=%S×
+
+# LOCALIZATION NOTE (player.runningOnCompositorTooltip):
+# This string is displayed as a tooltip for the icon that indicates that the
+# animation is running on the compositor thread.
+player.runningOnCompositorTooltip=Анимация, изпълняваща се в нишката на композитора
+
+# LOCALIZATION NOTE (player.allPropertiesOnCompositorTooltip):
+# This string is displayed as a tooltip for the icon that indicates that
+# all of animation is running on the compositor thread.
+player.allPropertiesOnCompositorTooltip=Всички свойства на анимацията са оптимизирани
+
+# LOCALIZATION NOTE (player.somePropertiesOnCompositorTooltip):
+# This string is displayed as a tooltip for the icon that indicates that
+# all of animation is not running on the compositor thread.
+player.somePropertiesOnCompositorTooltip=Някои свойства на анимацията са оптимизирани
+
+# LOCALIZATION NOTE (timeline.pausedButtonTooltip):
+# This string is displayed in the timeline toolbar, as the tooltip of the
+# pause/resume button that can be used to pause or resume the animations
+timeline.pausedButtonTooltip=Продължаване на анимациите
+
+# LOCALIZATION NOTE (timeline.resumedButtonTooltip):
+# This string is displayed in the timeline toolbar, as the tooltip of the
+# pause/resume button that can be used to pause or resume the animations
+timeline.resumedButtonTooltip=Паузиране на анимациите
+
+# LOCALIZATION NOTE (timeline.rewindButtonTooltip):
+# This string is displayed in the timeline toolbar, as the tooltip of the
+# rewind button that can be used to rewind the animations
+timeline.rewindButtonTooltip=Превъртане на анимациите
+
+# LOCALIZATION NOTE (timeline.timeGraduationLabel):
+# This string is displayed at the top of the animation panel, next to each time
+# graduation, to indicate what duration (in milliseconds) this graduation
+# corresponds to.
+timeline.timeGraduationLabel=%S мс
+
+# LOCALIZATION NOTE (timeline.cssanimation.nameLabel):
+# This string is displayed in a tooltip of the animation panel that is shown
+# when hovering over the name of a CSS Animation in the timeline UI.
+# %S will be replaced by the name of the animation at run-time.
+timeline.cssanimation.nameLabel=%S – CSS анимация
+
+# LOCALIZATION NOTE (timeline.csstransition.nameLabel):
+# This string is displayed in a tooltip of the animation panel that is shown
+# when hovering over the name of a CSS Transition in the timeline UI.
+# %S will be replaced by the name of the transition at run-time.
+timeline.csstransition.nameLabel=%S – CSS преход
+
+# LOCALIZATION NOTE (timeline.scriptanimation.nameLabel):
+# This string is displayed in a tooltip of the animation panel that is shown
+# when hovering over the name of a script-generated animation in the timeline UI.
+# %S will be replaced by the name of the animation at run-time.
+timeline.scriptanimation.nameLabel=%S – анимация от скрипт
+
+# LOCALIZATION NOTE (timeline.scriptanimation.unnamedLabel):
+# This string is displayed in a tooltip of the animation panel that is shown
+# when hovering over an unnamed script-generated animation in the timeline UI.
+timeline.scriptanimation.unnamedLabel=Анимация от скрипт
+
+# LOCALIZATION NOTE (timeline.unknown.nameLabel):
+# This string is displayed in a tooltip of the animation panel that is shown
+# when hovering over the name of an unknown animation type in the timeline UI.
+# This can happen if devtools couldn't figure out the type of the animation.
+# %S will be replaced by the name of the transition at run-time.
+timeline.unknown.nameLabel=%S
+
+# LOCALIZATION NOTE (detail.propertiesHeader.percentage):
+# This string is displayed on header label in .animated-properties-header.
+# %S represents the value in percentage with two decimal points, localized.
+# there are two "%" after %S to escape and display "%"
+detail.propertiesHeader.percentage=%S%%
+
diff --git a/l10n-bg/devtools/client/application.ftl b/l10n-bg/devtools/client/application.ftl
new file mode 100644
index 0000000000..34fcaaded4
--- /dev/null
+++ b/l10n-bg/devtools/client/application.ftl
@@ -0,0 +1,88 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### These strings are used inside the Application panel which is available
+### by setting the preference `devtools-application-enabled` to true.
+
+
+### The correct localization of this file might be to keep it in English, or another
+### language commonly spoken among web developers. You want to make that choice consistent
+### across the developer tools. A good criteria is the language in which you'd find the
+### best documentation on web development on the web.
+
+# Header for the list of Service Workers displayed in the application panel for the current page.
+serviceworker-list-header = Обслужващи нишки
+
+# Text displayed next to the list of Service Workers to encourage users to check out
+# about:debugging to see all registered Service Workers.
+serviceworker-list-aboutdebugging = Отворете <a>about:debugging</a> за достъп до обслужващите нишки от други домейни
+
+# Text for the button to unregister a Service Worker. Displayed for active Service Workers.
+serviceworker-worker-unregister = Отмяна на регистрацията
+
+# Text for the debug link displayed for an already started Service Worker. Clicking on the
+# link opens a new devtools toolbox for this service worker. The title attribute is only
+# displayed when the link is disabled.
+serviceworker-worker-debug = Отстраняване на дефекти
+ .title = Дефекти могат да бъдат отстранявани само от работещи обслужващи нишки
+
+# Alt text for the image icon displayed inside a debug link for a service worker.
+serviceworker-worker-inspect-icon =
+ .alt = Инспектиране
+
+# Text for the start link displayed for a registered but not running Service Worker.
+# Clicking on the link will attempt to start the service worker.
+serviceworker-worker-start3 = Включване
+
+# Text displayed for the updated time of the service worker. The <time> element will
+# display the last update time of the service worker script.
+serviceworker-worker-updated = Обновена на <time>{ DATETIME($date, day: "numeric", month: "long", year: "numeric", hour: "numeric", minute: "numeric", second: "numeric") }</time>
+
+## Service Worker status strings: all serviceworker-worker-status-* strings are also
+## defined in aboutdebugging.properties and should be synchronized with them.
+
+# Service Worker status. A running service worker is registered, currently executed, can
+# be debugged and stopped.
+serviceworker-worker-status-running = Включена
+
+# Service Worker status. A stopped service worker is registered but not currently active.
+serviceworker-worker-status-stopped = Спряна
+
+# Link will open https://developer.mozilla.org/docs/Web/API/Service_Worker_API/Using_Service_Workers
+serviceworker-empty-intro-link = Научете повече
+
+# Header for the Errors and Warnings section of Manifest inspection displayed in the application panel.
+manifest-item-warnings = Грешки и предупреждения
+
+# Header for the Icon section of Manifest inspection displayed in the application panel.
+manifest-item-icons = Пиктограми
+
+# Text displayed while we are loading the manifest file
+manifest-loading = Зареждане на manifest…
+
+# Text displayed as the alt attribute for <img> tags showing the icons in the
+# manifest.
+manifest-icon-img =
+ .alt = Пиктограма
+
+# Text displayed as the title attribute for <img> tags showing the icons in the
+# manifest. `$sizes` is a user-dependent string that has been parsed as a
+# space-separated list of `<width>x<height>` sizes or the keyword `any`.
+manifest-icon-img-title = Икона с размери: { $sizes }
+
+# Sidebar navigation item for Manifest sidebar item section
+sidebar-item-manifest = Манифест
+ .alt = Пиктограма на манифест
+ .title = Манифест
+
+# Text for the ALT and TITLE attributes of the warning icon
+icon-warning =
+ .alt = Пиктограма на предупреждение
+ .title = Предупреждение
+
+# Text for the ALT and TITLE attributes of the error icon
+icon-error =
+ .alt = Икона за грешка
+ .title = Грешка
diff --git a/l10n-bg/devtools/client/boxmodel.properties b/l10n-bg/devtools/client/boxmodel.properties
new file mode 100644
index 0000000000..480a769a61
--- /dev/null
+++ b/l10n-bg/devtools/client/boxmodel.properties
@@ -0,0 +1,32 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE : FILE This file contains the Layout View strings.
+# The Layout View is a panel displayed in the computed view tab of the Inspector sidebar.
+
+# LOCALIZATION NOTE : FILE The correct localization of this file might be to
+# keep it in English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (boxmodel.title) This is the title of the box model panel and is
+# displayed as a label.
+boxmodel.title=Кутиен модел
+
+# LOCALIZATION NOTE: (boxmodel.geometryButton.tooltip) This label is displayed as a
+# tooltip that appears when hovering over the button that allows users to edit the
+# position of an element in the page.
+boxmodel.geometryButton.tooltip=Редактиране на позиция
+
+# LOCALIZATION NOTE: (boxmodel.propertiesLabel) This label is displayed as the header
+# for showing and collapsing the properties underneath the box model in the layout view
+boxmodel.propertiesLabel=Свойства
+
+# LOCALIZATION NOTE: (boxmodel.offsetParent) This label is displayed inside the list of
+# properties, below the box model, in the layout view. It is displayed next to the
+# position property, when position is absolute, relative, sticky. This label tells users
+# what the DOM node previewed next to it is: an offset parent for the position element.
+boxmodel.offsetParent=отместване
+
diff --git a/l10n-bg/devtools/client/changes.properties b/l10n-bg/devtools/client/changes.properties
new file mode 100644
index 0000000000..9a0afd0f21
--- /dev/null
+++ b/l10n-bg/devtools/client/changes.properties
@@ -0,0 +1,60 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE This file contains the strings for the Changes panel accessible from
+# the Inspector sidebar.
+
+# LOCALIZATION NOTE (changes.noChanges): This text is shown when no changes are available.
+changes.noChanges=Няма намерени промени.
+
+# LOCALIZATION NOTE (changes.noChangesDescription): This text is shown when no changes are
+# available and provides additional context for the purpose of the Changes panel.
+changes.noChangesDescription=Промени от инспектора на CSS ще се покажат тук.
+
+# LOCALIZATION NOTE (changes.inlineStyleSheetLabel): This label appears in the Changes
+# panel above changes done to inline stylesheets. The variable will be replaced with the
+# index of the stylesheet within its document like so: Inline #1
+changes.inlineStyleSheetLabel=Едноредово %S
+
+# LOCALIZATION NOTE (changes.elementStyleLabel): This label appears in the Changes
+# panel above changes done to element styles.
+changes.elementStyleLabel=Елемент
+
+# LOCALIZATION NOTE (changes.iframeLabel): This label appears next to URLs of stylesheets
+# and element inline styles hosted by iframes. Lowercase intentional.
+
+# LOCALIZATION NOTE (changes.contextmenu.copy): Label for "Copy" option in Changes panel
+# context menu
+changes.contextmenu.copy=Копиране
+
+# LOCALIZATION NOTE (changes.contextmenu.copy.accessKey): Access key for "Copy"
+# option in the Changes panel.
+changes.contextmenu.copy.accessKey=К
+
+# LOCALIZATION NOTE (changes.contextmenu.copyAllChanges): Label for "Copy All Changes"
+# option in Changes panel context menu which copies all changed CSS declarations from a
+# stylesheet
+
+# LOCALIZATION NOTE (changes.contextmenu.copyAllChangesDescription): Detailed explanation
+# for "Copy All Changes" option in Changes panel. Used as title attribute on "Copy All
+# Changes" button
+
+# LOCALIZATION NOTE (changes.contextmenu.copyDeclaration): Label for "Copy Declaration"
+# option in Changes panel context menu which copies the target CSS declaration.
+changes.contextmenu.copyDeclaration=Копиране на декларация
+
+# LOCALIZATION NOTE (changes.contextmenu.copyRule): Label for "Copy Rule" option in
+# Changes panel context menu which copies the complete contents of a CSS rule.
+changes.contextmenu.copyRule=Копиране на правило
+
+# LOCALIZATION NOTE (changes.contextmenu.copyRuleDescription): Detailed explanation for
+# "Copy Rule" option in Changes panel. Used as title attribute on "Copy Rule" button.
+
+# LOCALIZATION NOTE (changes.contextmenu.selectAll): Label for "Select All" option in the
+# Changes panel context menu to select all text content.
+changes.contextmenu.selectAll=Избиране на всичко
+
+# LOCALIZATION NOTE (changes.contextmenu.selectAll.accessKey): Access key for "Select All"
+# option in the Changes panel.
+changes.contextmenu.selectAll.accessKey=ч
diff --git a/l10n-bg/devtools/client/compatibility.ftl b/l10n-bg/devtools/client/compatibility.ftl
new file mode 100644
index 0000000000..56df64a042
--- /dev/null
+++ b/l10n-bg/devtools/client/compatibility.ftl
@@ -0,0 +1,23 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Messages used as headers in the main pane
+
+
+## Message used as labels for the type of issue
+
+compatibility-issue-deprecated = (изведено от употреба)
+compatibility-issue-deprecated-experimental = (изведено от употреба, експериментално)
+compatibility-issue-deprecated-prefixneeded = (изведено от употреба, необходим префикс)
+compatibility-issue-deprecated-experimental-prefixneeded = (изведено от употреба, експериментално, необходим префикс)
+
+## Messages used as labels and titles for buttons in the footer
+
+
+## Messages used as headers in settings pane
+
+
+##
+
diff --git a/l10n-bg/devtools/client/components.properties b/l10n-bg/devtools/client/components.properties
new file mode 100644
index 0000000000..0b8caa7ae1
--- /dev/null
+++ b/l10n-bg/devtools/client/components.properties
@@ -0,0 +1,20 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used in the shared React components,
+# so files in `devtools/client/shared/components/*`.
+
+# LOCALIZATION NOTE (frame.unknownSource): When we do not know the source filename of
+# a frame, we use this string instead.
+frame.unknownSource=(неизвестно)
+
+# LOCALIZATION NOTE (viewsourceindebugger): The label for the tooltip when hovering over
+# a source link that links to the debugger.
+# %S represents the URL to match in the debugger.
+frame.viewsourceindebugger=Преглед на изходния код в дебъгера → %S
+
+# LOCALIZATION NOTE (notificationBox.closeTooltip): The content of a tooltip that
+# appears when hovering over the close button in a notification box.
+notificationBox.closeTooltip=Затваряне на съобщението
+
diff --git a/l10n-bg/devtools/client/debugger.properties b/l10n-bg/devtools/client/debugger.properties
new file mode 100644
index 0000000000..538890f9f3
--- /dev/null
+++ b/l10n-bg/devtools/client/debugger.properties
@@ -0,0 +1,1012 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Debugger
+# which is available from the Browser Tools sub-menu -> 'Debugger'.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (collapseSources): This is the tooltip for the button
+# that collapses the Sources and Outlines panes in the debugger UI.
+
+# LOCALIZATION NOTE (collapseBreakpoints): This is the tooltip for the button
+# that collapses the Breakpoints panes in the debugger UI.
+collapseBreakpoints=Скриване на панела с точки на прекъсване
+
+# LOCALIZATION NOTE (copyToClipboard.label): This is the text that appears in the
+# context menu to copy the text that the user selected.
+copyToClipboard.label=Копиране в системния буфер
+copyToClipboard.accesskey=к
+
+# LOCALIZATION NOTE (copySource.label): This is the text that appears in the
+# context menu to copy all of the text in the open file.
+copySource.label=Копиране на изходния текст
+copySource.accesskey=К
+
+# LOCALIZATION NOTE (copySourceUri2): This is the text that appears in the
+# context menu to copy the source URI of file open.
+copySourceUri2=Копиране на адреса
+copySourceUri2.accesskey=а
+
+# LOCALIZATION NOTE (collapseAll.label): This is the text that appears in the
+# context menu to collapse a directory and all of its subdirectories.
+
+# LOCALIZATION NOTE (expandAll.label): This is the text that appears in the
+# context menu to expand a directory and all of its subdirectories.
+
+# LOCALIZATION NOTE (setDirectoryRoot.label): This is the text that appears in the
+# context menu to set a directory as root directory
+setDirectoryRoot.label=Указване на коренова папка
+setDirectoryRoot.accesskey=к
+
+# LOCALIZATION NOTE (removeDirectoryRoot.label): This is the text that appears in the
+# context menu to remove a directory as root directory
+removeDirectoryRoot.label=Премахване на коренова папка
+
+# LOCALIZATION NOTE (ignoreAll.label): Text associated with the ignore context menu item
+
+# LOCALIZATION NOTE (ignoreAllInGroup.label): This is the text that appears in the
+# context submenu to ignore all files inside of the selected group
+
+# LOCALIZATION NOTE (unignoreAllInGroup.label): This is the text that appears in the
+# context submenu to unignore all files inside of the selected group
+unignoreAllInGroup.label=Премахнете игнорирането на файловете в тази група
+
+# LOCALIZATION NOTE (ignoreAllOutsideGroup.label): This is the text that appears in the
+# context submenu to ignore all files outside of the selected group
+
+# LOCALIZATION NOTE (unignoreAllOutsideGroup.label): This is the text that appears in the
+# context submenu to unignore all files outside of the selected group
+unignoreAllOutsideGroup.label=Без пренебрегване на файловете извън групата
+
+# LOCALIZATION NOTE (ignoreAllInDir.label): This is the text that appears in the
+# context submenu to ignore all files inside of the selected directory
+
+# LOCALIZATION NOTE (unignoreAllInDir.label): This is the text that appears in the
+# context submenu to unignore all files inside of the selected directory
+unignoreAllInDir.label=Без пренебрегване на файловете в папката
+
+# LOCALIZATION NOTE (ignoreAllOutsideDir.label): This is the text that appears in the
+# context submenu to ignore all files outside of the selected directory
+
+# LOCALIZATION NOTE (unignoreAllOutsideDir.label: This is the text that appears in the
+# context submenu to unignore all files outside of the selected directory
+unignoreAllOutsideDir.label=Без пренебрегване на файловете извън папката
+
+# LOCALIZATION NOTE (copyFunction.label): This is the text that appears in the
+# context menu to copy the function the user selected
+copyFunction.label=Копиране на функцията
+copyFunction.accesskey=у
+
+# LOCALIZATION NOTE (copyStackTrace): This is the text that appears in the
+# context menu to copy the stack trace methods, file names and row number.
+copyStackTrace=Копиране на следата в стека
+copyStackTrace.accesskey=к
+
+# LOCALIZATION NOTE (restartFrame): This is the text that appears in the
+# context menu to restart a frame.
+
+# LOCALIZATION NOTE (expandSources): This is the tooltip for the button
+# that expands the Sources and Outlines panes in the debugger UI.
+
+# LOCALIZATION NOTE (expandBreakpoints): This is the tooltip for the button
+# that expands the Breakpoints panes in the debugger UI.
+expandBreakpoints=Отваряне на панела с точки на прекъсване
+
+# LOCALIZATION NOTE (evaluateInConsole.label): Editor right-click menu item
+# to execute selected text in browser console.
+evaluateInConsole.label=Изчисляване в конзолата
+
+# LOCALIZATION NOTE (pauseButtonTooltip): The tooltip that is displayed for the pause
+# button when the debugger is in a running state.
+pauseButtonTooltip=Щракнете за пауза (%S)
+
+# LOCALIZATION NOTE (pausePendingButtonTooltip): The tooltip that is displayed for
+# the pause button after it's been clicked but before the next JavaScript to run.
+pausePendingButtonTooltip=Изчакване за следващото изпълнение
+
+# LOCALIZATION NOTE (startTraceButtonTooltip): The label that is displayed on the trace
+# button in the top of the debugger right sidebar. %S is for the log output location (webconsole or stdout).
+
+# LOCALIZATION NOTE (stopTraceButtonTooltip): The label that is displayed on the trace
+# button in the top of the debugger right sidebar. This label is only displayed when we are current tracing
+# JavaScript.
+
+# LOCALIZATION NOTE (startTraceButtonTooltip): The label that is displayed on the trace
+# button in the top of the debugger right sidebar.
+# %1$S is for the key shortcut
+# %2$S is for the log output location (webconsole or stdout).
+
+# LOCALIZATION NOTE (stopTraceButtonTooltip): The label that is displayed on the trace
+# button in the top of the debugger right sidebar. This label is only displayed when we are current tracing
+# JavaScript.
+# %S is for the key shortcut
+
+# LOCALIZATION NOTE (traceInWebConsole): The label that is displayed in the context menu
+# of the trace button, which is in the top of the debugger right sidebar.
+# This is used to force logging JavaScript traces in the Web Console.
+
+# LOCALIZATION NOTE (traceInWebConsole): The label that is displayed in the context menu
+# of the trace button, which is in the top of the debugger right sidebar.
+# This is used to force logging JavaScript traces in the stdout.
+
+# LOCALIZATION NOTE (resumeButtonTooltip): The label that is displayed on the pause
+# button when the debugger is in a paused state.
+resumeButtonTooltip=Щракнете за продължаване (%S)
+
+# LOCALIZATION NOTE (stepOverTooltip): The label that is displayed on the
+# button that steps over a function call.
+stepOverTooltip=Стъпка през (%S)
+
+# LOCALIZATION NOTE (stepInTooltip): The label that is displayed on the
+# button that steps into a function call.
+stepInTooltip=Стъпка в (%S)
+
+# LOCALIZATION NOTE (stepOutTooltip): The label that is displayed on the
+# button that steps out of a function call.
+stepOutTooltip=Стъпка извън (%S)
+
+# LOCALIZATION NOTE (skipPausingTooltip.label): The tooltip text for disabling all
+# breakpoints and pausing triggers
+skipPausingTooltip.label=Изключва точките на прекъсване
+
+# LOCALIZATION NOTE (undoSkipPausingTooltip.label): The tooltip text for enabling all
+# breakpoints and pausing triggers
+undoSkipPausingTooltip.label=Включва точките на прекъсване
+
+# LOCALIZATION NOTE (pauseOnDebuggerStatement): The pause on debugger statement checkbox label
+
+# LOCALIZATION NOTE (pauseOnExceptionsItem2): The pause on exceptions checkbox description
+# when the debugger will pause on all exceptions.
+pauseOnExceptionsItem2=Пауза при изключение
+
+# LOCALIZATION NOTE (pauseOnCaughtExceptionsItem): The pause on exceptions checkbox description
+# when the debugger should pause on caught exceptions
+pauseOnCaughtExceptionsItem=Пауза при уловени изключения
+
+# LOCALIZATION NOTE (threadsHeader): The text to describe the threads header
+threadsHeader=Нишки
+
+# LOCALIZATION NOTE (mainThread): The text to describe the thread of the
+# program as opposed to worker threads.
+mainThread=Основна нишка
+
+# LOCALIZATION NOTE (pausedThread): The text to describe the status of paused threads
+
+# LOCALIZATION NOTE (noSourcesText): The text to display in the sources list
+# when there are no sources.
+noSourcesText=Страницата няма изходен код.
+
+# LOCALIZATION NOTE (ignoredSourcesHidden): Notification message displayed in the
+# sources list footer when ignored sources are hidden.
+
+# LOCALIZATION NOTE (showIgnoredSources): Notification button displayed in the
+# source next to the "ignored sources are hidden" string. Clicking on this link
+# shows all the ignored sources which are currently hidden.
+
+# LOCALIZATION NOTE (showIgnoredSources.tooltip.label): Message displayed in the tooltip of the notification
+# link displayed in the sources list footer when ignored sources are hidden.
+
+# LOCALIZATION NOTE (eventListenersHeader1): The text to display in the events
+# header.
+eventListenersHeader1=Точки на прекъсване в слушател за събитие
+
+# LOCALIZATION NOTE (noDomMutationBreakpoints): The text to
+# display in the DOM Mutation Breakpoints pane when there are no events.
+# %S will be replaced by an active link using inspectorTool as text
+
+# LOCALIZATION NOTE (inspectorTool): The text to describe the the Inspector tool
+inspectorTool=Инспектор
+
+# LOCALIZATION NOTE (eventListenersHeader1.placeholder): The placeholder text in
+# the event search input bar
+eventListenersHeader1.placeholder=Филтриране по събитие
+
+# LOCALIZATION NOTE (domMutationHeader): The text to display in the
+# DOM Mutation Breakpoints header
+domMutationHeader=Точки на прекъсване при промяна на DOM
+
+# LOCALIZATION NOTE (domMutationTypes.attribute): The text to display in the
+# DOM Mutation Breakpoints panel for an attribute change
+domMutationTypes.attribute=Промяна на атрибути
+
+# LOCALIZATION NOTE (domMutationTypes.removal): The text to display in the
+# DOM Mutation Breakpoints panel for a DOM node removal
+domMutationTypes.removal=Премахване на възел
+
+# LOCALIZATION NOTE (domMutationTypes.subtree): The text to display in the
+# DOM Mutation Breakpoints panel for a DOM subtree change
+domMutationTypes.subtree=Промяна на поддърво
+
+# LOCALIZATION NOTE (sources.search.key2): Key shortcut to open the search for
+# searching all the source files the debugger has seen.
+# Do not localize "CmdOrCtrl+P", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+sources.search.key2=CmdOrCtrl+P
+
+# LOCALIZATION NOTE (sources.search.alt.key): A second key shortcut to open the
+# search for searching all the source files the debugger has seen.
+# Do not localize "CmdOrCtrl+O", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+sources.search.alt.key=CmdOrCtrl+O
+
+# LOCALIZATION NOTE (projectTextSearch.key): A key shortcut to open the
+# full project text search for searching all the files the debugger has seen.
+# Do not localize "CmdOrCtrl+Shift+F", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+projectTextSearch.key=CmdOrCtrl+Shift+F
+
+# LOCALIZATION NOTE (allShortcut.key): A key shortcut to open the
+# modal of full shortcuts list.
+# Do not localize "CmdOrCtrl+/", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+allShortcut.key=CmdOrCtrl+/
+
+# LOCALIZATION NOTE (functionSearch.key): A key shortcut to open the
+# modal for searching functions in a file.
+# Do not localize "CmdOrCtrl+Shift+O", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+functionSearch.key=CmdOrCtrl+Shift+O
+
+# LOCALIZATION NOTE (toggleBreakpoint.key): A key shortcut to toggle
+# breakpoints.
+# Do not localize "CmdOrCtrl+B", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+toggleBreakpoint.key=CmdOrCtrl+B
+
+# LOCALIZATION NOTE (toggleCondPanel.breakpoint.key): A key shortcut to toggle
+# the conditional panel for breakpoints.
+# Do not localize "CmdOrCtrl+Shift+B", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+toggleCondPanel.breakpoint.key=CmdOrCtrl+Shift+B
+
+# LOCALIZATION NOTE (toggleCondPanel.logPoint.key): A key shortcut to toggle
+# the conditional panel for log points.
+# Do not localize "CmdOrCtrl+Shift+Y", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+toggleCondPanel.logPoint.key=CmdOrCtrl+Shift+Y
+
+# LOCALIZATION NOTE (stepOut.key): A key shortcut to
+# step out.
+stepOut.key=Shift+F11
+
+# LOCALIZATION NOTE (shortcuts.header.editor): Sections header in
+# the shortcuts modal for keyboard shortcuts related to editing.
+shortcuts.header.editor=Редактор
+
+# LOCALIZATION NOTE (shortcuts.header.stepping): Sections header in
+# the shortcuts modal for keyboard shortcuts related to stepping.
+shortcuts.header.stepping=Обхождане
+
+# LOCALIZATION NOTE (shortcuts.header.search): Sections header in
+# the shortcuts modal for keyboard shortcuts related to search.
+shortcuts.header.search=Търсене
+
+# LOCALIZATION NOTE (projectTextSearch.placeholder): A placeholder shown
+# when searching across all of the files in a project.
+projectTextSearch.placeholder=Търсене във файлове…
+
+# LOCALIZATION NOTE (projectTextSearch.excludePatterns.label): A label shown
+# above the exclude patterns field when searching across all of the files in a project.
+
+# LOCALIZATION NOTE (projectTextSearch.excludePatterns.placeholder): A placeholder shown
+# for the exclude patterns field when searching across all of the files in a project.
+
+# LOCALIZATION NOTE (projectTextSearch.noResults): The center pane Text Search
+# message when the query did not match any text of all files in a project.
+projectTextSearch.noResults=Няма резултати
+
+# LOCALIZATION NOTE (projectTextSearch.pageNavigated): Tooltip shown on the refresh
+# button, only when it is highlighted because the page navigated to a new document
+# and the results might be obsolete.
+
+# LOCALIZATION NOTE (projectTextSearch.pageNavigated): Tooltip shown on the refresh
+# button, only when it is highlighted because the page navigated to a new document
+# and the results might be obsolete.
+
+# LOCALIZATION NOTE (projectTextSearch.sourceNoLongerAvailable): Tooltip message shown
+# on Text Search results when the related source no longer exists.
+# This typically happens after navigating or reloading the page and search results are obsolete.
+
+# LOCALIZATION NOTE (sourceSearch.search.key2): Key shortcut to open the search
+# for searching within a the currently opened files in the editor
+# Do not localize "CmdOrCtrl+F", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+sourceSearch.search.key2=CmdOrCtrl+F
+
+# LOCALIZATION NOTE (sourceSearch.search.placeholder): placeholder text in
+# the source search input bar
+sourceSearch.search.placeholder=Търсене в документа…
+
+# LOCALIZATION NOTE (sourceSearch.search.placeholder2): placeholder text in
+# the source search input bar
+sourceSearch.search.placeholder2=Търсене във файл…
+
+# LOCALIZATION NOTE (sourceSearch.resultsSummary2): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# Shows a summary of the number of matches for autocomplete
+sourceSearch.resultsSummary2=#1 резултат;#1 резултата
+
+# LOCALIZATION NOTE (breakpointHeadingMenuItem.*): The text for all the elements
+# that are displayed in the breakpoint headings menu item popup.
+breakpointHeadingsMenuItem.enableInSource.label=Включване на точките на прекъсване
+breakpointHeadingsMenuItem.enableInSource.accesskey=в
+breakpointHeadingsMenuItem.disableInSource.label=Изключване на точките на прекъсване
+breakpointHeadingsMenuItem.disableInSource.accesskey=и
+breakpointHeadingsMenuItem.removeInSource.label=Премахване на точките на прекъсване
+breakpointHeadingsMenuItem.removeInSource.accesskey=п
+
+# LOCALIZATION NOTE (breakpointMenuItem): The text for all the elements that
+# are displayed in the breakpoints menu item popup.
+breakpointMenuItem.enableSelf2.label=Включване
+breakpointMenuItem.enableSelf2.accesskey=в
+breakpointMenuItem.disableSelf2.label=Изключване
+breakpointMenuItem.disableSelf2.accesskey=и
+breakpointMenuItem.deleteSelf2.label=Премахване
+breakpointMenuItem.deleteSelf2.accesskey=п
+breakpointMenuItem.disabledbg.label=Никога да не спира тук
+breakpointMenuItem.enabledbg.label=Да спре тук
+breakpointMenuItem.enableOthers2.label=Включване на другите
+breakpointMenuItem.enableOthers2.accesskey=д
+breakpointMenuItem.disableOthers2.label=Изключване на другите
+breakpointMenuItem.disableOthers2.accesskey=з
+breakpointMenuItem.deleteOthers2.label=Премахване на другите
+breakpointMenuItem.deleteOthers2.accesskey=р
+breakpointMenuItem.enableAll2.label=Включване на всички
+breakpointMenuItem.enableAll2.accesskey=в
+breakpointMenuItem.disableAll2.label=Изключване на всички
+breakpointMenuItem.disableAll2.accesskey=з
+breakpointMenuItem.deleteAll2.label=Премахване на всички
+breakpointMenuItem.deleteAll2.accesskey=х
+breakpointMenuItem.removeCondition2.label=Премахване на условие
+breakpointMenuItem.removeCondition2.accesskey=у
+breakpointMenuItem.addCondition2.label=Добавяне на условие
+breakpointMenuItem.addCondition2.accesskey=б
+breakpointMenuItem.editCondition2.label=Редактиране на условие
+breakpointMenuItem.editCondition2.accesskey=д
+breakpointMenuItem.enableSelf=Включване на точката на прекъсване
+breakpointMenuItem.disableSelf=Изключване на точката на прекъсване
+breakpointMenuItem.deleteSelf=Премахване на точката на прекъсване
+breakpointMenuItem.enableOthers=Включване на другите
+breakpointMenuItem.disableOthers=Изключване на другите
+breakpointMenuItem.deleteOthers=Премахване на другите
+breakpointMenuItem.enableAll=Включване на всички точки на прекъсване
+breakpointMenuItem.disableAll=Изключване на всички точки на прекъсване
+breakpointMenuItem.deleteAll=Премахване на всички точки на прекъсване
+
+# LOCALIZATION NOTE (breakpoints.header): Breakpoints right sidebar pane header.
+breakpoints.header=Точки на прекъсване
+
+# LOCALIZATION NOTE (breakpoints.removeBreakpointTooltip): The tooltip that is displayed
+# for remove breakpoint button in right sidebar
+breakpoints.removeBreakpointTooltip=Премахване на точката на прекъсване
+
+# LOCALIZATION NOTE (callStack.header): Call Stack right sidebar pane header.
+callStack.header=Стек на извиквания
+
+# LOCALIZATION NOTE (callStack.notPaused): Call Stack right sidebar pane
+# message when not paused.
+callStack.notPaused=Не е на пауза
+
+# LOCALIZATION NOTE (callStack.collapse): Call Stack right sidebar pane
+# message to hide some of the frames that are shown.
+callStack.collapse=Сгъване на редовете
+
+# LOCALIZATION NOTE (callStack.expand): Call Stack right sidebar pane
+# message to show more of the frames.
+callStack.expand=Разгъване на редовете
+
+# LOCALIZATION NOTE (callStack.group.expandTooltip): The text that will appear
+# when hovering a collapsed Group of frames in the callStack panel. `frames` is
+# always plural since a group can only exist if it contain more that 1 frame.
+# %S is replaced by the name of the library of the frames in the group.
+# example: `Show React frames`.
+callStack.group.expandTooltip=Показване рамки на %S
+
+# LOCALIZATION NOTE (callStack.group.collapseTooltip): The text that will appear
+# when hovering an expanded Group of frames in the callStack panel. `frames` is
+# always plural since a group can only exist if it contain more that 1 frame.
+# %S is replaced by the name of the library of the frames in the group.
+# example: `Collapse React frames`.
+
+# LOCALIZATION NOTE (editor.searchResults1): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# Editor Search bar message to summarize the selected search result. e.g. 5 of 10 results.
+
+# LOCALIZATION NOTE (editor.noResultsFound): Editor Search bar message
+# for when no results found.
+editor.noResultsFound=Няма резултати
+
+# LOCALIZATION NOTE (editor.searchResults.nextResult): Editor Search bar
+# tooltip for traversing to the Next Result
+editor.searchResults.nextResult=Следващ резултат
+
+# LOCALIZATION NOTE (editor.searchResults.prevResult): Editor Search bar
+# tooltip for traversing to the Previous Result
+editor.searchResults.prevResult=Предишен резултат
+
+# LOCALIZATION NOTE (editor.continueToHere.label): Editor gutter context
+# menu item for jumping to a new paused location
+editor.continueToHere.label=Продължаване до тук
+editor.continueToHere.accesskey=т
+
+# LOCALIZATION NOTE (editor.addBreakpoint): Editor gutter context menu item
+# for adding a breakpoint on a line.
+editor.addBreakpoint=Добавяне на точка на прекъсване
+
+# LOCALIZATION NOTE (editor.disableBreakpoint): Editor gutter context menu item
+# for disabling a breakpoint on a line.
+editor.disableBreakpoint=Изключване на точката на прекъсване
+editor.disableBreakpoint.accesskey=И
+
+# LOCALIZATION NOTE (editor.enableBreakpoint): Editor gutter context menu item
+# for enabling a breakpoint on a line.
+editor.enableBreakpoint=Включване на точката на прекъсване
+
+# LOCALIZATION NOTE (editor.removeBreakpoint): Editor gutter context menu item
+# for removing a breakpoint on a line.
+editor.removeBreakpoint=Премахване на точката на прекъсване
+
+# LOCALIZATION NOTE (editor.addConditionBreakpoint): Editor gutter context
+# menu item for adding a breakpoint condition on a line.
+editor.addConditionBreakpoint=Добавяне на условие
+editor.addConditionBreakpoint.accesskey=у
+
+# LOCALIZATION NOTE (editor.editConditionBreakpoint): Editor gutter context menu item
+# for setting a breakpoint condition on a line.
+editor.editConditionBreakpoint=Редактиране на условие
+
+# LOCALIZATION NOTE (editor.addLogPoint): Editor gutter context
+# menu item for adding a log point on a line.
+
+# LOCALIZATION NOTE (editor.editLogPoint): Editor gutter context menu item
+# for editing a log point already set on a line.
+
+# LOCALIZATION NOTE (editor.removeLogPoint): Context menu item for removing
+# a log point on a line.
+
+# LOCALIZATION NOTE (editor.conditionalPanel.placeholder2): Placeholder text for
+# input element inside ConditionalPanel component
+
+# LOCALIZATION NOTE (editor.conditionalPanel.logPoint.placeholder2): Placeholder text for
+# input element inside ConditionalPanel component when a log point is set
+
+# LOCALIZATION NOTE (editor.jumpToMappedLocation1): Context menu item
+# for navigating to a source mapped location
+editor.jumpToMappedLocation1=Към %S местоположение
+editor.jumpToMappedLocation1.accesskey=м
+
+# LOCALIZATION NOTE (downloadFile.label): Context menu item
+# for downloading a source's content
+
+# LOCALIZATION NOTE (inlinePreview.show.label): Context menu item
+# for showing the inline preview blocks
+
+# LOCALIZATION NOTE (inlinePreview.hide.label): Context menu item
+# for hiding the inline preview block
+
+# LOCALIZATION NOTE (inlinePreview.toggle.label): Context menu item
+# that will toggle display of inline preview
+
+# LOCALIZATION NOTE (inlinePreview.toggle.tooltip): Context menu item
+# tooltip that will describe toggling inline preview
+
+# LOCALIZATION NOTE (editorWrapping.show.label): Context menu item
+# for showing the wrap lines block
+
+# LOCALIZATION NOTE (editorWrapping.hide.label): Context menu item
+# for showing the wrap lines block
+
+# LOCALIZATION NOTE (editorWrapping.toggle.label): Context menu item
+# label for toggling the lines wrapping feature
+
+# LOCALIZATION NOTE (editorWrapping.toggle.tooltip): Context menu item
+# tooltip for toggling the lines wrapping feature
+
+# LOCALIZATION NOTE (settings.button.label): Label for Settings button
+
+# LOCALIZATION NOTE (settings.disableJavaScript.label): Context menu item
+# label for disabling JavaScript
+
+# LOCALIZATION NOTE (settings.disableJavaScript.tooltip): Context menu item
+# tooltip for disabling JavaScript
+
+# LOCALIZATION NOTE (settings.toggleSourceMaps.tooltip): Context menu item
+# tooltip for toggling the source maps feature
+
+# LOCALIZATION NOTE (settings.toggleSourceMaps.label): Context menu item
+# label for toggling the source maps feature
+
+# LOCALIZATION NOTE (settings.hideIgnoredSources.tooltip): Context menu item
+# tooltip for hiding and showing all the ignored sources
+
+# LOCALIZATION NOTE (settings.hideIgnoredSources.label): Context menu item
+# label for hiding all ignored sources when enabled (indicated by the check mark)
+# Ignored sources will be shown when disabled (no check mark).
+
+# LOCALIZATION NOTE (settings.enableSourceMapIgnoreList.tooltip): Context menu item
+# tooltip for ignoring all sources on the sourcemaps ignore list.
+# Note: x_google_ignoreList should not be translated.
+
+# LOCALIZATION NOTE (settings.enableSourceMapIgnoreList.label): Context menu item
+# label for ignoring all sources on the sourcemaps ignore list when enabled
+# (indicated by the check mark). The sources on the ignore list are un-ignored
+# when disabled (no check mark).
+# Note: Make sure to also keep 'sourceFooter.ignoreList' in sync when this changes
+
+# LOCALIZATION NOTE (preview.noProperties): Label shown in the preview
+# popup when there are no properties to show.
+
+# LOCALIZATION NOTE (framework.disableGrouping): This is the text that appears in the
+# context menu to disable framework grouping.
+framework.disableGrouping=Изключване на групиране по софтуерна рамка
+framework.disableGrouping.accesskey=г
+
+# LOCALIZATION NOTE (framework.enableGrouping): This is the text that appears in the
+# context menu to enable framework grouping.
+framework.enableGrouping=Включване на групиране по софтуерна рамка
+framework.enableGrouping.accesskey=г
+
+# LOCALIZATION NOTE (generated): Source Map term for a server source location
+generated=генерираното
+
+# LOCALIZATION NOTE (original): Source Map term for a debugger UI source location
+original=оригиналното
+
+# LOCALIZATION NOTE (expressions.placeholder): Placeholder text for expression
+# input element
+expressions.placeholder=Добавяне на израз за проследяване
+
+# LOCALIZATION NOTE (expressions.noOriginalScopes): Expressions right sidebar pane message
+# for when the`map variable names`is off and the debugger is paused in an original source
+
+# LOCALIZATION NOTE (expressions.errorMsg): Error text for expression
+# input element
+expressions.errorMsg=Недействителен израз…
+expressions.label=Добавяне на израз за проследяване
+expressions.accesskey=б
+
+# LOCALIZATION NOTE (xhrBreakpoints.header): The pause on any XHR breakpoints headings
+
+# LOCALIZATION NOTE (xhrBreakpoints.removeAll.tooltip): For the `Remove all XHR breakpoints' button in the header of the XHR breakpoints panel
+
+
+# LOCALIZATION NOTE (xhrBreakpoints.item.label): message displayed when reaching a breakpoint for XHR requests. %S is replaced by the path provided as condition for the breakpoint.
+xhrBreakpoints.item.label=Адресът съдържа „%S“
+
+# LOCALIZATION NOTE (pauseOnAnyXHR): The pause on any XHR checkbox description
+# when the debugger will pause on any XHR requests.
+
+# LOCALIZATION NOTE (watchpoints.submenu): This is the text for the watchpoints sub-menu.
+
+# LOCALIZATION NOTE (watchpoints.getWatchpoint): This is the text that appears in the
+# watchpoints sub-menu to add a "get" watchpoint on an object property.
+
+# LOCALIZATION NOTE (watchpoints.setWatchpoint): This is the text that appears in the
+# watchpoints submenu to add a "set" watchpoint on an object property.
+
+# LOCALIZATION NOTE (watchpoints.getOrSetWatchpoint): This is the text that appears in the
+# watchpoints submenu to add a "set" watchpoint on an object property.
+
+# LOCALIZATION NOTE (watchpoints.removeWatchpoint): This is the text that appears in the
+# context menu to delete a watchpoint on an object property.
+
+# LOCALIZATION NOTE (watchpoints.removeWatchpointTooltip): This is the text that appears in the
+# tooltip to delete a watchpoint on an object property.
+
+# LOCALIZATION NOTE (sourceTabs.closeTab): Editor source tab context menu item
+# for closing the selected tab below the mouse.
+sourceTabs.closeTab=Затваряне на раздела
+sourceTabs.closeTab.accesskey=з
+sourceTabs.closeTab.key=CmdOrCtrl+W
+
+# LOCALIZATION NOTE (sourceTabs.closeOtherTabs): Editor source tab context menu item
+# for closing the other tabs.
+sourceTabs.closeOtherTabs=Затваряне на другите
+sourceTabs.closeOtherTabs.accesskey=д
+
+# LOCALIZATION NOTE (sourceTabs.closeTabsToEnd): Editor source tab context menu item
+# for closing the tabs to the end (the right for LTR languages) of the selected tab.
+sourceTabs.closeTabsToEnd=Затваряне на разделите отдясно
+sourceTabs.closeTabsToEnd.accesskey=д
+
+# LOCALIZATION NOTE (sourceTabs.closeAllTabs): Editor source tab context menu item
+# for closing all tabs.
+sourceTabs.closeAllTabs=Затваряне на всички раздели
+sourceTabs.closeAllTabs.accesskey=р
+
+# LOCALIZATION NOTE (sourceTabs.revealInTree): Editor source tab context menu item
+# for revealing source in tree.
+sourceTabs.revealInTree=Показване в дървото
+sourceTabs.revealInTree.accesskey=д
+
+# LOCALIZATION NOTE (sourceTabs.prettyPrint): Editor source tab context menu item
+# for pretty printing the source.
+sourceTabs.prettyPrint=Подреждане на кода
+sourceTabs.prettyPrint.accesskey=д
+
+# LOCALIZATION NOTE (sourceFooter.prettyPrint.isPrettyPrintedMessage): Tooltip text for the disabled
+# pretty print button in editor footer. This displays when the file is already pretty printed.
+
+# LOCALIZATION NOTE (sourceFooter.prettyPrint.isOriginalMessage): Tooltip text for the disabled
+# pretty print button in editor footer. This displays when the file is an original source.
+
+# LOCALIZATION NOTE (sourceFooter.prettyPrint.hasSourceMapMessage): Tooltip text for the disabled
+# pretty print button in editor footer. This displays when the file has a valid sourcemap with original sources.
+
+# LOCALIZATION NOTE (sourceFooter.prettyPrint.noContentMessage): Tooltip text for the disabled
+# pretty print button in editor footer. This displays when the file has no content.
+
+# LOCALIZATION NOTE (sourceFooter.prettyPrint.isNotJavascriptMessage): Tooltip text for the disabled
+# pretty print button in editor footer. This displays when the file is not JavaScript code.
+
+# LOCALIZATION NOTE (sourceFooter.ignores): Tooltip text associated
+# with the ignores button
+
+# LOCALIZATION NOTE (sourceFooter.unignore): Tooltip text associated
+# with the ignore button
+sourceFooter.unignore=Премахва пренебрегването на изходния код
+
+# LOCALIZATION NOTE (sourceFooter.ignoreList): Tooltip text associated
+# with the ignore source button when the selected source is on the ignore list
+
+# LOCALIZATION NOTE (editorNotificationFooter.noOriginalScopes): The notification message displayed in the editor notification footer
+# when paused in an original file and original variable mapping is turned off
+# %S is text from the label for checkbox to show original scopes
+
+# LOCALIZATION NOTE (ignoreContextItem.ignore): Text associated
+# with the ignore context menu item
+
+# LOCALIZATION NOTE (ignoreContextItem.unignore): Text associated
+# with the unignore context menu item
+ignoreContextItem.unignore=Без пренебрегване на изходния код
+ignoreContextItem.unignore.accesskey=б
+
+# LOCALIZATION NOTE (overridesContextItem.override): Text associated
+# with the add overrides context menu item
+
+# LOCALIZATION NOTE (overridesContextItem.removeOverride): Text associated
+# with the remove override context menu item
+
+# LOCALIZATION NOTE (ignoreContextItem.ignoreLine): Text associated
+# with the ignore line context menu item
+
+# LOCALIZATION NOTE (ignoreContextItem.unignoreLine): Text associated
+# with the unignore line context menu item
+ignoreContextItem.unignoreLine=Без пренебрегване на реда
+
+# LOCALIZATION NOTE (ignoreContextItem.ignoreLines): Text associated
+# with the ignore lines context menu item
+
+# LOCALIZATION NOTE (ignoreContextItem.unignoreLines): Text associated
+# with the unignore lines context menu item
+ignoreContextItem.unignoreLines=Без пренебрегване на редовете
+
+# LOCALIZATION NOTE (sourceFooter.mappedSource): Text associated
+# with a mapped source. %S is replaced by the source map origin.
+sourceFooter.mappedSource=(от %S)
+
+# LOCALIZATION NOTE (sourceFooter.mappedSourceTooltip): Tooltip text associated
+# with a mapped source. %S is replaced by the source map origin.
+sourceFooter.mappedSourceTooltip=(изходният код е картиран от %S)
+
+# LOCALIZATION NOTE (sourceFooter.mappedSuffix): Text associated
+# with a mapped source. Displays next to URLs in tree and tabs.
+sourceFooter.mappedSuffix=(картиран)
+
+# LOCALIZATION NOTE (sourceFooter.currentCursorPosition): Text associated
+# with the current cursor line and column
+
+# LOCALIZATION NOTE (sourceFooter.currentCursorPosition.tooltip): Text associated
+# with the current cursor line and column
+
+# LOCALIZATION NOTE (sourceTabs.closeTabButtonTooltip): The tooltip that is displayed
+# for close tab button in source tabs.
+sourceTabs.closeTabButtonTooltip=Затваряне на раздела
+
+# LOCALIZATION NOTE (scopes.header): Scopes right sidebar pane header.
+scopes.header=Обхвати
+
+# LOCALIZATION NOTE (scopes.notAvailable): Scopes right sidebar pane message
+# for when the debugger is paused, but there isn't pause data.
+scopes.notAvailable=Обхватите са недостъпни
+
+# LOCALIZATION NOTE (scopes.noOriginalScopes): Scopes right sidebar pane message
+# for when original variable mapping is disabled. This is only displayed when paused in an original source.
+# %S is text from the label for checkbox to show original scopes
+
+# LOCALIZATION NOTE (scopes.loadingOriginalScopes): Scopes right sidebar pane message
+# for when the debugger is still loading the original variable mapping information.
+
+# LOCALIZATION NOTE (scopes.notPaused): Scopes right sidebar pane message
+# for when the debugger is not paused.
+scopes.notPaused=Не е на пауза
+
+# LOCALIZATION NOTE (scopes.mapping.label): Scopes right sidebar pane
+# tooltip for checkbox and label
+
+# LOCALIZATION NOTE (eventlisteners.log.label): Event listeners tooltip for
+# checkbox and label
+
+# LOCALIZATION NOTE (eventlisteners.log): Checkbox label for logging events
+
+# LOCALIZATION NOTE (scopes.helpTooltip.label): Scopes right sidebar pane
+# icon tooltip for link to MDN
+
+# LOCALIZATION NOTE (scopes.map.label): Checkbox label to map scopes
+
+# LOCALIZATION NOTE (scopes.showOriginalScopesHelpTooltip): Scopes right sidebar pane
+# icon tooltip for link to MDN
+
+# LOCALIZATION NOTE (scopes.showOriginalScopesTooltip): Scopes right sidebar pane
+# tooltip for checkbox and label
+
+# LOCALIZATION NOTE (scopes.showOriginalScopes): Checkbox label to show original scopes
+
+# LOCALIZATION NOTE (scopes.block): Refers to a block of code in
+# the scopes pane when the debugger is paused.
+scopes.block=Забраняване
+
+# LOCALIZATION NOTE (sources.header): Sources left sidebar header
+sources.header=Изходни файлове
+
+# LOCALIZATION NOTE (outline.header): Outline left sidebar header
+outline.header=Структура
+
+# LOCALIZATION NOTE (search.header): Search left sidebar header
+
+# LOCALIZATION NOTE (outline.placeholder): Placeholder text for the filter input
+# element
+
+# LOCALIZATION NOTE (outline.sortLabel): Label for the sort button
+outline.sortLabel=Сортиране по име
+
+# LOCALIZATION NOTE (outline.noFunctions): Outline text when there are no functions to display
+outline.noFunctions=Няма функции
+
+# LOCALIZATION NOTE (outline.noFileSelected): Outline text when there are no files selected
+outline.noFileSelected=Не е избран файл
+
+# LOCALIZATION NOTE (sources.search): Sources left sidebar prompt
+# e.g. Cmd+P to search. On a mac, we use the command unicode character.
+# On windows, it's ctrl.
+sources.search=%S за търсене
+
+# LOCALIZATION NOTE (watchExpressions.header): Watch Expressions right sidebar
+# pane header.
+watchExpressions.header=Проследявани изрази
+
+# LOCALIZATION NOTE (watchExpressions.refreshButton): Watch Expressions header
+# button for refreshing the expressions.
+watchExpressions.refreshButton=Опресняване
+
+# LOCALIZATION NOTE (welcome.search): The center pane welcome panel's
+# search prompt. e.g. cmd+p to search for files. On windows, it's ctrl, on
+# a mac we use the unicode character.
+welcome.search=%S за търсене на изходен код
+
+# LOCALIZATION NOTE (welcome.search2): The center pane welcome panel's
+# search prompt. e.g. cmd+p to search for files. On windows, it's ctrl, on
+# a mac we use the unicode character.
+welcome.search2=%S отваряне на файл
+
+# LOCALIZATION NOTE (welcome.findInFiles): The center pane welcome panel's
+# search prompt. e.g. cmd+f to search for files. On windows, it's ctrl+shift+f, on
+# a mac we use the unicode character.
+welcome.findInFiles=%S за търсене на файлове
+
+# LOCALIZATION NOTE (welcome.findInFiles2): The center pane welcome panel's
+# search prompt. e.g. cmd+f to search for files. On windows, it's ctrl+shift+f, on
+# a mac we use the unicode character.
+welcome.findInFiles2=%S за търсене във файлове
+
+# LOCALIZATION NOTE (welcome.allShortcuts): The label to open the modal of
+# shortcuts, displayed in the welcome panel.
+welcome.allShortcuts=Всички клавишни комбинации
+
+# LOCALIZATION NOTE (sourceSearch.search): The center pane Source Search
+# prompt for searching for files.
+sourceSearch.search=Търсене…
+
+# LOCALIZATION NOTE (sourceSearch.search2): The center pane Source Search
+# prompt for searching for files.
+sourceSearch.search2=Отваряне на файл…
+
+# LOCALIZATION NOTE (pauseOnExceptions): The pause on exceptions button tooltip
+# when the debugger will pause on all exceptions.
+pauseOnExceptions=Пауза при всяко възникнало изключение. Натиснете, за пропускане на изключенията
+
+# LOCALIZATION NOTE (loadingText): The text that is displayed in the script
+# editor when the loading process has started but there is no file to display
+# yet.
+loadingText=Зареждане…
+
+# LOCALIZATION NOTE (wasmIsNotAvailable): The text that is displayed in the
+# script editor when the WebAssembly source is not available.
+wasmIsNotAvailable=Моля, презаредете, за да отстранявате дефекти от този модул
+
+# LOCALIZATION NOTE (errorLoadingText3): The text that is displayed in the debugger
+# viewer when there is an error loading a file
+errorLoadingText3=Грешка при зареждане на следния URI: %S
+
+# LOCALIZATION NOTE(gotoLineModal.placeholder): The placeholder
+# text displayed when the user searches for specific lines in a file
+gotoLineModal.placeholder=Отиване на ред…
+
+# LOCALIZATION NOTE(gotoLineModal.title): The message shown to users
+# to open the go to line modal
+gotoLineModal.title=Отиване на ред във файл
+
+# LOCALIZATION NOTE(gotoLineModal.key3): The shortcut for opening the
+# go to line modal
+# Do not localize "Ctrl+G", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+gotoLineModal.key3=Ctrl+G
+
+# LOCALIZATION NOTE(symbolSearch.search.functionsPlaceholder): The placeholder
+# text displayed when the user searches for functions in a file
+symbolSearch.search.functionsPlaceholder=Търсене на функции…
+symbolSearch.search.functionsPlaceholder.title=Търсене на функция във файл
+
+# LOCALIZATION NOTE(symbolSearch.search.variablesPlaceholder): The placeholder
+# text displayed when the user searches for variables in a file
+symbolSearch.search.variablesPlaceholder=Търсене на променливи…
+symbolSearch.search.variablesPlaceholder.title=Търсене на променлива във файл
+
+# LOCALIZATION NOTE(symbolSearch.search.key2): The Key Shortcut for
+# searching for a function or variable
+# Do not localize "CmdOrCtrl+Shift+O", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+symbolSearch.search.key2=CmdOrCtrl+Shift+O
+
+experimental=Това е експериментална функционалност
+
+# LOCALIZATION NOTE (ctrl): The text that is used for documenting
+# keyboard shortcuts that use the control key
+ctrl=Ctrl
+
+# LOCALIZATION NOTE (anonymousFunction): this string is used to display
+# JavaScript functions that have no given name - they are said to be
+# anonymous.
+
+# LOCALIZATION NOTE (stacktrace.asyncStack): this string is used to
+# indicate that a given stack frame has an async parent.
+# %S is the "Async Cause" of the frame.
+
+# LOCALIZATION NOTE (shortcuts.toggleBreakpoint): text describing
+# keyboard shortcut action for toggling breakpoint
+shortcuts.toggleBreakpoint=Превключване на точка на прекъсване
+shortcuts.toggleBreakpoint.accesskey=в
+
+# LOCALIZATION NOTE (shortcuts.toggleCondPanel.breakpoint): text describing
+# keyboard shortcut action for toggling conditional panel for breakpoints
+shortcuts.toggleCondPanel.breakpoint=Промяна на условна точка на прекъсване
+
+# LOCALIZATION NOTE (shortcuts.toggleCondPanel.logPoint): text describing
+# keyboard shortcut action for toggling conditional panel for log points
+
+# LOCALIZATION NOTE (shortcuts.pauseOrResume): text describing
+# keyboard shortcut action for pause of resume
+shortcuts.pauseOrResume=Пауза/Продължаване
+
+# LOCALIZATION NOTE (shortcuts.stepOver): text describing
+# keyboard shortcut action for stepping over
+shortcuts.stepOver=Стъпка през
+
+# LOCALIZATION NOTE (shortcuts.stepIn): text describing
+# keyboard shortcut action for stepping in
+shortcuts.stepIn=Стъпка в
+
+# LOCALIZATION NOTE (shortcuts.stepOut): text describing
+# keyboard shortcut action for stepping out
+shortcuts.stepOut=Стъпка извън
+
+# LOCALIZATION NOTE (shortcuts.fileSearch): text describing
+# keyboard shortcut action for source file search
+shortcuts.fileSearch=Търсене в изходния код
+
+# LOCALIZATION NOTE (shortcuts.fileSearch2): text describing
+# keyboard shortcut action for source file search
+shortcuts.fileSearch2=Отваряне на файл
+
+# LOCALIZATION NOTE (shortcuts.gotoLine): text describing
+# keyboard shortcut for jumping to a specific line
+shortcuts.gotoLine=Отиване на ред
+
+# LOCALIZATION NOTE (shortcuts.projectSearch): text describing
+# keyboard shortcut action for full project search
+shortcuts.projectSearch=Търсене в целия проект
+
+# LOCALIZATION NOTE (shortcuts.projectSearch2): text describing
+# keyboard shortcut action for full project search
+shortcuts.projectSearch2=Търсене във файлове
+
+# LOCALIZATION NOTE (shortcuts.functionSearch): text describing
+# keyboard shortcut action for function search
+shortcuts.functionSearch=Търсене на функция
+
+# LOCALIZATION NOTE (shortcuts.functionSearch2): text describing
+# keyboard shortcut action for function search
+shortcuts.functionSearch2=Търсене на функция
+
+# LOCALIZATION NOTE (shortcuts.buttonName): text describing
+# keyboard shortcut button text
+shortcuts.buttonName=Клавишни комбинации
+
+# LOCALIZATION NOTE (variablesSeparatorLabel): The text that is displayed
+# in the variables list as a separator between the name and value.
+variablesSeparatorLabel=:
+variablesViewOptimizedOut=(оптимизирано)
+variablesViewUninitialized=(неинициализирана)
+variablesViewMissingArgs=(недостъпна)
+
+# LOCALIZATION NOTE (variablesDomNodeValueTooltip): The text that is displayed
+# in a tooltip on the "open in inspector" button in the the variables list for a
+# DOMNode item.
+variablesDomNodeValueTooltip=Щракнете, за да изберете възел в инспектора
+
+# LOCALIZATION NOTE (variablesEditButtonTooltip): The text that is displayed
+# in the variables list on a getter or setter which can be edited.
+variablesEditButtonTooltip=Щракване за задаване на стойност
+
+# LOCALIZATION NOTE (variablesViewErrorStacktrace): This is the text that is
+# shown before the stack trace in an error.
+variablesViewErrorStacktrace=Следа в стека:
+
+# LOCALIZATION NOTE (variablesViewMoreObjects): the text that is displayed
+# when you have an object preview that does not show all of the elements. At the end of the list
+# you see "N more..." in the web console output.
+# This is a semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 number of remaining items in the object
+# example: 3 more…
+variablesViewMoreObjects=още #1…;още #1…
+
+# LOCALIZATION NOTE (variablesEditableNameTooltip): The text that is displayed
+# in the variables list on an item with an editable name.
+variablesEditableNameTooltip=Двойно щракване за редактиране
+
+# LOCALIZATION NOTE (variablesEditableValueTooltip): The text that is displayed
+# in the variables list on an item with an editable value.
+variablesEditableValueTooltip=Щракване за промяна на стойност
+
+# LOCALIZATION NOTE (variablesCloseButtonTooltip): The text that is displayed
+# in the variables list on an item which can be removed.
+variablesCloseButtonTooltip=Щракнете за премахване
+
+# LOCALIZATION NOTE (configurable|...|Tooltip): The text that is displayed
+# in the variables list on certain variables or properties as tooltips.
+# Explanations of what these represent can be found at the following links:
+# https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty
+# https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/isExtensible
+# https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/isFrozen
+# https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/isSealed
+# It's probably best to keep these in English.
+configurableTooltip=настройваемо
+enumerableTooltip=изброимо
+writableTooltip=променяемо
+frozenTooltip=замразено
+sealedTooltip=запечатано
+extensibleTooltip=разширяемо
+overriddenTooltip=преодоляно
+WebIDLTooltip=WebIDL
+
+# LOCALIZATION NOTE (serviceWorkerInfo.parsed): State displayed for a service
+# worker that has been parsed.
+# LOCALIZATION NOTE (serviceWorkerInfo.installing): State displayed for a
+# service worker that is being installed.
+serviceWorkerInfo.installing=инсталиране
+# LOCALIZATION NOTE (serviceWorkerInfo.installed): State displayed for a
+# service worker that has finished being installed.
+# LOCALIZATION NOTE (serviceWorkerInfo.activating): State displayed for a
+# service worker that is being activated.
+# LOCALIZATION NOTE (serviceWorkerInfo.activated): State displayed for a
+# service worker that has finished being activated.
+# LOCALIZATION NOTE (serviceWorkerInfo.redundant): State displayed for a
+# service worker that is redundant.
+# LOCALIZATION NOTE (serviceWorkerInfo.unknown): State displayed for a
+# service worker that is in an unknown state.
diff --git a/l10n-bg/devtools/client/device.properties b/l10n-bg/devtools/client/device.properties
new file mode 100644
index 0000000000..33fb585aff
--- /dev/null
+++ b/l10n-bg/devtools/client/device.properties
@@ -0,0 +1,20 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside Device Emulation developer
+# tools. The correct localization of this file might be to keep it in English,
+# or another language commonly spoken among web developers. You want to make
+# that choice consistent across the developer tools. A good criteria is the
+# language in which you'd find the best documentation on web development on the
+# web.
+
+# LOCALIZATION NOTE:
+# These strings are category names in a list of devices that a user can choose
+# to simulate (e.g. "ZTE Open C", "VIA Vixen", "720p HD Television", etc).
+device.phones=Телефони
+device.tablets=Таблети
+device.laptops=Лаптопи
+device.televisions=Телевизори
+device.consoles=Игрови конзоли
+device.watches=Часовници
diff --git a/l10n-bg/devtools/client/dom.properties b/l10n-bg/devtools/client/dom.properties
new file mode 100644
index 0000000000..67b6587022
--- /dev/null
+++ b/l10n-bg/devtools/client/dom.properties
@@ -0,0 +1,27 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the DOM panel
+# which is available from the Web Developer sub-menu -> 'DOM'.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE These strings are used inside the DOM panel
+# which is available from the Browser Tools sub-menu -> 'DOM'.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (dom.filterDOMPanel): A placeholder text used for
+# DOM panel search box.
+dom.filterDOMPanel=Панел за филтриране на DOM
+
+# LOCALIZATION NOTE (dom.refresh): A label for Refresh button in
+# DOM panel toolbar
+dom.refresh=Опресняване
diff --git a/l10n-bg/devtools/client/filterwidget.properties b/l10n-bg/devtools/client/filterwidget.properties
new file mode 100644
index 0000000000..6f10c3df5c
--- /dev/null
+++ b/l10n-bg/devtools/client/filterwidget.properties
@@ -0,0 +1,59 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used in the CSS Filter Editor Widget
+# which can be found in a tooltip that appears in the Rule View when clicking
+# on a filter swatch displayed next to CSS declarations like 'filter: blur(2px)'.
+
+# LOCALIZATION NOTE (emptyFilterList):
+# This string is displayed when filter's list is empty
+# (no filter specified / all removed)
+emptyFilterList=Няма зададен филтър
+
+# LOCALIZATION NOTE (emptyPresetList):
+# This string is displayed when preset's list is empty
+emptyPresetList=Нямате запазени готови филтри. Може да запомните нов готов филтър, като изберете име и го запазите. Готовите филтри са бързи за достъп и можете лесно да ги използвате.
+
+# LOCALIZATION NOTE (addUsingList):
+# This string is displayed under [emptyFilterList] when filter's
+# list is empty, guiding user to add a filter using the list below it
+addUsingList=Добавяне на филтър, използвайки списъка по-долу
+
+# LOCALIZATION NOTE (dropShadowPlaceholder):
+# This string is used as a placeholder for drop-shadow's input
+# in the filter list (shown when <input> is empty)
+dropShadowPlaceholder=x y радиус цвят
+
+# LOCALIZATION NOTE (dragHandleTooltipText):
+# This string is used as a tooltip text (shown on mouse hover) on the
+# drag handles of filters which are used to re-order filters
+dragHandleTooltipText=Влачете нагоре или надолу, за да промените подреждането
+
+# LOCALIZATION NOTE (labelDragTooltipText):
+# This string is used as a tooltip text (shown on mouse hover) on the
+# filters' labels which can be dragged left/right to increase/decrease
+# the filter's value (like photoshop)
+labelDragTooltipText=Влачете наляво или надясно, за да намалите или увеличите стойността
+
+# LOCALIZATION NOTE (filterListSelectPlaceholder):
+# This string is used as a preview option in the list of possible filters
+# <select>
+filterListSelectPlaceholder=Избиране на филтър
+
+# LOCALIZATION NOTE (addNewFilterButton):
+# This string is displayed on a button used to add new filters
+addNewFilterButton=Добавяне
+
+# LOCALIZATION NOTE (newPresetPlaceholder):
+# This string is used as a placeholder in the list of presets which is used to
+# save a new preset
+newPresetPlaceholder=Име на готов филтър
+
+# LOCALIZATION NOTE (savePresetButton):
+# This string is displayed on a button used to save a new preset
+savePresetButton=Запазване
+
+# LOCALIZATION NOTE(presetsToggleButton):
+# This string is used in a button which toggles the presets list
+presetsToggleButton=Готови филтри
diff --git a/l10n-bg/devtools/client/font-inspector.properties b/l10n-bg/devtools/client/font-inspector.properties
new file mode 100644
index 0000000000..ebb2a9ea8c
--- /dev/null
+++ b/l10n-bg/devtools/client/font-inspector.properties
@@ -0,0 +1,58 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE This file contains the Font Inspector strings.
+# The Font Inspector is a panel accessible in the Inspector sidebar.
+
+# LOCALIZATION NOTE (fontinspector.system) This label indicates that the font is a local
+# system font.
+fontinspector.system=системен
+
+# LOCALIZATION NOTE (fontinspector.noFontsUsedOnCurrentElement): This label is shown when
+# no fonts were used on the selected element.
+fontinspector.noFontsUsedOnCurrentElement=Текущият елемент не използва шрифтове.
+
+# LOCALIZATION NOTE (fontinspector.copyURL): This is the text that appears in a tooltip
+# displayed when the user hovers over the copy icon next to the font URL.
+# Clicking the copy icon copies the full font URL to the user's clipboard
+fontinspector.copyURL=Копиране на адреса
+
+# LOCALIZATION NOTE (fontinspector.customInstanceName): Think of instances as presets
+# (groups of settings that apply in bulk to a thing). Instances have names. When the user
+# creates a new instance, it doesn't have a name. This is the text that appears as the
+# default name for a new instance. It shows up in a dropdown from which users can select
+# between predefined instances and this custom instance.
+fontinspector.customInstanceName=Потребителски
+
+# LOCALIZATION NOTE (fontinspector.fontInstanceLabel): This label is shown next to the UI
+# in the font editor which allows a user to select a font instance option from a
+# dropdown. An instance is like a preset. A "font instance" is the term used by the font
+# authors to mean a group of predefined font settings.
+fontinspector.fontInstanceLabel=Екземпляр
+
+# LOCALIZATION NOTE (fontinspector.fontSizeLabel): This label is shown next to the UI
+# in the font editor which allows the user to change the font size.
+fontinspector.fontSizeLabel=Размер
+
+# LOCALIZATION NOTE (fontinspector.fontWeightLabel): This label is shown next to the UI
+# in the font editor which allows the user to change the font weight.
+fontinspector.fontWeightLabel=Дебелина
+
+# LOCALIZATION NOTE (fontinspector.fontItalicLabel): This label is shown next to the UI
+# in the font editor which allows the user to change the style of the font to italic.
+fontinspector.fontItalicLabel=Курсив
+
+# LOCALIZATION NOTE (fontinspector.showMore): Label for a collapsed list of fonts.
+fontinspector.showMore=Повече
+
+# LOCALIZATION NOTE (fontinspector.showLess): Label for an expanded list of fonts.
+fontinspector.showLess=По-малко
+
+# LOCALIZATION NOTE (fontinspector.allFontsOnPageHeader): Header for the section listing
+# all the fonts on the current page.
+fontinspector.allFontsOnPageHeader=Всички шрифтове на страницата
+
+# LOCALIZATION NOTE (fontinspector.previewTextPlaceholder): Placeholder for the input
+# where the user can type text to get a preview of it using a font.
+fontinspector.previewTextPlaceholder=Текст за преглед на шрифтове
diff --git a/l10n-bg/devtools/client/har.properties b/l10n-bg/devtools/client/har.properties
new file mode 100644
index 0000000000..7662007723
--- /dev/null
+++ b/l10n-bg/devtools/client/har.properties
@@ -0,0 +1,30 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Network Monitor
+# which is available from the Web Developer sub-menu -> 'Network Monitor'.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE These strings are used inside the Network Monitor
+# which is available from the Browser Tools sub-menu -> 'Network Monitor'.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (har.responseBodyNotIncluded): A label used within
+# HAR file explaining that HTTP response bodies are not includes
+# in exported data.
+har.responseBodyNotIncluded=Телата на отговорите не са включени.
+
+# LOCALIZATION NOTE (har.responseBodyNotIncluded): A label used within
+# HAR file explaining that HTTP request bodies are not includes
+# in exported data.
+har.requestBodyNotIncluded=Телата на заявките не са включени.
+
diff --git a/l10n-bg/devtools/client/inspector.properties b/l10n-bg/devtools/client/inspector.properties
new file mode 100644
index 0000000000..1b1dd881b1
--- /dev/null
+++ b/l10n-bg/devtools/client/inspector.properties
@@ -0,0 +1,562 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Inspector
+# which is available from the Web Developer sub-menu -> 'Inspect'.
+#
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE These strings are used inside the Inspector
+# which is available from the Browser Tools sub-menu -> 'Inspect'.
+#
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+inspector.panelLabel.markupView=Изглед с изходния код
+
+# LOCALIZATION NOTE (markupView.more.showing)
+# When there are too many nodes to load at once, we will offer to
+# show all the nodes.
+markupView.more.showing=Някои възли бяха скрити.
+
+# LOCALIZATION NOTE (markupView.more.showAll2): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+markupView.more.showAll2=Показване на още един възел;Показване на всички #1 възела
+
+# LOCALIZATION NOTE (markupView.whitespaceOnly.label)
+# Used in the badge that appears when whitespace-only text nodes are displayed in the
+# inspector.
+
+# LOCALIZATION NOTE (markupView.whitespaceOnly)
+# Used in a tooltip that appears when the user hovers over whitespace-only text nodes in
+# the inspector. %S in the content will be replaced by the whitespace characters used in
+# the text node.
+markupView.whitespaceOnly=Текстов възел само от интервали: %S
+
+# LOCALIZATION NOTE (markupView.display.flex.tooltiptext2)
+# Used in a tooltip that appears when the user hovers over the display type button in
+# the markup view.
+markupView.display.flex.tooltiptext2=Елементът има поведение на блоков елемент и разполага съдържанието си според модела за гъвкава кутия на CSS. Щракнете, за да превключите прегледа на модел за гъвкава кутия за него.
+
+# LOCALIZATION NOTE (markupView.display.inlineFlex.tooltiptext2)
+# Used in a tooltip that appears when the user hovers over the display type button in
+# the markup view.
+markupView.display.inlineFlex.tooltiptext2=Елементът има поведение на низов елемент и разполага съдържанието си според модела за гъвкава кутия на CSS. Щракнете, за да превключите прегледа на модел за гъвкава кутия за него.
+
+# LOCALIZATION NOTE (markupView.display.grid.tooltiptext2)
+# Used in a tooltip that appears when the user hovers over the display type button in
+# the markup view.
+markupView.display.grid.tooltiptext2=Елементът има поведение на блоков елемент и разполага съдържанието си според модела за решетка на CSS. Щракнете, за да превключите прегледа на модел за решетка за него.
+
+# LOCALIZATION NOTE (markupView.display.inlineGrid.tooltiptext2)
+# Used in a tooltip that appears when the user hovers over the display type button in
+# the markup view.
+markupView.display.inlineGrid.tooltiptext2=Елементът има поведение на низов елемент и разполага съдържанието си според модела за решетка на CSS. Щракнете, за да превключите прегледа на модел за решетка за него.
+
+# LOCALIZATION NOTE (markupView.display.subgrid.tooltiptext)
+# Used in a tooltip that appears when the user hovers over the display type button in
+# the markup view.
+markupView.display.subgrid.tooltiptiptext=Елементът разполага съдържанието си според модела за решетка на CSS, но е оставил дефинирането на редовете и/или колоните на своя родителски контейнер.
+
+# LOCALIZATION NOTE (markupView.display.flowRoot.tooltiptext)
+# Used in a tooltip that appears when the user hovers over the display type button in
+# the markup view.
+markupView.display.flowRoot.tooltiptext=Елементът създава кутия на блоков елемент, която поражда нов контекст за форматиране на блок.
+
+# LOCALIZATION NOTE (markupView.display.contents.tooltiptext2)
+# Used in a tooltip that appears when the user hovers over the display type button in
+# the markup view.
+markupView.display.contents.tooltiptext2=Елементът не създава определена кутия сам по себе си, но изчертава своето съдържание.
+
+# LOCALIZATION NOTE (markupView.event.tooltiptext)
+# Used in a tooltip that appears when the user hovers over 'event' badge in
+# the markup view.
+markupView.event.tooltiptext=Слушател на събитие
+
+# LOCALIZATION NOTE (markupView.custom.tooltiptext)
+# Used in a tooltip that appears when the user hovers over 'custom' badge in
+# the markup view. Only displayed on custom elements with a shadow root attached.
+markupView.custom.tooltiptext=Отваряне на дефиницията на собствен елемент
+
+# LOCALIZATION NOTE (markupView.newAttribute.label)
+# This is used to speak the New Attribute button when editing a tag
+# and a screen reader user tabs to it. This string is not visible onscreen.
+markupView.newAttribute.label=Нов атрибут
+
+# LOCALIZATION NOTE (markupView.revealLink.tooltip)
+# Used as a tooltip for an icon in the markup view when displaying elements inserted in
+# <slot> nodes in a custom component. When clicking on the icon, the corresponding
+# non-slotted container will be selected
+markupView.revealLink.tooltip=Показване
+
+#LOCALIZATION NOTE: Used in the image preview tooltip when the image could not be loaded
+previewTooltip.image.brokenImage=Изображението не може да бъде заредено
+
+# LOCALIZATION NOTE: Used in color picker tooltip when the eyedropper is disabled for
+# non-HTML documents
+eyedropper.disabled.title=Недостъпно в документи различни от HTML
+
+#LOCALIZATION NOTE: Used in the event tooltip to allow the debugger to be opened
+eventsTooltip.openInDebugger=Отваряне в дебъгера
+
+#LOCALIZATION NOTE: Used in the event tooltip when a script's filename cannot be detected
+eventsTooltip.unknownLocation=Неизвестно местоположение
+
+#LOCALIZATION NOTE: Used in the mouseover tooltip when hovering "Unknown location."
+eventsTooltip.unknownLocationExplanation=Първоначалното местоположение на този слушател не може да бъде открит. Вероятно кодът е обработен с инструмент като Babel.
+
+#LOCALIZATION NOTE: Used in the tooltip for Bubbling
+eventsTooltip.Bubbling=Изплуване
+
+#LOCALIZATION NOTE: Used in the tooltip for Capturing
+eventsTooltip.Capturing=Прехващане
+
+# LOCALIZATION NOTE (allTabsMenuButton.tooltip): The tooltip that gets
+# displayed when hovering over the tabs overflow button.
+allTabsMenuButton.tooltip=Показване на всички раздели
+
+# LOCALIZATION NOTE (inspector.showThreePaneMode): This is the tooltip for the button
+# that toggles on the 3 pane inspector mode.
+inspector.showThreePaneMode=Включване на инспектора в 3-панела
+
+# LOCALIZATION NOTE (inspector.hideThreePaneMode): This is the tooltip for the button
+# that toggles off the 3 pane inspector mode.
+inspector.hideThreePaneMode=Изключване на инспектора в 3-панела
+
+# LOCALIZATION NOTE (inspector.searchResultsCount2): This is the label that
+# will show up next to the inspector search box. %1$S is the current result
+# index and %2$S is the total number of search results. For example: "3 of 9".
+# This won't be visible until the search box is updated in Bug 835896.
+inspector.searchResultsCount2=%1$S от %2$S
+
+# LOCALIZATION NOTE (inspector.searchResultsNone): This is the label that
+# will show up next to the inspector search box when no matches were found
+# for the given string.
+# This won't be visible until the search box is updated in Bug 835896.
+inspector.searchResultsNone=Няма съвпадения
+
+# LOCALIZATION NOTE (inspector.menu.openUrlInNewTab.label): This is the label of
+# a menu item in the inspector contextual-menu that appears when the user right-
+# clicks on the attribute of a node in the inspector that is a URL, and that
+# allows to open that URL in a new tab.
+inspector.menu.openUrlInNewTab.label=Отваряне в раздел
+
+# LOCALIZATION NOTE (inspector.menu.copyUrlToClipboard.label): This is the label
+# of a menu item in the inspector contextual-menu that appears when the user
+# right-clicks on the attribute of a node in the inspector that is a URL, and
+# that allows to copy that URL in the clipboard.
+inspector.menu.copyUrlToClipboard.label=Копиране на адреса
+
+# LOCALIZATION NOTE (inspector.menu.selectElement.label): This is the label of a
+# menu item in the inspector contextual-menu that appears when the user right-
+# clicks on the attribute of a node in the inspector that is the ID of another
+# element in the DOM (like with <label for="input-id">), and that allows to
+# select that element in the inspector.
+inspector.menu.selectElement.label=Избиране на елемент #%S
+
+# LOCALIZATION NOTE (inspectorEditAttribute.label): This is the label of a
+# sub-menu "Attribute" in the inspector contextual-menu that appears
+# when the user right-clicks on the node in the inspector, and that allows
+# to edit an attribute on this node.
+inspectorEditAttribute.label=Редактиране на атрибута „%S“
+inspectorEditAttribute.accesskey=а
+
+# LOCALIZATION NOTE (inspectorRemoveAttribute.label): This is the label of a
+# sub-menu "Attribute" in the inspector contextual-menu that appears
+# when the user right-clicks on the attribute of a node in the inspector,
+# and that allows to remove this attribute.
+inspectorRemoveAttribute.label=Премахване на атрибута „%S“
+inspectorRemoveAttribute.accesskey=р
+
+# LOCALIZATION NOTE (inspectorCopyAttributeValue.label): This is the label of a
+# sub-menu "Attribute" in the inspector contextual-menu that appears
+# when the user right-clicks on the attribute of a node in the inspector,
+# and that allows to copy the attribute value to clipboard.
+inspectorCopyAttributeValue.label=Копиране на стойността „%S“
+inspectorCopyAttributeValue.accesskey=к
+
+# LOCALIZATION NOTE (inspector.nodePreview.highlightNodeLabel):
+# This string is displayed in a tooltip that is shown when hovering over a the
+# inspector icon displayed next to a DOM node preview (e.g. next to something
+# like "div#foo.bar").
+# DOM node previews can be displayed in places like the animation-inspector, the
+# console or the object inspector.
+# The tooltip invites the user to click on the icon in order to highlight the
+# node in the page.
+inspector.nodePreview.highlightNodeLabel=Щракнете, за да осветите този възел в уебстраницата
+
+# LOCALIZATION NOTE (inspectorHTMLEdit.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users edit the
+# (outer) HTML of the current node
+inspectorXMLEdit.label=Редактиране като XML
+inspectorHTMLEdit.label=Редактиране като HTML
+inspectorSVGEdit.label=Редактиране като SVG
+inspectorMathMLEdit.label=Редактиране като MathML
+inspectorHTMLEdit.accesskey=Р
+
+# LOCALIZATION NOTE (inspectorCopyInnerHTML.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users copy the
+# inner HTML of the current node
+inspectorCopyInnerHTML.label=Вътрешен HTML
+inspectorCopyInnerHTML.accesskey=В
+
+# LOCALIZATION NOTE (inspectorCopyOuterHTML.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users copy the
+# outer HTML of the current node
+inspectorCopyOuterHTML.label=Външен HTML
+inspectorCopyOuterHTML.accesskey=н
+
+# LOCALIZATION NOTE (inspectorCopyCSSSelector.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users copy
+# the CSS Selector of the current node
+inspectorCopyCSSSelector.label=Селектор на CSS
+inspectorCopyCSSSelector.accesskey=С
+
+# LOCALIZATION NOTE (inspectorCopyCSSPath.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users copy
+# the full CSS path of the current node
+inspectorCopyCSSPath.label=Път в CSS
+inspectorCopyCSSPath.accesskey=П
+
+# LOCALIZATION NOTE (inspectorCopyXPath.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users copy
+# the XPath of the current node
+inspectorCopyXPath.label=XPath
+inspectorCopyXPath.accesskey=X
+
+# LOCALIZATION NOTE (inspectorPasteOuterHTML.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users paste outer
+# HTML in the current node
+inspectorPasteOuterHTML.label=Външен HTML
+inspectorPasteOuterHTML.accesskey=н
+
+# LOCALIZATION NOTE (inspectorPasteInnerHTML.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users paste inner
+# HTML in the current node
+inspectorPasteInnerHTML.label=Вътрешен HTML
+inspectorPasteInnerHTML.accesskey=В
+
+# LOCALIZATION NOTE (inspectorHTMLPasteBefore.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users paste
+# the HTML before the current node
+inspectorHTMLPasteBefore.label=Преди
+inspectorHTMLPasteBefore.accesskey=р
+
+# LOCALIZATION NOTE (inspectorHTMLPasteAfter.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users paste
+# the HTML after the current node
+inspectorHTMLPasteAfter.label=След
+inspectorHTMLPasteAfter.accesskey=С
+
+# LOCALIZATION NOTE (inspectorHTMLPasteFirstChild.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users paste
+# the HTML as the first child the current node
+inspectorHTMLPasteFirstChild.label=Като първи наследник
+inspectorHTMLPasteFirstChild.accesskey=п
+
+# LOCALIZATION NOTE (inspectorHTMLPasteLastChild.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users paste
+# the HTML as the last child the current node
+inspectorHTMLPasteLastChild.label=Като последен наследник
+inspectorHTMLPasteLastChild.accesskey=н
+
+# LOCALIZATION NOTE (inspectorScrollNodeIntoView.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users scroll
+# the current node into view
+inspectorScrollNodeIntoView.label=Плъзване във видимото поле
+inspectorScrollNodeIntoView.accesskey=и
+
+# LOCALIZATION NOTE (inspectorHTMLDelete.label): This is the label shown in
+# the inspector contextual-menu for the item that lets users delete the
+# current node
+inspectorHTMLDelete.label=Изтриване на възела
+inspectorHTMLDelete.accesskey=в
+
+# LOCALIZATION NOTE (inspectorAttributesSubmenu.label): This is the label
+# shown in the inspector contextual-menu for the sub-menu of the other
+# attribute items, which allow to:
+# - add new attribute
+# - edit attribute
+# - remove attribute
+inspectorAttributesSubmenu.label=Атрибути
+inspectorAttributesSubmenu.accesskey=А
+
+# LOCALIZATION NOTE (inspectorAddAttribute.label): This is the label shown in
+# the inspector contextual-menu for the item that lets users add attribute
+# to current node
+inspectorAddAttribute.label=Добавяне на атрибут
+inspectorAddAttribute.accesskey=Д
+
+# LOCALIZATION NOTE (inspectorPseudoClassSubmenu.label): This is the label
+# shown in the inspector contextual-menu for the sub-menu of the pseudo-classes.
+
+# LOCALIZATION NOTE (inspectorBreakpointSubmenu.label): This is the label
+# shown in the inspector contextual-menu for the sub-menu of the DOM breakpoints.
+
+# LOCALIZATION NOTE (inspectorSubtreeModification.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users add a DOM breakpoint
+# for subtree modification.
+
+# LOCALIZATION NOTE (inspectorAttributeModification.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users add a DOM breakpoint
+# for attribute modification.
+
+# LOCALIZATION NOTE (inspectorNodeRemoval.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users add a DOM breakpoint
+# for node removal.
+
+# LOCALIZATION NOTE (inspectorSearchHTML.label3): This is the label that is
+# shown as the placeholder for the markup view search in the inspector.
+inspectorSearchHTML.label3=Търсене на HTML
+
+# LOCALIZATION NOTE (inspectorImageDataUri.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users copy
+# the URL embedding the image data encoded in Base 64 (what we name
+# here Image Data URL). For more information:
+# https://developer.mozilla.org/en-US/docs/Web/HTTP/data_URIs
+inspectorImageDataUri.label=Изображение в URL за данни
+
+# LOCALIZATION NOTE (inspectorShowDOMProperties.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users see
+# the DOM properties of the current node. When triggered, this item
+# opens the split Console and displays the properties in its side panel.
+inspectorShowDOMProperties.label=Показване свойствата на DOM
+
+# LOCALIZATION NOTE (inspectorShowAccessibilityProperties.label): This is the
+# label shown in the inspector contextual-menu for the item that lets users see
+# the accessibility tree and accessibility properties of the current node.
+# When triggered, this item opens accessibility panel and selects an accessible
+# object for the given node.
+inspectorShowAccessibilityProperties.label=Свойства за достъпност
+
+# LOCALIZATION NOTE (inspectorUseInConsole.label): This is the label
+# shown in the inspector contextual-menu for the item that outputs a
+# variable for the current node to the console. When triggered,
+# this item opens the split Console.
+inspectorUseInConsole.label=Използване в конзолата
+
+# LOCALIZATION NOTE (inspectorExpandNode.label): This is the label
+# shown in the inspector contextual-menu for recursively expanding
+# mark-up elements
+inspectorExpandNode.label=Разгъване на всички
+
+# LOCALIZATION NOTE (inspectorCollapseAll.label): This is the label
+# shown in the inspector contextual-menu for recursively collapsing
+# mark-up elements
+inspectorCollapseAll.label=Сгъване на всички
+
+# LOCALIZATION NOTE (inspectorScreenshotNode.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users take
+# a screenshot of the currently selected node.
+inspectorScreenshotNode.label=Екранна снимка на възела
+
+# LOCALIZATION NOTE (inspectorDuplicateNode.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users
+# duplicate the currently selected node.
+inspectorDuplicateNode.label=Дублиране на възела
+
+# LOCALIZATION NOTE (inspectorAddNode.label): This is the label shown in
+# the inspector toolbar for the button that lets users add elements to the
+# DOM (as children of the currently selected element).
+inspectorAddNode.label=Създаване на възел
+inspectorAddNode.accesskey=в
+
+# LOCALIZATION NOTE (inspectorCopyHTMLSubmenu.label): This is the label
+# shown in the inspector contextual-menu for the sub-menu of the other
+# copy items, which allow to:
+# - Copy Inner HTML
+# - Copy Outer HTML
+# - Copy Unique selector
+# - Copy Image data URI
+inspectorCopyHTMLSubmenu.label=Копиране
+
+# LOCALIZATION NOTE (inspectorPasteHTMLSubmenu.label): This is the label
+# shown in the inspector contextual-menu for the sub-menu of the other
+# paste items, which allow to:
+# - Paste Inner HTML
+# - Paste Outer HTML
+# - Before
+# - After
+# - As First Child
+# - As Last Child
+inspectorPasteHTMLSubmenu.label=Поставяне
+
+# LOCALIZATION NOTE (inspectorCustomElementDefinition.label): This is the label
+# shown in the inspector contextual-menu for custom elements to which a shadow root has
+# been attached. Clicking on the menu item will open the Debugger on the custom element
+# definition location.
+inspectorCustomElementDefinition.label=Показване на собствен елемент
+
+# LOCALIZATION NOTE (inspector.searchHTML.key):
+# Key shortcut used to focus the DOM element search box on top-right corner of
+# the markup view
+inspector.searchHTML.key=CmdOrCtrl+F
+
+# LOCALIZATION NOTE (markupView.hide.key):
+# Key shortcut used to hide the selected node in the markup view.
+markupView.hide.key=h
+
+# LOCALIZATION NOTE (markupView.edit.key):
+# Key shortcut used to hide the selected node in the markup view.
+markupView.edit.key=F2
+
+# LOCALIZATION NOTE (markupView.scrollInto.key):
+# Key shortcut used to scroll the webpage in order to ensure the selected node
+# is visible
+markupView.scrollInto.key=s
+
+# LOCALIZATION NOTE (inspector.sidebar.fontInspectorTitle):
+# This is the title shown in a tab in the side panel of the Inspector panel
+# that corresponds to the tool displaying the list of fonts used in the page.
+inspector.sidebar.fontInspectorTitle=Шрифтове
+
+# LOCALIZATION NOTE (inspector.sidebar.changesViewTitle):
+# Title of the Changes sidebar tab shown in the Inspector panel. The Changes panel shows
+# style changes made using DevTools.
+inspector.sidebar.changesViewTitle=Промени
+
+# LOCALIZATION NOTE (inspector.sidebar.ruleViewTitle):
+# This is the title shown in a tab in the side panel of the Inspector panel
+# that corresponds to the tool displaying the list of CSS rules used
+# in the page.
+inspector.sidebar.ruleViewTitle=Правила
+
+# LOCALIZATION NOTE (inspector.sidebar.computedViewTitle):
+# This is the title shown in a tab in the side panel of the Inspector panel
+# that corresponds to the tool displaying the list of computed CSS values
+# used in the page.
+inspector.sidebar.computedViewTitle=Изчислени
+
+# LOCALIZATION NOTE (inspector.sidebar.layoutViewTitle2):
+# This is the title shown in a tab in the side panel of the Inspector panel
+# that corresponds to the tool displaying layout information defined in the page.
+inspector.sidebar.layoutViewTitle2=Оформление
+
+# LOCALIZATION NOTE (inspector.sidebar.animationInspectorTitle):
+# This is the title shown in a tab in the side panel of the Inspector panel
+# that corresponds to the tool displaying animations defined in the page.
+inspector.sidebar.animationInspectorTitle=Анимации
+
+# LOCALIZATION NOTE (inspector.sidebar.compatibilityViewTitle):
+# This is the title shown in a tab in the side panel of the Inspector panel
+# that corresponds to the tool displaying web compatibility information about the page.
+inspector.sidebar.compatibilityViewTitle=Съвместимост
+
+# LOCALIZATION NOTE (inspector.eyedropper.label): A string displayed as the tooltip of
+# a button in the inspector which toggles the Eyedropper tool
+inspector.eyedropper.label=Взимане на цвят от страницата
+
+# LOCALIZATION NOTE (inspector.breadcrumbs.label): A string visible only to a screen reader and
+# is used to label (using aria-label attribute) a container for inspector breadcrumbs
+inspector.breadcrumbs.label=Пътечка
+
+# LOCALIZATION NOTE (inspector.browserStyles.label): This is the label for the checkbox
+# that specifies whether the styles that are not from the user's stylesheet should be
+# displayed or not.
+inspector.browserStyles.label=Стилове на четеца
+
+# LOCALIZATION NOTE (inspector.filterStyles.placeholder): This is the placeholder that
+# goes in the search box when no search term has been entered.
+inspector.filterStyles.placeholder=Филтриране на стилове
+
+# LOCALIZATION NOTE (inspector.addRule.tooltip): This is the tooltip shown when
+# hovering the `Add new rule` button in the rules view toolbar. This should
+# match ruleView.contextmenu.addNewRule in styleinspector.properties
+inspector.addRule.tooltip=Добавяне на правило
+
+# LOCALIZATION NOTE (inspector.togglePseudo.tooltip): This is the tooltip
+# shown when hovering over the `Toggle Pseudo Class Panel` button in the
+# rule view toolbar.
+inspector.togglePseudo.tooltip=Превключване на псевдо-класове
+
+# LOCALIZATION NOTE (inspector.classPanel.toggleClass.tooltip): This is the tooltip
+# shown when hovering over the `Toggle Class Panel` button in the
+# rule view toolbar.
+inspector.classPanel.toggleClass.tooltip=Превключва панела с класовете
+
+# LOCALIZATION NOTE (inspector.classPanel.newClass.placeholder): This is the placeholder
+# shown inside the text field used to add a new class in the rule-view.
+inspector.classPanel.newClass.placeholder=Добавяне на клас
+
+# LOCALIZATION NOTE (inspector.classPanel.noClasses): This is the text displayed in the
+# class panel when the current element has no classes applied.
+inspector.classPanel.noClasses=Елементът няма класове
+
+# LOCALIZATION NOTE (inspector.noProperties): In the case where there are no CSS
+# properties to display e.g. due to search criteria this message is
+# displayed.
+inspector.noProperties=Не са намерени свойства на CSS.
+
+# LOCALIZATION NOTE (inspector.printSimulation.tooltip):
+# This is the tooltip of the print simulation button in the Rule View toolbar
+# that toggles print simulation.
+
+# LOCALIZATION NOTE (inspector.colorSchemeSimulationLight.tooltip):
+# This is the tooltip of the light color scheme simulation button in the Rule View
+# toolbar that toggles light color scheme simulation.
+inspector.colorSchemeSimulationLight.tooltip=Превключва симулацията на светла цветова схема за страницата
+
+# LOCALIZATION NOTE (inspector.colorSchemeSimulationDark.tooltip):
+# This is the tooltip of the dark color scheme simulation button in the Rule View
+# toolbar that toggles dark color scheme simulation.
+inspector.colorSchemeSimulationDark.tooltip=Превключва симулацията на тъмна цветова схема за страницата
+
+# LOCALIZATION NOTE (markupView.scrollableBadge.label): This is the text displayed inside a
+# badge, in the inspector, next to nodes that are scrollable in the page.
+markupView.scrollableBadge.label=прелиства
+
+# LOCALIZATION NOTE (markupView.scrollableBadge.tooltip): This is the tooltip that is displayed
+# when hovering over badges next to scrollable elements in the inspector.
+markupView.scrollableBadge.tooltip=Този елемент има препълване с прелистване.
+
+# LOCALIZATION NOTE (markupView.scrollableBadge.interactive.tooltip): This is the tooltip that is displayed
+# when hovering over interactive badges next to scrollable elements in the inspector.
+markupView.scrollableBadge.interactive.tooltip=Този елемент има препълване с прелистване. Щракнете, за да се разкрият елементите, които причиняват препълването.
+
+# LOCALIZATION NOTE (markupView.overflowBadge.label): This is the text displayed inside a
+# badge, in the inspector, next to nodes that are causing overflow in other elements.
+markupView.overflowBadge.label=препълване
+
+# LOCALIZATION NOTE (markupView.overflowBadge.tooltip): This is the tooltip that is displayed
+# when hovering over badges next to overflow causing elements in the inspector.
+markupView.overflowBadge.tooltip=Този елемент води до препълване на друг елемент.
+
+# LOCALIZATION NOTE (rulePreviewTooltip.noAssociatedRule): This is the text displayed inside
+# the RulePreviewTooltip when a rule cannot be found for a CSS property declaration.
+rulePreviewTooltip.noAssociatedRule=Няма свързано правило
+
+# LOCALIZATION NOTE (colorPickerTooltip.contrastAgainstBgTitle): A title text for the
+# contrast ratio value description that labels the background the color contrast ratio is calculated
+# against, used together with the actual background color. %S in the content will be replaced by a
+# span (containing bg color swatch) and textNode (containing bg color hex string) at run time
+colorPickerTooltip.contrastAgainstBgTitle=Изчислено спрямо фон: %S
+
+# LOCALIZATION NOTE (colorPickerTooltip.spectrumDraggerTitle): A title text for the
+# spectrum dragger panel in the color picker tooltip.
+
+# LOCALIZATION NOTE (colorPickerTooltip.eyedropperTitle): A title text for the
+# eyedropper in the color picker tooltip.
+
+# LOCALIZATION NOTE (colorPickerTooltip.colorNameTitle): A title text for the
+# closest color name shown in the color picker tooltip, used together with the actual color.
+# %S in the content will be replaced by the color name the current color is closest to.
+
+# LOCALIZATION NOTE (colorPickerTooltip.hueSliderTitle): A title text for the
+# hue slider in the color picker tooltip.
+
+# LOCALIZATION NOTE (colorPickerTooltip.alphaSliderTitle): A title text for the
+# alpha slider in the color picker tooltip.
+
+# LOCALIZATION NOTE (colorPickerTooltip.contrast.large.title): A title text for the color
+# contrast ratio description in the color picker tooltip, used together with the specification
+# that the color contrast criteria used is for large text. %S in the content will be replaced by a
+# large text indicator span at run time.
+
diff --git a/l10n-bg/devtools/client/jsonview.properties b/l10n-bg/devtools/client/jsonview.properties
new file mode 100644
index 0000000000..b0937e649f
--- /dev/null
+++ b/l10n-bg/devtools/client/jsonview.properties
@@ -0,0 +1,45 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used in the JSON View tool
+# that is used to inspect application/json document types loaded
+# in the browser.
+
+# LOCALIZATION NOTE The correct localization of this file might be to keep it
+# in English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best documentation
+# on web development on the web.
+
+# LOCALIZATION NOTE (jsonViewer.tab.JSON, jsonViewer.tab.RawData,
+# jsonViewer.tab.Headers): Label for a panel tab.
+jsonViewer.tab.JSON=JSON
+jsonViewer.tab.RawData=Сурови данни
+jsonViewer.tab.Headers=Заглавки
+
+# LOCALIZATION NOTE (jsonViewer.responseHeaders, jsonViewer.requestHeaders):
+# Label for header groups within the 'Headers' panel.
+jsonViewer.responseHeaders=Заглавки на отговора
+jsonViewer.requestHeaders=Заглавки на заявката
+
+# LOCALIZATION NOTE (jsonViewer.Save): Label for save command
+jsonViewer.Save=Запазване
+
+# LOCALIZATION NOTE (jsonViewer.Copy): Label for clipboard copy command
+jsonViewer.Copy=Копиране
+
+# LOCALIZATION NOTE (jsonViewer.ExpandAll): Label for expanding all nodes
+jsonViewer.ExpandAll=Разгъване на всички
+
+# LOCALIZATION NOTE (jsonViewer.CollapseAll): Label for collapsing all nodes
+jsonViewer.CollapseAll=Сгъване на всички
+
+# LOCALIZATION NOTE (jsonViewer.PrettyPrint): Label for JSON
+# pretty print action button.
+jsonViewer.PrettyPrint=Подреждане на кода
+
+# LOCALIZATION NOTE (jsonViewer.filterJSON): Label used in search box
+# at the top right cornder of the JSON Viewer.
+jsonViewer.filterJSON=Филтриране на JSON
+
diff --git a/l10n-bg/devtools/client/layout.properties b/l10n-bg/devtools/client/layout.properties
new file mode 100644
index 0000000000..83f780ec51
--- /dev/null
+++ b/l10n-bg/devtools/client/layout.properties
@@ -0,0 +1,136 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE This file contains the Layout Inspector strings.
+# The Layout Inspector is a panel accessible in the Inspector sidebar.
+
+# LOCALIZATION NOTE (flexbox.header): The accordion header for the Flexbox panel when
+# no flex container or item is selected.
+flexbox.header=Гъвкави кутии
+
+# LOCALIZATION (flexbox.flexContainer): The accordion header for the Flexbox panel
+# when a flex container is selected.
+
+# LOCALIZATION NOTE) (flexbox.flexItemOf): The accordion header for the Flexbox panel
+# when a flex item is selected. %s represents the flex container selector.
+
+# LOCALIZATION NOTE (flexbox.noFlexboxeOnThisPage): In the case where there are no CSS
+# flex containers to display.
+flexbox.noFlexboxeOnThisPage=В страницата няма гъвкави кутии
+
+# LOCALIZATION NOTE (flexbox.flexContainerProperties): Header for the flex container
+# properties in the Flexbox panel.
+
+# LOCALIZATION NOTE (flexbox.contentWidth, flexbox.contentHeight, flexbox.finalWidth,
+# flexbox.finalHeight): Labels for the flex item sizing properties in the Flexbox panel.
+
+# LOCALIZATION NOTE (flexbox.itemSizing.baseSizeSectionHeader): Header label displayed
+# at the start of the flex item sizing Base Size section.
+
+# LOCALIZATION NOTE (flexbox.itemSizing.flexibilitySectionHeader): Header label displayed
+# at the start of the flex item sizing Flexibility section.
+
+# LOCALIZATION NOTE (flexbox.itemSizing.minSizeSectionHeader): Header label displayed
+# at the start of the flex item sizing Minimum Size section.
+
+# LOCALIZATION NOTE (flexbox.itemSizing.maxSizeSectionHeader): Header label displayed at
+# the start of the flex item sizing Maximum Size section.
+
+# LOCALIZATION NOTE (flexbox.itemSizing.finalSizeSectionHeader): Header label displayed at
+# the start of the flex item sizing Final Size section.
+
+# LOCALIZATION NOTE (flexbox.itemSizing.itemBaseSizeFromContent): Label shown in the flex
+# item sizing panel. It tells users that a given item’s base size was calculated from its
+# content size when unconstrained.
+
+# LOCALIZATION NOTE (flexbox.itemSizing.itemMinSizeFromItemMinContent): Label shown in the
+# flex item sizing panel. It tells users that a given item’s minimum size is coming from
+# its min-content size.
+
+# LOCALIZATION NOTE (flexbox.itemSizing.extraRoomOnLine): Label shown in the flexbox item
+# sizing panel. It tells users that there was extra room to distribute inside a given flex
+# line.
+
+# LOCALIZATION NOTE (flexbox.itemSizing.notEnoughRoomOnLine): Label shown in the flexbox
+# item sizing panel. It tells users that there wasn’t enough room inside a given flex line
+# for all of its items.
+
+# LOCALIZATION NOTE (flexbox.itemSizing.growthAttemptWhenClamped): Label shown in the
+# flexbox item sizing panel. It tells users that a given item attempted to grow by a
+# certain amount but ended up being clamped by a max size.
+# (note that clamp is a common word in flexbox terminology. It refers to constraining an
+# item's size to some defined min/max-width/height set on the element, even though there
+# might have been room for it to grow, or reason for it to shrink more).
+
+# LOCALIZATION NOTE (flexbox.itemSizing.growthAttemptButMaxClamped): Label shown in the
+# flexbox item sizing panel. It tells users that a given item attempted to grow by a
+# certain amount but ended up being clamped to a smaller max size.
+# (Note that clamp is a common word in flexbox terminology. It refers to constraining an
+# item's size to some defined min/max-width/height set on the element, even though there
+# might have been room for it to grow, or reason for it to shrink more).
+
+# LOCALIZATION NOTE (flexbox.itemSizing.growthAttemptButMinClamped): Label shown in the
+# flexbox item sizing panel. It tells users that a given item attempted to grow by a
+# certain amount but ended up being clamped to a larger min size.
+# (Note that clamp is a common word in flexbox terminology. It refers to constraining an
+# item's size to some defined min/max-width/height set on the element, even though there
+# might have been room for it to grow, or reason for it to shrink more).
+
+# LOCALIZATION NOTE (flexbox.itemSizing.shrinkAttemptWhenClamped): Label shown in the
+# flexbox item sizing panel. It tells users that a given item attempted to shrink by a
+# certain amount but ended up being clamped by a min size.
+
+# LOCALIZATION NOTE (flexbox.itemSizing.shrinkAttemptButCouldnt): Label shown in the
+# flexbox item sizing panel. It tells users that a given item attempted to shrink by a
+# certain amount but could not
+
+# LOCALIZATION NOTE (flexbox.itemSizing.growthAttemptButSiblings): Label shown in the
+# flexbox item sizing panel. It tells users that a given item could not grow to occupy
+# extra space because its siblings have likely already used it.
+
+# LOCALIZATION NOTE (flexbox.itemSizing.setToGrow): Label shown in the flex item sizing
+# panel. It tells users that a given item was set to grow.
+
+# LOCALIZATION NOTE (flexbox.itemSizing.setToShrink): Label shown in the flexbox item
+# sizing panel. It tells users that a given item was set to shrink.
+
+# LOCALIZATION NOTE (flexbox.itemSizing.notSetToGrow): Label shown in the
+# flexbox item sizing panel. It tells users that a given item was not set to grow, even
+# though there might have been space on the flex line for it to grow.
+
+# LOCALIZATION NOTE (flexbox.itemSizing.notSetToShrink): Label shown in the
+# flexbox item sizing panel. It tells users that a given item did not shrink even though
+# there might not have been enough space on the flex line for all items to fit.
+
+# LOCALIZATION NOTE (layout.cannotShowGridOutline, layout.cannotSHowGridOutline.title):
+# In the case where the grid outline cannot be effectively displayed.
+layout.cannotShowGridOutline=Структура не може да бъде показана
+layout.cannotShowGridOutline.title=Структурата на избраната решетка не може да бъде побрана в текущите размери на панела, за да бъде от полза.
+
+# LOCALIZATION NOTE (layout.displayAreaNames): Label of the display area names setting
+# option in the CSS Grid panel.
+layout.displayAreaNames=Показване на имената на областите
+
+# LOCALIZATION NOTE (layout.displayLineNumbers): Label of the display line numbers
+# setting option in the CSS Grid panel.
+layout.displayLineNumbers=Показване на номерата на контурите
+
+# LOCALIZATION NOTE (layout.extendLinesInfinitely): Label of the extend lines
+# infinitely setting option in the CSS Grid panel.
+layout.extendLinesInfinitely=Показване на безкрайни контури
+
+# LOCALIZATION NOTE (layout.header): The accordion header for the CSS Grid panel.
+layout.header=Решетки
+
+# LOCALIZATION NOTE (layout.gridDisplaySettings): The header for the grid display
+# settings container in the CSS Grid panel.
+layout.gridDisplaySettings=Визуални настройки
+
+# LOCALIZATION NOTE (layout.noGridsOnThisPage): In the case where there are no CSS grid
+# containers to display.
+layout.noGridsOnThisPage=В страницата няма решетки на CSS
+
+# LOCALIZATION NOTE (layout.overlayGrid): Alternate header for the list of grid container
+# elements if only one item can be selected.
+layout.overlayGrid=Избор на решетка
diff --git a/l10n-bg/devtools/client/memory.properties b/l10n-bg/devtools/client/memory.properties
new file mode 100644
index 0000000000..a77616d46c
--- /dev/null
+++ b/l10n-bg/devtools/client/memory.properties
@@ -0,0 +1,434 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Memory Tools
+# which is available from the Web Developer sub-menu -> 'Memory'.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE These strings are used inside the Memory Tools
+# which is available from the Browser Tools sub-menu -> 'Memory'.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (snapshot.io.save): The label for the link that saves a
+# snapshot to disk.
+snapshot.io.save=Запазване
+
+# LOCALIZATION NOTE (snapshot.io.delete): The label for the link that deletes
+# a snapshot
+snapshot.io.delete=Изтриване
+
+# LOCALIZATION NOTE (snapshot.io.save.window): The title for the window
+# displayed when saving a snapshot to disk.
+snapshot.io.save.window=Снимка на паметта
+
+# LOCALIZATION NOTE (snapshot.io.import.window): The title for the window
+# displayed when importing a snapshot form disk.
+snapshot.io.import.window=Внасяне на снимка
+
+# LOCALIZATION NOTE (snapshot.io.filter): The title for the filter used to
+# filter file types (*.fxsnapshot)
+snapshot.io.filter=Снимки на паметта на Firefox
+
+# LOCALIZATION NOTE (aggregate.mb): The label annotating the number of bytes (in
+# megabytes) in a snapshot. %S represents the value, rounded to 2 decimal
+# points.
+aggregate.mb=%S МБ
+
+# LOCALIZATION NOTE (snapshot-title.loading): The title for a snapshot before
+# it has a creation time to display.
+snapshot-title.loading=Обработка…
+
+# LOCALIZATION NOTE (checkbox.recordAllocationStacks): The label describing the
+# boolean checkbox whether or not to record call stacks.
+checkbox.recordAllocationStacks=Записване на стековете на извикванията
+
+# LOCALIZATION NOTE (checkbox.recordAllocationStacks.tooltip): The tooltip for
+# the label describing the boolean checkbox whether or not to record call
+# stacks.
+checkbox.recordAllocationStacks.tooltip=Включване на записването на стековете на извикванията от когато паметта за обект е била заделена. Последващите моментни снимки ще могат да групират и отбелязват обектите по стековете на извикванията, но само за тези обекти, създадени след включването на тази опция. Записването на стековете на извикванията намалява производителността на приложението.
+
+# LOCALIZATION NOTE (toolbar.displayBy): The label describing the select menu
+# options of the display options.
+toolbar.displayBy=Групиране по:
+
+# LOCALIZATION NOTE (toolbar.displayBy.tooltip): The tooltip for the label
+# describing the select menu options of the display options.
+toolbar.displayBy.tooltip=Промяна начина на групиране на обектите
+
+# LOCALIZATION NOTE (toolbar.pop-view): The text in the button to go back to the
+# previous view.
+toolbar.pop-view=←
+
+# LOCALIZATION NOTE (toolbar.pop-view.label): The text for the label for the
+# button to go back to the previous view.
+toolbar.pop-view.label=Връщане към агрегираните данни
+
+# LOCALIZATION NOTE (toolbar.viewing-individuals): The text letting the user
+# know that they are viewing individual nodes from a census group.
+toolbar.viewing-individuals=⁂ Показване на отделните елементи на група
+
+# LOCALIZATION NOTE (censusDisplays.coarseType.tooltip): The tooltip for the
+# "coarse type" display option.
+censusDisplays.coarseType.tooltip=Групиране на елементи по техния тип
+
+# LOCALIZATION NOTE (censusDisplays.allocationStack.tooltip): The tooltip for
+# the "call stack" display option.
+censusDisplays.allocationStack.tooltip=Групиране на елементи по стека на JavaScript, записан при заделянето на памет за обекта
+
+# LOCALIZATION NOTE (censusDisplays.invertedAllocationStack.tooltip): The
+# tooltip for the "inverted call stack" display option.
+censusDisplays.invertedAllocationStack.tooltip=Групиране на елементи по обърнатия стек на извикванията в JavaScript, записан при заделянето на памет за обекта
+
+# LOCALIZATION NOTE (toolbar.labelBy): The label describing the select menu
+# options of the label options.
+toolbar.labelBy=Етикет:
+
+# LOCALIZATION NOTE (toolbar.labelBy): The tooltip for the label describing the
+# select menu options of the label options.
+toolbar.labelBy.tooltip=Промяна как се етикират обектите\u0020
+
+# LOCALIZATION NOTE (dominatorTreeDisplays.coarseType.tooltip): The tooltip for
+# the "coarse type" dominator tree display option.
+dominatorTreeDisplays.coarseType.tooltip=Етикиране на обекти според широките категории, в които попадат
+
+# LOCALIZATION NOTE (dominatorTreeDisplays.allocationStack.tooltip): The
+# tooltip for the "call stack" dominator tree display option.
+dominatorTreeDisplays.allocationStack.tooltip=Етикиране на обекти по стека на JavaScript, записан при заделянето на памет за обекта
+
+# LOCALIZATION NOTE (treeMapDisplays.coarseType.tooltip): The tooltip for
+# the "coarse type" tree map display option.
+treeMapDisplays.coarseType.tooltip=Етикиране на обекти според широките категории, в които попадат
+
+# LOCALIZATION NOTE (toolbar.view): The label for the view selector in the
+# toolbar.
+toolbar.view=Изглед:
+
+# LOCALIZATION NOTE (toolbar.view.tooltip): The tooltip for the label for the
+# view selector in the toolbar.
+toolbar.view.tooltip=Промяна на изгледа на моментната снимка
+
+# LOCALIZATION NOTE (toolbar.view.census): The label for the census view option
+# in the toolbar.
+toolbar.view.census=Събиране
+
+# LOCALIZATION NOTE (toolbar.view.census.tooltip): The tooltip for the label for
+# the census view option in the toolbar.
+toolbar.view.census.tooltip=Показване на обобщение на моментната снимка на съдържанието чрез агрегиране на обектите в групи
+
+# LOCALIZATION NOTE (toolbar.view.dominators): The label for the dominators view
+# option in the toolbar.
+toolbar.view.dominators=Доминатори
+
+# LOCALIZATION NOTE (toolbar.view.dominators.tooltip): The tooltip for the label
+# for the dominators view option in the toolbar.
+toolbar.view.dominators.tooltip=Показване на дървото с доминатори и открояване на най-големите структури в моментната снимка
+
+# LOCALIZATION NOTE (toolbar.view.treemap): The label for the tree map option
+# in the toolbar.
+toolbar.view.treemap=Дървовидна карта
+
+# LOCALIZATION NOTE (toolbar.view.treemap.tooltip): The tooltip for the label for
+# the tree map view option in the toolbar.
+toolbar.view.treemap.tooltip=Визуализиране на използването на паметта: по-големите блокове съответстват на по-голям процент използване на паметта
+
+# LOCALIZATION NOTE (take-snapshot): The label describing the button that
+# initiates taking a snapshot, either as the main label, or a tooltip.
+take-snapshot=Взимане на снимка на паметта
+
+# LOCALIZATION NOTE (import-snapshot): The label describing the button that
+# initiates importing a snapshot.
+import-snapshot=Внасяне…
+
+# LOCALIZATION NOTE (clear-snapshots.tooltip): The tooltip for the button that
+# deletes existing snapshot.
+clear-snapshots.tooltip=Изтриване на всички моментни снимки
+
+# LOCALIZATION NOTE (diff-snapshots.tooltip): The tooltip for the button that
+# initiates selecting two snapshots to diff with each other.
+diff-snapshots.tooltip=Сравняване на снимки на системата
+
+# LOCALIZATION NOTE (filter.placeholder): The placeholder text used for the
+# memory tool's filter search box.
+filter.placeholder=Филтър
+
+# LOCALIZATION NOTE (filter.tooltip): The tooltip text used for the memory
+# tool's filter search box.
+filter.tooltip=Филтриране съдържанието на моментната снимка
+
+# LOCALIZATION NOTE (tree-item.view-individuals.tooltip): The tooltip for the
+# button to view individuals in this group.
+tree-item.view-individuals.tooltip=Показване на отделните елементи в тази група и техните запазени пътища
+
+# LOCALIZATION NOTE (tree-item.load-more): The label for the links to fetch the
+# lazily loaded sub trees in the dominator tree view.
+tree-item.load-more=Зареждане на още…
+
+# LOCALIZATION NOTE (tree-item.rootlist): The label for the root of the
+# dominator tree.
+tree-item.rootlist=Корени на GC
+
+# LOCALIZATION NOTE (tree-item.nostack): The label describing the row in the heap tree
+# that represents a row broken down by call stack when no stack was available.
+tree-item.nostack=(няма наличен стек)
+
+# LOCALIZATION NOTE (tree-item.nofilename): The label describing the row in the
+# heap tree that represents a row broken down by filename when no filename was
+# available.
+tree-item.nofilename=(няма зададено име на файл)
+
+# LOCALIZATION NOTE (tree-item.root): The label describing the row in the heap tree
+# that represents the root of the tree when inverted.
+tree-item.root=(корен)
+
+# LOCALIZATION NOTE (tree-item.percent2): A percent of bytes or count displayed in the tree view.
+# there are two "%" after %S to escape and display "%"
+tree-item.percent2=%S%%
+
+# LOCALIZATION NOTE (diffing.baseline): The name of the baseline snapshot in a
+# diffing comparison.
+diffing.baseline=Основна снимка
+
+# LOCALIZATION NOTE (diffing.comparison): The name of the snapshot being
+# compared to the baseline in a diffing comparison.
+diffing.comparison=Сравняване
+
+# LOCALIZATION NOTE (diffing.prompt.selectBaseline): The prompt to select the
+# first snapshot when doing a diffing comparison.
+diffing.prompt.selectBaseline=Избиране на основната снимка на памет
+
+# LOCALIZATION NOTE (diffing.prompt.selectComparison): The prompt to select the
+# second snapshot when doing a diffing comparison.
+diffing.prompt.selectComparison=Изберете снимка за сравняване с основната снимка
+
+# LOCALIZATION NOTE (diffing.state.error): The label describing the diffing
+# state ERROR, used in the snapshot list when an error occurs while diffing two
+# snapshots.
+diffing.state.error=Грешка
+
+# LOCALIZATION NOTE (diffing.state.error.full): The text describing the diffing
+# state ERROR, used in the main view when an error occurs while diffing two
+# snapshots.
+diffing.state.error.full=Получи се грешка при сравняване на снимките.
+
+# LOCALIZATION NOTE (diffing.state.taking-diff): The label describing the diffin
+# state TAKING_DIFF, used in the snapshots list when computing the difference
+# between two snapshots.
+diffing.state.taking-diff=Изчисляване на разликите…
+
+# LOCALIZATION NOTE (diffing.state.taking-diff.full): The label describing the
+# diffing state TAKING_DIFF, used in the main view when computing the difference
+# between two snapshots.
+diffing.state.taking-diff.full=Изчисляване на разликите…
+
+# LOCALIZATION NOTE (diffing.state.selecting): The label describing the diffing
+# state SELECTING.
+diffing.state.selecting=Изберете две снимки за сравняване
+
+# LOCALIZATION NOTE (diffing.state.selecting.full): The label describing the
+# diffing state SELECTING, used in the main view when selecting snapshots to
+# diff.
+diffing.state.selecting.full=Изберете две снимки за сравняване
+
+# LOCALIZATION NOTE (dominatorTree.state.computing): The label describing the
+# dominator tree state COMPUTING.
+dominatorTree.state.computing=Генериране на доклад за доминаторите…
+
+# LOCALIZATION NOTE (dominatorTree.state.computing): The label describing the
+# dominator tree state COMPUTING, used in the dominator tree view.
+dominatorTree.state.computing.full=Генериране на доклад за доминаторите…
+
+# LOCALIZATION NOTE (dominatorTree.state.fetching): The label describing the
+# dominator tree state FETCHING.
+dominatorTree.state.fetching=Изчисляване на големините…
+
+# LOCALIZATION NOTE (dominatorTree.state.fetching): The label describing the
+# dominator tree state FETCHING, used in the dominator tree view.
+dominatorTree.state.fetching.full=Изчисляване на запазената големина на доминатора…
+
+# LOCALIZATION NOTE (dominatorTree.state.incrementalFetching): The label
+# describing the dominator tree state INCREMENTAL_FETCHING.
+dominatorTree.state.incrementalFetching=Зареждане…
+
+# LOCALIZATION NOTE (dominatorTree.state.incrementalFetching): The label describing the
+# dominator tree state INCREMENTAL_FETCHING, used in the dominator tree view.
+dominatorTree.state.incrementalFetching.full=Извличане на още…
+
+# LOCALIZATION NOTE (dominatorTree.state.error): The label describing the
+# dominator tree state ERROR.
+dominatorTree.state.error=Грешка
+
+# LOCALIZATION NOTE (dominatorTree.state.error): The label describing the
+# dominator tree state ERROR, used in the dominator tree view.
+dominatorTree.state.error.full=Получи се грешка при обработката на дървото с доминатори
+
+# LOCALIZATION NOTE (snapshot.state.saving.full): The label describing the
+# snapshot state SAVING, used in the main heap view.
+snapshot.state.saving.full=Запазване на снимка…
+
+# LOCALIZATION NOTE (snapshot.state.reading.full): The label describing the
+# snapshot state READING, and SAVED, due to these states being combined
+# visually, used in the main heap view.
+snapshot.state.reading.full=Прочитане на снимка на системата…
+
+# LOCALIZATION NOTE (snapshot.state.saving-census.full): The label describing
+# the snapshot state SAVING, used in the main heap view.
+snapshot.state.saving-census.full=Генериране на агрегиран доклад…
+
+# LOCALIZATION NOTE (snapshot.state.saving-tree-map.full): The label describing
+# the snapshot state SAVING, used in the main heap view.
+snapshot.state.saving-tree-map.full=Запазване на дървовидната карта…
+
+# LOCALIZATION NOTE (snapshot.state.error.full): The label describing the
+# snapshot state ERROR, used in the main heap view.
+snapshot.state.error.full=Получи се грешка при обработката на тази снимка на паметта.
+
+# LOCALIZATION NOTE (individuals.state.error): The short message displayed when
+# there is an error fetching individuals from a group.
+individuals.state.error=Грешка
+
+# LOCALIZATION NOTE (individuals.state.error.full): The longer message displayed
+# when there is an error fetching individuals from a group.
+individuals.state.error.full=Получи се грешка при извличане на отделните елементи от групата
+
+# LOCALIZATION NOTE (individuals.state.fetching): The short message displayed
+# while fetching individuals.
+individuals.state.fetching=Зареждане…
+
+# LOCALIZATION NOTE (individuals.state.fetching.full): The longer message
+# displayed while fetching individuals.
+individuals.state.fetching.full=Извличане на отделните елементи от група…
+
+# LOCALIZATION NOTE (individuals.field.node): The header label for an individual
+# node.
+individuals.field.node=Възел
+
+# LOCALIZATION NOTE (individuals.field.node.tooltip): The tooltip for the header
+# label for an individual node.
+individuals.field.node.tooltip=Отделният възел в моментната снимка
+
+# LOCALIZATION NOTE (snapshot.state.saving): The label describing the snapshot
+# state SAVING, used in the snapshot list view
+snapshot.state.saving=Запазване на снимка…
+
+# LOCALIZATION NOTE (snapshot.state.importing): The label describing the
+# snapshot state IMPORTING, used in the snapshot list view
+snapshot.state.importing=Внасяне на снимка на паметта…
+
+# LOCALIZATION NOTE (snapshot.state.reading): The label describing the snapshot
+# state READING, and SAVED, due to these states being combined visually, used in
+# the snapshot list view.
+snapshot.state.reading=Прочитане на снимка на системата…
+
+# LOCALIZATION NOTE (snapshot.state.saving-census): The label describing the
+# snapshot state SAVING, used in snapshot list view.
+snapshot.state.saving-census=Запазване на доклада…
+
+# LOCALIZATION NOTE (snapshot.state.saving-census): The label describing the
+# snapshot state SAVING, used in snapshot list view.
+snapshot.state.saving-tree-map=Запазване на дървовидната карта…
+
+# LOCALIZATION NOTE (snapshot.state.error): The label describing the snapshot
+# state ERROR, used in the snapshot list view.
+snapshot.state.error=Грешка
+
+# LOCALIZATION NOTE (heapview.no-difference): Message displayed when there is no
+# difference between two snapshots.
+heapview.no-difference=Няма разлика между основната моментна снимка и тази за сравнение.
+
+# LOCALIZATION NOTE (heapview.none-match): Message displayed when there are no
+# matches when filtering.
+heapview.none-match=Няма съвпадения.
+
+# LOCALIZATION NOTE (heapview.none-match): Message displayed when there report
+# is empty.
+heapview.empty=Празно.
+
+# LOCALIZATION NOTE (heapview.noAllocationStacks): The message displayed to
+# users when selecting a display by "call stack" but no call stacks
+# were recorded in the heap snapshot.
+heapview.noAllocationStacks=Не са намерени стекове с извиквания. Запишете стекове с извиквания преди да направите моментна снимка.
+
+# LOCALIZATION NOTE (heapview.field.retainedSize): The name of the column in the
+# dominator tree view for retained byte sizes.
+heapview.field.retainedSize=Задържана големина (байтове)
+
+# LOCALIZATION NOTE (heapview.field.retainedSize.tooltip): The tooltip for the
+# column header in the dominator tree view for retained byte sizes.
+heapview.field.retainedSize.tooltip=Сумата от големината на самия обект и от големините на всички обекти, които зависят от него
+
+# LOCALIZATION NOTE (heapview.field.shallowSize): The name of the column in the
+# dominator tree view for shallow byte sizes.
+heapview.field.shallowSize=Повърхностна големина (байтове)
+
+# LOCALIZATION NOTE (heapview.field.shallowSize.tooltip): The tooltip for the
+# column header in the dominator tree view for shallow byte sizes.
+heapview.field.shallowSize.tooltip=Големината на самия обект
+
+# LOCALIZATION NOTE (dominatortree.field.label): The name of the column in the
+# dominator tree for an object's label.
+dominatortree.field.label=Доминатор
+
+# LOCALIZATION NOTE (dominatortree.field.label.tooltip): The tooltip for the column
+# header in the dominator tree view for an object's label.
+dominatortree.field.label.tooltip=Етикетът за обект в паметта
+
+# LOCALIZATION NOTE (heapview.field.bytes): The name of the column in the heap
+# view for bytes.
+heapview.field.bytes=Байтове
+
+# LOCALIZATION NOTE (heapview.field.bytes.tooltip): The tooltip for the column
+# header in the heap view for bytes.
+heapview.field.bytes.tooltip=Броят байтове, заемани от тази група, изключвайки подгрупите
+
+# LOCALIZATION NOTE (heapview.field.count): The name of the column in the heap
+# view for count.
+heapview.field.count=Брой
+
+# LOCALIZATION NOTE (heapview.field.count.tooltip): The tooltip for the column
+# header in the heap view for count.
+heapview.field.count.tooltip=Броят обекти, достижими от тази група, изключвайки подгрупите
+
+# LOCALIZATION NOTE (heapview.field.totalbytes): The name of the column in the
+# heap view for total bytes.
+heapview.field.totalbytes=Общо байтове
+
+# LOCALIZATION NOTE (heapview.field.totalbytes.tooltip): The tooltip for the
+# column header in the heap view for total bytes.
+heapview.field.totalbytes.tooltip=Броят байтове, заемани от тази група, включително в подгрупите
+
+# LOCALIZATION NOTE (heapview.field.totalcount): The name of the column in the
+# heap view for total count.
+heapview.field.totalcount=Общ брой
+
+# LOCALIZATION NOTE (heapview.field.totalcount.tooltip): The tooltip for the
+# column header in the heap view for total count.
+heapview.field.totalcount.tooltip=Броят обекти, достижими от тази група, включително в подгрупите
+
+# LOCALIZATION NOTE (heapview.field.name): The name of the column in the heap
+# view for name.
+heapview.field.name=Група
+
+# LOCALIZATION NOTE (heapview.field.name.tooltip): The tooltip for the column
+# header in the heap view for name.
+heapview.field.name.tooltip=Името на тази група
+
+# LOCALIZATION NOTE (shortest-paths.header): The header label for the shortest
+# paths pane.
+shortest-paths.header=Запазени пътища (от корена на събирането на отпадъци)
+
+# LOCALIZATION NOTE (shortest-paths.select-node): The message displayed in the
+# shortest paths pane when a node is not yet selected.
+shortest-paths.select-node=Изберете елемент, на който да се покажат запазените пътища
+
+# LOCALIZATION NOTE (tree-map.node-count): The label for the count value of a
+# node in the tree map
+tree-map.node-count=брой
diff --git a/l10n-bg/devtools/client/menus.properties b/l10n-bg/devtools/client/menus.properties
new file mode 100644
index 0000000000..4e40c13939
--- /dev/null
+++ b/l10n-bg/devtools/client/menus.properties
@@ -0,0 +1,18 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+browserConsoleCmd.label = Конзола на четеца
+browserConsoleCmd.accesskey = К
+
+responsiveDesignMode.label = Режим за адаптивен дизайн
+responsiveDesignMode.accesskey = Р
+
+eyedropper.label = Капкомер
+eyedropper.accesskey = К
+
+# LOCALIZATION NOTE (browserToolboxMenu.label): This is the label for the
+# application menu item that opens the browser toolbox UI in the Tools menu.
+browserToolboxMenu.label = Инструменти за четеца
+browserToolboxMenu.accesskey = н
+
diff --git a/l10n-bg/devtools/client/netmonitor.properties b/l10n-bg/devtools/client/netmonitor.properties
new file mode 100644
index 0000000000..bd963fd212
--- /dev/null
+++ b/l10n-bg/devtools/client/netmonitor.properties
@@ -0,0 +1,1496 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Network Monitor
+# which is available from the Web Developer sub-menu -> 'Network Monitor'.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE These strings are used inside the Network Monitor
+# which is available from the Browser Tools sub-menu -> 'Network Monitor'.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (netmonitor.security.state.secure)
+# This string is used as an tooltip for request that was performed over secure
+# channel i.e. the connection was encrypted.
+netmonitor.security.state.secure=Връзката, използвана за извличане на този ресурс, беше защитена.
+
+# LOCALIZATION NOTE (netmonitor.security.state.insecure)
+# This string is used as an tooltip for request that was performed over insecure
+# channel i.e. the connection was not https
+netmonitor.security.state.insecure=Връзката, използвана за извличане на този ресурс, не беше защитена.
+
+# LOCALIZATION NOTE (netmonitor.security.state.broken)
+# This string is used as an tooltip for request that failed due to security
+# issues.
+netmonitor.security.state.broken=Грешка по сигурността предотврати зареждането на ресурса.
+
+# LOCALIZATION NOTE (netmonitor.security.state.weak)
+# This string is used as an tooltip for request that had minor security issues
+netmonitor.security.state.weak=Ресурсът беше пренесен по връзка със слабо шифроване.
+
+# LOCALIZATION NOTE (netmonitor.security.enabled):
+# This string is used to indicate that a specific security feature is used by
+# a connection in the security details tab.
+# For example: "HTTP Strict Transport Security: Enabled"
+netmonitor.security.enabled=Включен
+
+# LOCALIZATION NOTE (netmonitor.security.disabled):
+# This string is used to indicate that a specific security feature is not used by
+# a connection in the security details tab.
+# For example: "HTTP Strict Transport Security: Disabled"
+netmonitor.security.disabled=Изключено
+
+# LOCALIZATION NOTE (netmonitor.security.hostHeader):
+# This string is used as a header for section containing security information
+# related to the remote host. %S is replaced with the domain name of the remote
+# host. For example: Host example.com
+netmonitor.security.hostHeader=Хост %S:
+
+# LOCALIZATION NOTE (netmonitor.security.notAvailable):
+# This string is used to indicate that a certain piece of information is not
+# available to be displayed. For example a certificate that has no organization
+# defined:
+# Organization: <Not Available>
+netmonitor.security.notAvailable=<Няма>
+
+# LOCALIZATION NOTE (collapseDetailsPane): This is the tooltip for the button
+# that collapses the network details pane in the UI.
+collapseDetailsPane=Скрива подробностите за заявката
+
+# LOCALIZATION NOTE (collapseActionPane): This is the tooltip for the button
+# that collapses the network action pane in the UI.
+
+# LOCALIZATION NOTE (allTabsMenuButton.tooltip): The tooltip that gets
+# displayed when hovering over the tabs overflow button.
+
+# LOCALIZATION NOTE (headersEmptyText): This is the text displayed in the
+# headers tab of the network details pane when there are no headers available.
+headersEmptyText=Заявката няма заглавки
+
+# LOCALIZATION NOTE (headersFilterText): This is the text displayed in the
+# headers tab of the network details pane for the filtering input.
+headersFilterText=Филтриране на заглавките
+
+# LOCALIZATION NOTE (messagesEmptyText): This is the text displayed in the
+# WebSockets tab of the network details pane when there are no frames available.
+
+# LOCALIZATION NOTE (cookiesEmptyText): This is the text displayed in the
+# cookies tab of the network details pane when there are no cookies available.
+cookiesEmptyText=Заявката няма бисквитки
+
+# LOCALIZATION NOTE (cookiesFilterText): This is the text displayed in the
+# cookies tab of the network details pane for the filtering input.
+cookiesFilterText=Филтриране на бисквитките
+
+# LOCALIZATION NOTE (responseEmptyText): This is the text displayed in the
+# response tab of the network details pane when the response is empty or not
+# available for shown.
+
+# LOCALIZATION NOTE (paramsNoPayloadText): This is the text displayed in the
+# request tab of the network details pane when there are no params available.
+
+# LOCALIZATION NOTE (paramsFilterText): This is the text displayed in the
+# request tab of the network details pane for the filtering input.
+paramsFilterText=Филтриране на параметрите
+
+# LOCALIZATION NOTE (paramsQueryString): This is the label displayed
+# in the network details request tab identifying the query string.
+paramsQueryString=Низ на заявката
+
+# LOCALIZATION NOTE (paramsFormData): This is the label displayed
+# in the network details request tab identifying the form data.
+paramsFormData=Данни на формуляра
+
+# LOCALIZATION NOTE (paramsPostPayload): This is the label displayed
+# in the network details request tab identifying the request payload.
+paramsPostPayload=Полезен товар на заявката
+
+# LOCALIZATION NOTE (netmonitor.request.raw): This is the label displayed
+# on the button in the network details request tab that toggles the
+# view of the network request between the raw data and the formatted display.
+
+# LOCALIZATION NOTE (requestHeaders): This is the label displayed
+# in the network details headers tab identifying the request headers.
+requestHeaders=Заглавки на заявката
+
+# LOCALIZATION NOTE (requestHeadersFromUpload): This is the label displayed
+# in the network details headers tab identifying the request headers from
+# the upload stream of a POST request's body.
+requestHeadersFromUpload=Заглавки на заявката от качващия поток
+
+# LOCALIZATION NOTE (responseHeaders): This is the label displayed
+# in the network details headers tab identifying the response headers.
+responseHeaders=Заглавки на отговора
+
+# LOCALIZATION NOTE (requestCookies): This is the label displayed
+# in the network details request tab identifying the request cookies.
+requestCookies=Бисквитки в заявката
+
+# LOCALIZATION NOTE (responseCookies): This is the label displayed
+# in the network details request tab identifying the response cookies.
+responseCookies=Бисквитки в отговора
+
+# LOCALIZATION NOTE (responsePayload): This is the label displayed
+# in the network details response tab identifying the response payload.
+responsePayload=Съдържание на отговора
+
+# LOCALIZATION NOTE (netmonitor.response.raw): This is the label displayed
+# on the button in the network details response tab that toggles the
+# view of the network response between the raw data and the formatted display.
+
+# LOCALIZATION NOTE (netmonitor.response.html): This is the text displayed
+# in the response tab of the network details pane for an HTML preview.
+
+# LOCALIZATION NOTE (jsonFilterText): This is the text displayed
+# in the response tab of the network details pane for the JSON filtering input.
+jsonFilterText=Филтриране на свойства
+
+# LOCALIZATION NOTE (jsonScopeName): This is the text displayed
+# in the response tab of the network details pane for a JSON scope.
+jsonScopeName=JSON
+
+# LOCALIZATION NOTE (jsonpScopeName): This is the text displayed
+# in the response tab of the network details pane for a JSONP scope.
+jsonpScopeName=JSONP → обратно извикване %S()
+
+# LOCALIZATION NOTE (jsonXssiStripped): This is the text displayed
+# in a notification in the response tab of the network details pane
+# when a JSON payload had XSSI escape characters which were removed
+
+# LOCALIZATION NOTE (responseTruncated): This is the text displayed
+# in the response tab of the network details pane when the response is over
+# the truncation limit and thus was truncated.
+
+# LOCALIZATION NOTE (requestTruncated): This is the text displayed
+# in the request tab of the network details pane when the request is over
+# the truncation limit and thus was truncated.
+
+# LOCALIZATION NOTE (networkMenu.raced): This is the label displayed
+# in the network menu specifying the transfer or a request is
+# raced. %S refers to the current transfer size.
+
+# LOCALIZATION NOTE (networkMenu.sortedAsc): This is the tooltip displayed
+# in the network table toolbar, for any column that is sorted ascending.
+networkMenu.sortedAsc=Нарастващо подреждане
+
+# LOCALIZATION NOTE (networkMenu.sortedDesc): This is the tooltip displayed
+# in the network table toolbar, for any column that is sorted descending.
+networkMenu.sortedDesc=Намаляващо подреждане
+
+# LOCALIZATION NOTE (networkMenu.summary.tooltip.perf): A tooltip explaining
+# what the perf button does
+networkMenu.summary.tooltip.perf=Стартира анализ на производителността
+
+# LOCALIZATION NOTE (networkMenu.summary.tooltip.domContentLoaded): A tooltip explaining
+# what the DOMContentLoaded label displays
+networkMenu.summary.tooltip.domContentLoaded=Времето, за което е настъпило събитието „DOMContentLoad“
+
+# LOCALIZATION NOTE (networkMenu.summary.tooltip.load): A tooltip explaining
+# what the load label displays
+networkMenu.summary.tooltip.load=Времето, за което е настъпило събитието „load“
+
+# LOCALIZATION NOTE (networkMenu.summary.requestsCount2): This label is displayed
+# in the network table footer providing the number of requests
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+networkMenu.summary.requestsCount2=Една заявка;#1 заявки
+
+# LOCALIZATION NOTE (networkMenu.summary.requestsCountEmpty): This label is displayed
+# in the network table footer when there are no requests
+networkMenu.summary.requestsCountEmpty=Няма заявки
+
+# LOCALIZATION NOTE (networkMenu.summary.tooltip.requestsCount): A tooltip explaining
+# what the requestsCount label displays
+networkMenu.summary.tooltip.requestsCount=Брой заявки
+
+# LOCALIZATION NOTE (networkMenu.summary.transferred): This label is displayed
+# in the network table footer providing the transferred size.
+networkMenu.summary.transferred=%S / %S пренесени
+
+# LOCALIZATION NOTE (networkMenu.summary.tooltip.transferred): A tooltip explaining
+# what the transferred label displays
+networkMenu.summary.tooltip.transferred=Размер / пренесени за всички заявки
+
+# LOCALIZATION NOTE (networkMenu.summary.finish): This label is displayed
+# in the network table footer providing the transfer time.
+networkMenu.summary.finish=Време: %S
+
+# LOCALIZATION NOTE (networkMenu.summary.tooltip.finish): A tooltip explaining
+# what the finish label displays
+networkMenu.summary.tooltip.finish=Общо време необходимо за изпълняване на всички заявки
+
+# LOCALIZATION NOTE (networkMenu.ws.summary.framesCount2): This label is displayed
+# in the messages table footer providing the number of frames
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+
+# LOCALIZATION NOTE (networkMenu.ws.summary.framesCountEmpty): This label is displayed
+# in the messages table footer when there are no frames
+networkMenu.ws.summary.framesCountEmpty=Няма съобщения
+
+# LOCALIZATION NOTE (networkMenu.ws.summary.tooltip.framesCount): A tooltip explaining
+# what the framesCount label displays
+
+# LOCALIZATION NOTE (networkMenu.ws.summary.tooltip.framesTotalSize): A tooltip explaining
+# what the framesTotalSize label displays
+
+# LOCALIZATION NOTE (networkMenu.ws.summary.label.framesTranferredSize): A label showing
+# summary size info related to the current list of WS messages
+# %1$S is the total size of the transferred data, %2$S is the size of sent data, %3$S is the size of received data.
+
+# LOCALIZATION NOTE (networkMenu.ws.summary.tooltip.framesTotalTime): A tooltip explaining
+# what framesTotalTime displays
+
+# LOCALIZATION NOTE (networkMenu.sizeB): This is the label displayed
+# in the network menu specifying the size of a request (in bytes).
+networkMenu.sizeB=%S Б
+
+# LOCALIZATION NOTE (networkMenu.size.kB): This is the label displayed
+# in the network menu specifying the size of a request (in kilobytes).
+
+# LOCALIZATION NOTE (networkMenu.sizeMB): This is the label displayed
+# in the network menu specifying the size of a request (in megabytes).
+networkMenu.sizeMB=%S МБ
+
+# LOCALIZATION NOTE (networkMenu.sizeGB): This is the label displayed
+# in the network menu specifying the size of a request (in gigabytes).
+networkMenu.sizeGB=%S ГБ
+
+# LOCALIZATION NOTE (networkMenu.sizeUnavailable): This is the label displayed
+# in the network menu specifying the transferred size of a request is
+# unavailable.
+networkMenu.sizeUnavailable=—
+
+# LOCALIZATION NOTE (networkMenu.sizeUnavailable.title): This is the tooltip
+# displayed in the network menu specifying that the transferred size of a
+# request is unavailable.
+networkMenu.sizeUnavailable.title=Колко е прехвърлено не е налично
+
+# LOCALIZATION NOTE (networkMenu.sizeCached): This is the label displayed
+# in the network menu and the headers panel specifying the transfer or a request is
+# cached.
+networkMenu.sizeCached=складирано
+
+# LOCALIZATION NOTE (networkMenu.sizeServiceWorker): This is the label displayed
+# in the network menu and the headers panel specifying the transferred of a request
+# computed by a service worker.
+networkMenu.sizeServiceWorker=обслужващи нишки
+
+# LOCALIZATION NOTE (networkMenu.blocked2): This is a generic message for a
+# URL that has been blocked for an unknown reason
+
+# LOCALIZATION NOTE (networkMenu.blockedby): This is a generic message for a
+# URL that has been blocked by an extension
+# %S is the extension name.
+
+# LOCALIZATION NOTE (networkMenu.blockedTooltip): This is a the text displayed
+# as a tooltip for the blocked icon in the request list
+
+# LOCALIZATION NOTE (networkMenu.totalMS2): This is the label displayed
+# in the network menu specifying the time for a request to finish (in milliseconds).
+
+# This string is used to concatenate tooltips (netmonitor.waterfall.tooltip.*)
+# in the requests waterfall for total time (in milliseconds). \\u0020 represents
+# a whitespace. You can replace this with a different character, e.g. an hyphen
+# or a period, if a comma doesn't work for your language.
+netmonitor.waterfall.tooltip.separator=,\u0020
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.total): This is part of the tooltip
+# displayed in the requests waterfall for total time (in milliseconds).
+netmonitor.waterfall.tooltip.total=Общо %S мс
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.blocked): This is part of the tooltip
+# displayed in the requests waterfall for blocked time (in milliseconds).
+netmonitor.waterfall.tooltip.blocked=В изчакване %S мс
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.dns): This is part of the tooltip
+# displayed in the requests waterfall for dns time (in milliseconds).
+netmonitor.waterfall.tooltip.dns=DNS %S мс
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.ssl): This is part of the tooltip
+# displayed in the requests waterfall for tls setup time (in milliseconds).
+netmonitor.waterfall.tooltip.ssl=TLS %S мс
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.connect): This is part of the tooltip
+# displayed in the requests waterfall for connect time (in milliseconds).
+netmonitor.waterfall.tooltip.connect=Свързване %S мс
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.send): This is part of the tooltip
+# displayed in the requests waterfall for send time (in milliseconds).
+netmonitor.waterfall.tooltip.send=Изпращане %S мс
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.wait): This is part of the tooltip
+# displayed in the requests waterfall for wait time (in milliseconds).
+netmonitor.waterfall.tooltip.wait=Изчакване %S мс
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.receive): This is part of the tooltip
+# displayed in the requests waterfall for receive time (in milliseiconds).
+netmonitor.waterfall.tooltip.receive=Получаване %S мс
+
+# LOCALIZATION NOTE (netmonitor.timings.requestTiming): This is the title of the existing
+# section in Timings side panel. This section contains request timings.
+
+# LOCALIZATION NOTE (netmonitor.timings.serverTiming): This is the title of a new section
+# in Timings side panel. This section contains server timings transferred from the server
+# through the "Server-Timing" header.
+
+# LOCALIZATION NOTE (netmonitor.timings.queuedAt): This is relative queued time to the
+# first request. %S is time expressed in milliseconds or minutes.
+
+# LOCALIZATION NOTE (netmonitor.timings.startedAt): Relative to the first request,
+# when the request actually started. %S is time expressed in milliseconds or minutes.
+
+# LOCALIZATION NOTE (netmonitor.timings.downloadedAt): Relative to first request,
+# when the request actually finished downloading.
+# %S is time expressed in milliseconds or minutes.
+
+# LOCALIZATION NOTE (netmonitor.timings.noTimings): Message that displays in the
+# timings pane when thea request has been blocked
+
+# LOCALIZATION NOTE (networkMenu.millisecond): This is the label displayed
+# in the network menu specifying timing interval divisions (in milliseconds).
+networkMenu.millisecond=%S мс
+
+# LOCALIZATION NOTE (networkMenu.second): This is the label displayed
+# in the network menu specifying timing interval divisions (in seconds).
+networkMenu.second=%S с
+
+# LOCALIZATION NOTE (networkMenu.minute): This is the label displayed
+# in the network menu specifying timing interval divisions (in minutes).
+networkMenu.minute=%S мин
+
+# LOCALIZATION NOTE (pieChart.loading): This is the label displayed
+# for pie charts (e.g., in the performance analysis view) when there is
+# no data available yet.
+pieChart.loading=Зареждане
+
+# LOCALIZATION NOTE (pieChart.unavailable): This is the label displayed
+# for pie charts (e.g., in the performance analysis view) when there is
+# no data available, even after loading it.
+pieChart.unavailable=Празно
+
+# LOCALIZATION NOTE (pieChart.ariaLabel): This is the text used for the aria-label attribute
+# for SVG pie charts (e.g., in the performance analysis view).
+
+# LOCALIZATION NOTE (pieChart.sliceAriaLabel): This is the text used for the aria-label attribute
+# for SVG pie charts slices (e.g., in the performance analysis view).
+# %1$S is the slice label (e.g. "html")
+# %2$S is the percentage (e.g. "33.23%").
+
+# LOCALIZATION NOTE (tableChart.loading): This is the label displayed
+# for table charts (e.g., in the performance analysis view) when there is
+# no data available yet.
+tableChart.loading=Моля, изчакайте…
+
+# LOCALIZATION NOTE (tableChart.unavailable): This is the label displayed
+# for table charts (e.g., in the performance analysis view) when there is
+# no data available, even after loading it.
+tableChart.unavailable=Няма данни
+
+# LOCALIZATION NOTE (charts.size.kB): This is the label displayed
+# in pie or table charts specifying the size of a request (in kilobytes).
+
+# LOCALIZATION NOTE (charts.transferredSize.kB): This is the label displayed
+# in pie or table charts specifying the size of a transferred request (in kilobytes).
+
+# LOCALIZATION NOTE (charts.totalS): This is the label displayed
+# in pie or table charts specifying the time for a request to finish (in seconds).
+charts.totalS=%S с
+
+# LOCALIZATION NOTE (charts.totalTransferredSize.kB): This is the label displayed
+# in the performance analysis view for total transferred size, in kilobytes.
+
+# LOCALIZATION NOTE (charts.cacheEnabled): This is the label displayed
+# in the performance analysis view for "cache enabled" charts.
+charts.cacheEnabled=Първичен склад
+
+# LOCALIZATION NOTE (charts.cacheDisabled): This is the label displayed
+# in the performance analysis view for "cache disabled" charts.
+charts.cacheDisabled=Празен склад
+
+# LOCALIZATION NOTE (charts.learnMore): This is the label displayed
+# in the performance analysis view, with a link to external documentation.
+
+# LOCALIZATION NOTE (charts.totalSize.kB): This is the label displayed
+# in the performance analysis view for total requests size, in kilobytes.
+
+# LOCALIZATION NOTE (charts.totalSeconds): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# This is the label displayed in the performance analysis view for the
+# total requests time, in seconds.
+charts.totalSeconds=Време: #1 секунда;Време: #1 секунди
+
+# LOCALIZATION NOTE (charts.totalSecondsNonBlocking): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# This is the label displayed in the performance analysis view for the
+# total requests time (non-blocking), in seconds.
+charts.totalSecondsNonBlocking=Време без изчакване: #1 секунда;Време без изчакване: #1 секунди
+
+# LOCALIZATION NOTE (charts.totalCached): This is the label displayed
+# in the performance analysis view for total cached responses.
+charts.totalCached=Складиран отговор: %S
+
+# LOCALIZATION NOTE (charts.totalCount): This is the label displayed
+# in the performance analysis view for total requests.
+charts.totalCount=Общо заявки: %S
+
+# LOCALIZATION NOTE (charts.requestsNumber): This is the label for the header column in
+# the performance analysis view for the number of requests. The label is not visible on screen,
+# but is set in the DOM for accessibility sake.
+
+# LOCALIZATION NOTE (charts.size): This is the label displayed
+# in the header column in the performance analysis view for size of the request.
+charts.size=Големина
+
+# LOCALIZATION NOTE (charts.type): This is the label displayed
+# in the header column in the performance analysis view for type of request.
+charts.type=Вид
+
+# LOCALIZATION NOTE (charts.transferred): This is the label displayed
+# in the header column in the performance analysis view for transferred
+# size of the request.
+charts.transferred=Пренесени
+
+# LOCALIZATION NOTE (charts.time): This is the label displayed
+# in the header column in the performance analysis view for time of request.
+charts.time=Време
+
+# LOCALIZATION NOTE (charts.nonBlockingTime): This is the label displayed
+# in the header column in the performance analysis view for non blocking
+# time of request.
+charts.nonBlockingTime=Време без изчакване
+
+# LOCALIZATION NOTE (netRequest.originalFileURL.tooltip): This is the tooltip
+# displayed for the file's original URL value displayed in the file column of
+# a request.
+
+# LOCALIZATION NOTE (netRequest.decodedFileURL.tooltip): This is the tooltip
+# displayed for the file's decoded URL value displayed in the file column of
+# a request.
+
+# LOCALIZATION NOTE (certmgr.subjectinfo.label):
+# A label used for a certificate section in security tab.
+# This section displays Name and organization who has been assigned the fingerprints
+certmgr.subjectinfo.label=Издаден на
+
+# LOCALIZATION NOTE (certmgr.certdetail.cn):
+# A label used for Issued To and Issued By sub-section in security tab
+certmgr.certdetail.cn=Име (CN):
+
+# LOCALIZATION NOTE (certmgr.certdetail.o):
+# A label used for Issued To and Issued By sub-section in security tab
+certmgr.certdetail.o=Организация (О):
+
+# LOCALIZATION NOTE (certmgr.certdetail.ou):
+# A label used for Issued To and Issued By sub-section in security tab
+certmgr.certdetail.ou=Организационно подразделение (OU):
+
+# LOCALIZATION NOTE (certmgr.issuerinfo.label):
+# A label used for a certificate section in security tab
+# This section displays Name and organization who issued the fingerprints
+certmgr.issuerinfo.label=Издаден от
+
+# LOCALIZATION NOTE (certmgr.periodofvalidity.label):
+# A label used for a certificate section in security tab
+# This section displays the valid period of this fingerprints
+certmgr.periodofvalidity.label=Период на валидност
+
+# LOCALIZATION NOTE (certmgr.begins):
+# A label used for Period of Validity sub-section in security tab
+certmgr.begins=Започва на:
+
+# LOCALIZATION NOTE (certmgr.expires):
+# A label used for Period of Validity sub-section in security tab
+certmgr.expires=Изтича на:
+
+# LOCALIZATION NOTE (certmgr.fingerprints.label):
+# A label used for a certificate section in security tab
+# This section displays the valid period of this fingerprints
+certmgr.fingerprints.label=Отпечатъци
+
+# LOCALIZATION NOTE (certmgr.certdetail.sha256fingerprint):
+# A label used for Fingerprints sub-section in security tab
+certmgr.certdetail.sha256fingerprint=Отпечатък SHA-256:
+
+# LOCALIZATION NOTE (certmgr.certdetail.sha1fingerprint):
+# A label used for Fingerprints sub-section in security tab
+certmgr.certdetail.sha1fingerprint=Отпечатък SHA1:
+
+# LOCALIZATION NOTE (certmgr.certificateTransparency.label):
+# This string is used as a label in the security tab.
+certmgr.certificateTransparency.label=Прозрачност:
+
+# LOCALIZATION NOTE (certmgr.certificateTransparency.status.ok):
+# This string is used to indicate that there are valid signed certificate
+# timestamps. This is a property for the 'Transparency'
+# field in the security tab.
+certmgr.certificateTransparency.status.ok=Действителни записи за SCT
+
+# LOCALIZATION NOTE (certmgr.certificateTransparency.status.notEnoughSCTS):
+# This string is used to indicate that there are not enough valid signed
+# certificate timestamps. This is a property for the 'Transparency'
+# field in the security tab.
+certmgr.certificateTransparency.status.notEnoughSCTS=Недостатъчно SCT
+
+# LOCALIZATION NOTE (certmgr.certificateTransparency.status.notDiverseSCTS):
+# This string is used to indicate that there ar not enough diverse signed
+# certificate timestamps. This is a property for the 'Transparency'
+# field in the security tab.
+certmgr.certificateTransparency.status.notDiverseSCTS=Недостатъчно разнообразни SCT
+
+# LOCALIZATION NOTE (netmonitor.perfNotice1/2/3): These are the labels displayed
+# in the network table when empty to start performance analysis.
+netmonitor.perfNotice1=• Натиснете бутона
+netmonitor.perfNotice2=за анализиране на производителността.
+netmonitor.perfNotice3=Анализиране
+
+# LOCALIZATION NOTE (netmonitor.reload1/2/3): These are the labels displayed
+# in the network table when empty to start logging network requests.
+netmonitor.reloadNotice1=• Изпълнете заявка или изберете
+netmonitor.reloadNotice2=Презареждане
+netmonitor.reloadNotice3=на страницата, за да получите подробна информация за мрежовата активност.
+
+
+# LOCALIZATION NOTE (netmonitor.toolbar.status3): This is the label displayed
+# in the network table toolbar, above the "status" column.
+netmonitor.toolbar.status3=Състояние
+
+# LOCALIZATION NOTE (netmonitor.toolbar.method): This is the label displayed
+# in the network table toolbar, above the "method" column.
+netmonitor.toolbar.method=Метод
+
+# LOCALIZATION NOTE (netmonitor.toolbar.priority): This is the label displayed
+# in the network table toolbar, above the "priority" column.
+
+# LOCALIZATION NOTE (netmonitor.toolbar.file): This is the label displayed
+# in the network table toolbar, above the "file" column.
+netmonitor.toolbar.file=Файл
+
+# LOCALIZATION NOTE (netmonitor.toolbar.url): This is the label displayed
+# in the network table toolbar, above the "url" column.
+
+# LOCALIZATION NOTE (netmonitor.toolbar.protocol): This is the label displayed
+# in the network table toolbar, above the "protocol" column.
+netmonitor.toolbar.protocol=Протокол
+
+# LOCALIZATION NOTE (netmonitor.toolbar.domain): This is the label displayed
+# in the network table toolbar, above the "domain" column.
+netmonitor.toolbar.domain=Домейн
+
+# LOCALIZATION NOTE (netmonitor.toolbar.remoteip): This is the label displayed
+# in the network table toolbar, above the "remoteip" column.
+netmonitor.toolbar.remoteip=Отдалечен IP
+
+# LOCALIZATION NOTE (netmonitor.toolbar.initiator): This is the label displayed
+# in the network table toolbar, above the "initiator" column.
+
+# LOCALIZATION NOTE (netmonitor.toolbar.type): This is the label displayed
+# in the network table toolbar, above the "type" column.
+netmonitor.toolbar.type=Вид
+
+# LOCALIZATION NOTE (netmonitor.toolbar.cookies): This is the label displayed
+# in the network table toolbar, above the "cookies" column.
+netmonitor.toolbar.cookies=Бисквитки
+
+# LOCALIZATION NOTE (netmonitor.toolbar.setCookies): This is the label displayed
+# in the network table toolbar, above the "set cookies" column.
+# Set-Cookie is a HTTP response header. This string is the plural form of it.
+# See https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie
+netmonitor.toolbar.setCookies=Добавяне бисквитки
+
+# LOCALIZATION NOTE (netmonitor.toolbar.scheme): This is the label displayed
+# in the network table toolbar, above the "scheme" column.
+netmonitor.toolbar.scheme=Схема
+
+# LOCALIZATION NOTE (netmonitor.toolbar.startTime): This is the label displayed
+# in the network table toolbar, above the "start time" column, which is the time
+# from start of 1st request until the start of this request.
+netmonitor.toolbar.startTime=Начало
+
+# LOCALIZATION NOTE (netmonitor.toolbar.endTime): This is the label displayed
+# in the network table toolbar, above the "end time" column, which is the time
+# from start of 1st request until the end of this response.
+netmonitor.toolbar.endTime=Край
+
+# LOCALIZATION NOTE (netmonitor.toolbar.responseTime): This is the label displayed
+# in the network table toolbar, above the "response time" column, which is the time
+# from start of 1st request until the beginning of download of this response.
+netmonitor.toolbar.responseTime=Време за отговор
+
+# LOCALIZATION NOTE (netmonitor.toolbar.duration): This is the label displayed
+# in the network table toolbar, above the "duration" column, which is the time
+# from start of this request until the end of this response.
+netmonitor.toolbar.duration=Времетраене
+
+# LOCALIZATION NOTE (netmonitor.toolbar.latency): This is the label displayed
+# in the network table toolbar, above the "latency" column, which is the time
+# from end of this request until the beginning of download of this response.
+netmonitor.toolbar.latency=Закъснение
+
+# LOCALIZATION NOTE (netmonitor.toolbar.transferred): This is the label displayed
+# in the network table toolbar, above the "transferred" column and in general
+# section of the headers panel, which is the compressed / encoded size.
+netmonitor.toolbar.transferred=Пренесени
+
+# LOCALIZATION NOTE (netmonitor.toolbar.contentSize): This is the label displayed
+# in the network table toolbar, above the "size" column, which is the
+# uncompressed / decoded size.
+netmonitor.toolbar.contentSize=Големина
+
+# LOCALIZATION NOTE (netmonitor.toolbar.waterfall): This is the label displayed
+# in the network table toolbar, above the "waterfall" column.
+netmonitor.toolbar.waterfall=Времева линия
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.size): This is the label displayed
+# in the messages table header, above the "size" column.
+netmonitor.ws.toolbar.size=Размер
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.data): This is the label displayed
+# in the messages table header, above the "data" column.
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.opCode): This is the label displayed
+# in the messages table header, above the "opCode" column.
+netmonitor.ws.toolbar.opCode=OpCode
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.maskBit): This is the label displayed
+# in the messages table header, above the "maskBit" column.
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.finBit): This is the label displayed
+# in the messages table header, above the "finBit" column.
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.time): This is the label displayed
+# in the messages table header, above the "time" column.
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.eventName): This is the label displayed
+# in the messages table header, above the "eventName" column.
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.retry): This is the label displayed
+# in the messages table header, above the "retry" column.
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.lastEventId): This is the label displayed
+# in the messages table header, above the "lastEventId" column.
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.clear): This is the label displayed
+# in the messages panel toolbar for the "Clear" button.
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.filterFreetext.label): This is the label
+# displayed in the messages panel toolbar for the frames filtering textbox.
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.filterFreetext.key): This is the
+# shortcut key to focus on the messages panel toolbar messages filtering textbox
+netmonitor.ws.toolbar.filterFreetext.key=CmdOrCtrl+E
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.resetColumns): This is the label
+# displayed in the messages panel table header context menu.
+
+# LOCALIZATION NOTE (netmonitor.ws.context.all): This is the label displayed
+# on the context menu that shows "All" WebSocket frames.
+
+# LOCALIZATION NOTE (netmonitor.ws.context.all.accesskey): This is the access key
+# for the "All" menu item displayed in the context menu in the websocket toolbar.
+
+# LOCALIZATION NOTE (netmonitor.ws.context.sent): This is the label displayed
+# on the context menu that shows "Sent" WebSocket frames.
+
+# LOCALIZATION NOTE (netmonitor.ws.context.sent.accesskey): This is the access key
+# for the "Sent" menu item displayed in the context menu in the websocket toolbar.
+
+# LOCALIZATION NOTE (netmonitor.ws.context.received): This is the label displayed
+# on the context menu that shows "Received" WebSocket frames.
+
+# LOCALIZATION NOTE (netmonitor.ws.context.received.accesskey): This is the access key
+# for the "Received" menu item displayed in the context menu in the websocket toolbar.
+
+# LOCALIZATION NOTE (netmonitor.ws.context.controlFrames): This is the label displayed
+# on the context menu that shows "Control Frames" WebSocket frames.
+
+# LOCALIZATION NOTE (netmonitor.ws.context.controlFrames.accesskey): This is the access key
+# for the "Control Frames" menu item displayed in the context menu in the websocket toolbar.
+
+# LOCALIZATION NOTE (netmonitor.ws.context.copyFrame): This is the label displayed
+# on the context menu that shows "Copy Message".
+
+# LOCALIZATION NOTE (netmonitor.ws.context.copyFrame.accesskey): This is the access key
+# for the "Copy Message" menu item displayed in the context menu of a WebSocket frame.
+
+# LOCALIZATION NOTE (netmonitor.ws.connection.closed): This is the text displayed in the
+# websocket messages panel when the connection is closed
+
+# LOCALIZATION NOTE (netmonitor.ws.type.sent): This is the label used as
+# accessible text for the "sent" type icon in the websocket table's "data" column.
+
+# LOCALIZATION NOTE (netmonitor.ws.type.received): This is the label used as
+# accessible text for the "received" type icon in the websocket table's "data" column.
+
+# LOCALIZATION NOTE (netmonitor.ws.rawData.header): This is the label displayed
+# in the messages panel identifying the raw data.
+
+# LOCALIZATION NOTE (netmonitor.search.toolbar.inputPlaceholder): This is the label
+# displayed in the search toolbar for the search input as the placeholder.
+
+# LOCALIZATION NOTE (netmonitor.search.toolbar.close): This is the label
+# displayed in the search toolbar to close the search panel.
+
+# LOCALIZATION NOTE (netmonitor.search.toolbar.clear): This is the label
+# displayed in the search toolbar to clear the search panel.
+
+# LOCALIZATION NOTE (netmonitor.search.toolbar.caseSensitive): This is the label
+# displayed in the search toolbar to do a case sensitive search.
+
+# LOCALIZATION NOTE (netmonitor.search.status.labels.fetching): This is the label
+# displayed in the search results status bar when status is set to fetching.
+
+# LOCALIZATION NOTE (netmonitor.search.status.labels.canceled): This is the label
+# displayed in the search results status bar when status is set to cancelled.
+
+# LOCALIZATION NOTE (netmonitor.search.status.labels.done): This is the label
+# displayed in the search results status bar when status is set to done.
+# %1$S is the number of matching lines in search results (netmonitor.search.status.labels.matchingLines)
+# %2$S is the number of files in which matching lines were found (netmonitor.search.status.labels.fileCount)
+
+# LOCALIZATION NOTE (netmonitor.search.status.labels.matchingLines): Semi-colon list of plural forms.
+# This is the label displayed in the search results status bar showing matching lines found.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of matching lines found
+
+# LOCALIZATION NOTE (netmonitor.search.status.labels.fileCount): Semi-colon list of plural forms.
+# This is the label displayed in the search results status bar showing file count
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of files in which matching lines were found
+
+# LOCALIZATION NOTE (netmonitor.search.status.labels.error): This is the label
+# displayed in the search results status bar when status is set to error.
+
+# LOCALIZATION NOTE (netmonitor.toolbar.requestBlocking): This is the tooltip displayed
+# over the toolbar's Request Blocking button
+
+# LOCALIZATION NOTE (netmonitor.actionbar.requestBlocking2): This is the label displayed
+# in the action bar's request blocking tab
+
+# LOCALIZATION NOTE (netmonitor.actionbar.enableBlocking): This is the label displayed
+# in request blocking tab to represent if requests blocking should be enabled
+
+# LOCALIZATION NOTE (netmonitor.actionbar.blockSearchPlaceholder): This is the
+# placeholder text for the request addition form
+
+# LOCALIZATION NOTE (netmonitor.actionbar.removeBlockedUrl): This is the
+# tooltip shown over the remove button for blocked URL item
+
+# LOCALIZATION NOTE (netmonitor.actionbar.requestBlockingUsageNotice): This is the
+# usage notice displayed when network blocking list is empty
+
+# LOCALIZATION NOTE (netmonitor.actionbar.requestBlockingAddNotice): This is the
+# add notice that explains ways to add blocking pattern that is displayed when
+# network blocking list is empty
+
+# LOCALIZATION NOTE (netmonitor.requestBlockingMenu.removeAllBlockedUrls): This is the
+# context menu item for removing all blocked URLs
+
+# LOCALIZATION NOTE (netmonitor.requestBlockingMenu.enableAllBlockedUrls): This is the
+# context menu item for enabling all blocked URLs
+
+# LOCALIZATION NOTE (netmonitor.requestBlockingMenu.disableAllBlockedUrls): This is the
+# context menu item for disabling all blocked URLs
+
+# LOCALIZATION NOTE (netmonitor.actionbar.search): This is the label displayed
+# in the action bar's search tab
+netmonitor.actionbar.search=Търсене
+
+# LOCALIZATION NOTE (netmonitor.actionbar.HTTPCustomRequest): This is the label displayed
+# in the action bar's edit and resend tab
+
+# LOCALIZATION NOTE (messagesTruncated): This is the text displayed
+# in the messages panel when the number of messages is over the
+# truncation limit.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+
+# LOCALIZATION NOTE (disableMessagesTruncation): This is the text displayed
+# in the messages panel checkbox label for toggling message truncation.
+
+# LOCALIZATION NOTE (toggleMessagesTruncation.title): This is the title used
+# to describe the checkbox used to toggle message truncation.
+
+# LOCALIZATION NOTE (messageDataTruncated): This is the text displayed
+# to describe to describe data truncation in the messages panel.
+
+# LOCALIZATION NOTE (netmonitor.tab.headers): This is the label displayed
+# in the network details pane identifying the headers tab.
+netmonitor.tab.headers=Заглавки
+
+# LOCALIZATION NOTE (netmonitor.tab.messages): This is the label displayed
+# in the network details pane identifying the messages tab.
+netmonitor.tab.messages=Съобщения
+
+# LOCALIZATION NOTE (netmonitor.tab.cookies): This is the label displayed
+# in the network details pane identifying the cookies tab.
+netmonitor.tab.cookies=Бисквитки
+
+# LOCALIZATION NOTE (netmonitor.tab.cache): This is the label displayed
+# in the network details pane identifying the cache tab.
+netmonitor.tab.cache=Склад
+
+# LOCALIZATION NOTE (netmonitor.tab.params): This is the label displayed
+# in the network details pane identifying the params tab.
+netmonitor.tab.params=Параметри
+
+# LOCALIZATION NOTE (netmonitor.tab.request): This is the label displayed
+# in the network details pane identifying the request tab.
+
+# LOCALIZATION NOTE (netmonitor.tab.response): This is the label displayed
+# in the network details pane identifying the response tab.
+netmonitor.tab.response=Отговор
+
+# LOCALIZATION NOTE (netmonitor.tab.timings): This is the label displayed
+# in the network details pane identifying the timings tab.
+netmonitor.tab.timings=Времена
+
+# LOCALIZATION NOTE (netmonitor.tab.stackTrace): This is the label displayed
+# in the network details pane identifying the stack-trace tab.
+netmonitor.tab.stackTrace=Следа в стека
+
+# LOCALIZATION NOTE (netmonitor.tab.security): This is the label displayed
+# in the network details pane identifying the security tab.
+netmonitor.tab.security=Защита
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.all): This is the label displayed
+# in the network toolbar for the "All" filtering button.
+netmonitor.toolbar.filter.all=Всичко
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.html): This is the label displayed
+# in the network toolbar for the "HTML" filtering button.
+netmonitor.toolbar.filter.html=HTML
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.css): This is the label displayed
+# in the network toolbar for the "CSS" filtering button.
+netmonitor.toolbar.filter.css=CSS
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.js): This is the label displayed
+# in the network toolbar for the "JS" filtering button.
+netmonitor.toolbar.filter.js=JS
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.xhr): This is the label displayed
+# in the network toolbar for the "XHR" filtering button.
+netmonitor.toolbar.filter.xhr=XHR
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.fonts): This is the label displayed
+# in the network toolbar for the "Fonts" filtering button.
+netmonitor.toolbar.filter.fonts=Шрифтове
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.images): This is the label displayed
+# in the network toolbar for the "Images" filtering button.
+netmonitor.toolbar.filter.images=Изображения
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.media): This is the label displayed
+# in the network toolbar for the "Media" filtering button.
+netmonitor.toolbar.filter.media=Медия
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.flash): This is the label displayed
+# in the network toolbar for the "Flash" filtering button.
+netmonitor.toolbar.filter.flash=Flash
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.ws): This is the label displayed
+# in the network toolbar for the "WS" filtering button.
+netmonitor.toolbar.filter.ws=WS
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.other): This is the label displayed
+# in the network toolbar for the "Other" filtering button.
+netmonitor.toolbar.filter.other=Друго
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filterFreetext.label): This is the label
+# displayed in the network toolbar for the url filtering textbox.
+netmonitor.toolbar.filterFreetext.label=Филтриране адреси
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filterFreetext.key): This is the
+# shortcut key to focus on the toolbar url filtering textbox
+netmonitor.toolbar.filterFreetext.key=CmdOrCtrl+F
+
+# LOCALIZATION NOTE (netmonitor.toolbar.search.key): This is the
+# shortcut key to toggle the search panel
+netmonitor.toolbar.search.key=CmdOrCtrl+Shift+F
+
+# LOCALIZATION NOTE (netmonitor.toolbar.copy.key): This is the
+# shortcut key to copy a selected request url from the network table
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filterFreetext.learnMore): This is
+# the title used for MDN icon in filtering textbox
+netmonitor.toolbar.filterFreetext.learnMore=Научете повече за филтрите
+
+# LOCALIZATION NOTE (netmonitor.toolbar.enablePersistentLogs.label): This is the label
+# displayed for the checkbox for enabling persistent logs.
+netmonitor.toolbar.enablePersistentLogs.label=Постоянни журнали
+
+# LOCALIZATION NOTE (netmonitor.toolbar.enablePersistentLogs.tooltip): This is the tooltip
+# displayed for the checkbox for enabling persistent logs.
+netmonitor.toolbar.enablePersistentLogs.tooltip=Ако е отметнато списъкът със заявките няма да бъде изчистван при всяко отваряне на нова страница
+
+# LOCALIZATION NOTE (netmonitor.toolbar.disableCache.label): This is the label
+# displayed for the checkbox for disabling browser cache.
+netmonitor.toolbar.disableCache.label=Изключване на складирането
+
+# LOCALIZATION NOTE (netmonitor.toolbar.disableCache.tooltip): This is the tooltip
+# displayed for the checkbox for disabling browser cache.
+netmonitor.toolbar.disableCache.tooltip=Изключване на складирането на HTTP
+
+# LOCALIZATION NOTE (netmonitor.toolbar.clear): This is the label displayed
+# in the network toolbar for the "Clear" button.
+netmonitor.toolbar.clear=Изчистване
+
+# LOCALIZATION NOTE (netmonitor.toolbar.toggleRecording): This is the label displayed
+# in the network toolbar for the toggle recording button.
+netmonitor.toolbar.toggleRecording=Спиране / Пускане на записа на мрежов журнал
+
+# LOCALIZATION NOTE (netmonitor.toolbar.search): This is the tooltip label displayed
+# in the network toolbar for the search button.
+
+# LOCALIZATION NOTE (netmonitor.toolbar.HTTPCustomRequest): This is the tooltip label displayed
+# in the network toolbar for the new HTTP Custom Request button.
+
+# LOCALIZATION NOTE (netmonitor.toolbar.resetColumns): This is the label
+# displayed in the network table header context menu.
+netmonitor.toolbar.resetColumns=Стандартен набор колони
+
+# LOCALIZATION NOTE (netmonitor.toolbar.resetSorting): This is the label
+# displayed in the network table header context menu to reset sorting
+
+# LOCALIZATION NOTE (netmonitor.toolbar.resizeColumnToFitContent): This is the label
+# displayed in the network table header context menu to resize a column to fit its content
+
+# LOCALIZATION NOTE (netmonitor.toolbar.resizeColumnToFitContent.title): This is the title
+# tooltip displayed when draggable resizer in network table headers is hovered
+
+# LOCALIZATION NOTE (netmonitor.toolbar.timings): This is the label
+# displayed in the network table header context menu for the timing submenu
+netmonitor.toolbar.timings=Времена
+
+# LOCALIZATION NOTE (netmonitor.toolbar.responseHeaders): This is the
+# label displayed in the network table header context menu for the
+# response headers submenu.
+netmonitor.toolbar.responseHeaders=Заглавки на отговора
+
+# LOCALIZATION NOTE (netmonitor.headers.toolbar.block): This is the
+# label displayed in the network details headers tab identifying the
+# block url toolbar button.
+
+# LOCALIZATION NOTE (netmonitor.headers.address): This is the label displayed
+# in the network details headers tab identifying the remote address.
+netmonitor.headers.address=Адрес
+
+# LOCALIZATION NOTE (netmonitor.headers.status): This is the label displayed
+# in the network details headers tab identifying the status code.
+
+# LOCALIZATION NOTE (netmonitor.headers.size): This is the label displayed
+# in the network details headers tab identifying the size.
+netmonitor.headers.size=Размер
+
+# LOCALIZATION NOTE (networkMenu.headers.sizeDetails): This label is displayed
+# in the network details headers tab providing the size details.
+# %1$S is the transferred size, %2$S is the size.
+
+# LOCALIZATION NOTE (netmonitor.headers.version): This is the label displayed
+# in the network details headers tab identifying the http version.
+netmonitor.headers.version=Версия
+
+# LOCALIZATION NOTE (netmonitor.summary.learnMore): This is the label displayed
+# in the network details headers tab, with a link to external documentation for
+# status codes.
+
+# LOCALIZATION NOTE (netmonitor.headers.referrerPolicy): This is the label displayed
+# in the network details headers tab identifying the referrer policy.
+
+# LOCALIZATION NOTE (netmonitor.headers.contentBlocking): This is the label displayed
+# in the network details headers tab identifying the content blocking mode.
+
+# LOCALIZATION NOTE (netmonitor.headers.requestPriority): This is the label displayed
+# in the network details headers tab identifying the request priority.
+
+# LOCALIZATION NOTE (netmonitor.summary.editAndResend): This is the label displayed
+# on the button in the headers tab that opens a form to edit and resend the currently
+# displayed request
+netmonitor.summary.editAndResend=Редактиране и изпращане
+
+# LOCALIZATION NOTE (netmonitor.headers.raw): This is the label displayed
+# on the button in the headers tab that toggle view for raw request/response headers
+# from the currently displayed request
+
+# LOCALIZATION NOTE (netmonitor.headers.blockedByCORS): This is the message displayed
+# in the notification shown when a request has been blocked by CORS with a more
+# specific reason shown in the parenthesis
+
+#LOCALIZATION NOTE (netmonitor.headers.blockedByCORSTooltip): This is the tooltip
+# displayed on the learnmore link of the blocked by CORS notification.
+
+# LOCALIZATION NOTE (netmonitor.response.name): This is the label displayed
+# in the network details response tab identifying an image's file name or font face's name.
+netmonitor.response.name=Име:
+
+# LOCALIZATION NOTE (netmonitor.response.dimensions): This is the label displayed
+# in the network details response tab identifying an image's dimensions.
+netmonitor.response.dimensions=Размер:
+
+# LOCALIZATION NOTE (netmonitor.response.mime): This is the label displayed
+# in the network details response tab identifying an image's or font's MIME type.
+netmonitor.response.mime=MIME Тип:
+
+# LOCALIZATION NOTE (netmonitor.response.fontPreviewFailed): This is the notice displayed
+# in the network details response tab if the font preview could not be generated due to
+# an error.
+
+# LOCALIZATION NOTE (netmonitor.timings.blocked): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# in a "blocked" state.
+netmonitor.timings.blocked=В изчакване:
+
+# LOCALIZATION NOTE (netmonitor.timings.dns): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# in a "dns" state.
+netmonitor.timings.dns=Откриване в DNS:
+
+# LOCALIZATION NOTE (netmonitor.timings.ssl): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# in a "tls" handshake state.
+netmonitor.timings.ssl=TLS настройка:
+
+# LOCALIZATION NOTE (netmonitor.timings.connect): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# in a "connect" state.
+netmonitor.timings.connect=Свързване:
+
+# LOCALIZATION NOTE (netmonitor.timings.send): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# in a "send" state.
+netmonitor.timings.send=Изпращане:
+
+# LOCALIZATION NOTE (netmonitor.timings.wait): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# in a "wait" state.
+netmonitor.timings.wait=Чакане:
+
+# LOCALIZATION NOTE (netmonitor.timings.receive): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# in a "receive" state.
+netmonitor.timings.receive=Получаване:
+
+# LOCALIZATION NOTE (netmonitor.timings.learnMore): This is the label displayed
+# in the network details timings tab, with a link to external documentation
+
+# LOCALIZATION NOTE (netmonitor.audits.slowIconTooltip): This is the tooltip text displayed
+# in the network request list file column, on the slow icon button.
+# %1$S is the waiting time %2$S is the slow threshold.
+
+# LOCALIZATION NOTE (netmonitor.security.warning.cipher): A tooltip
+# for warning icon that indicates a connection uses insecure cipher suite.
+netmonitor.security.warning.cipher=Шифърът използван за шифроване е изведен от употреба и несигурен.
+
+# LOCALIZATION NOTE (netmonitor.security.error): This is the label displayed
+# in the security tab if a security error prevented the connection.
+netmonitor.security.error=Възникна грешка:
+
+# LOCALIZATION NOTE (netmonitor.security.protocolVersion): This is the label displayed
+# in the security tab describing TLS/SSL protocol version.
+netmonitor.security.protocolVersion=Версия на протокола:
+
+# LOCALIZATION NOTE (netmonitor.security.cipherSuite): This is the label displayed
+# in the security tab describing the cipher suite used to secure this connection.
+netmonitor.security.cipherSuite=Набор шифри:
+
+# LOCALIZATION NOTE (netmonitor.security.keaGroup): This is the label displayed
+# in the security tab describing the key exchange group suite used to secure
+# this connection.
+netmonitor.security.keaGroup=Група за обмен на ключове:
+
+# LOCALIZATION NOTE (netmonitor.security.keaGroup.none): This is the label
+# displayed in the security tab describing the case when no group was used.
+netmonitor.security.keaGroup.none=няма
+
+# LOCALIZATION NOTE (netmonitor.security.keaGroup.custom): This is the label
+# displayed in the security tab describing the case when a custom group was used.
+netmonitor.security.keaGroup.custom=потребителска
+
+# LOCALIZATION NOTE (netmonitor.security.keaGroup.unknown): This is the value
+# displayed in the security tab describing an unknown group.
+netmonitor.security.keaGroup.unknown=неизвестна група
+
+# LOCALIZATION NOTE (netmonitor.security.signatureScheme): This is the label
+# displayed in the security tab describing the signature scheme used by for
+# the server certificate in this connection.
+netmonitor.security.signatureScheme=Схема на подписване:
+
+# LOCALIZATION NOTE (netmonitor.security.signatureScheme.none): This is the
+# label displayed in the security tab describing the case when no signature
+# was used.
+netmonitor.security.signatureScheme.none=няма
+
+# LOCALIZATION NOTE (netmonitor.security.signatureScheme.unknown): This is the
+# value displayed in the security tab describing an unknown signature scheme.
+netmonitor.security.signatureScheme.unknown=неизвестна схема на подписване
+
+# LOCALIZATION NOTE (netmonitor.security.hsts): This is the label displayed
+# in the security tab describing the usage of HTTP Strict Transport Security.
+netmonitor.security.hsts=Сигурен HTTP чрез ограничаване на транспорта (HSTS):
+
+# LOCALIZATION NOTE (netmonitor.security.hpkp): This is the label displayed
+# in the security tab describing the usage of Public Key Pinning.
+netmonitor.security.hpkp=Закотвен публичен ключ:
+
+# LOCALIZATION NOTE (netmonitor.security.connection): This is the label displayed
+# in the security tab describing the section containing information related to
+# the secure connection.
+netmonitor.security.connection=Връзка:
+
+# LOCALIZATION NOTE (netmonitor.security.certificate): This is the label displayed
+# in the security tab describing the server certificate section.
+netmonitor.security.certificate=Сертификат:
+
+# LOCALIZATION NOTE (netmonitor.trackingResource.tooltip): This is the label used
+# in the Network monitor panel as a tooltip for tracking resource icon.
+
+# LOCALIZATION NOTE (netmonitor.trackingResource.enhancedTrackingProtection): This is
+# the label used in the Network monitor panel for showing enhanced tracking protection.
+
+# LOCALIZATION NOTE (netmonitor.enhancedTrackingProtection.learnMore): This is the label
+# displayed in the network details headers tab, with a link to external documentation for
+# enhanced tracking protection.
+
+# LOCALIZATION NOTE (netmonitor.context.copyValue): This is the label displayed
+# for the copy sub-menu in the context menu for a request
+
+# LOCALIZATION NOTE (netmonitor.context.copyValue.accesskey): This is the access key
+# for the copy menu/sub-menu displayed in the context menu for a request
+
+# LOCALIZATION NOTE (netmonitor.context.copyUrl): This is the label displayed
+# on the context menu that copies the selected request's url
+netmonitor.context.copyUrl=Копиране на адреса
+
+# LOCALIZATION NOTE (netmonitor.context.copyUrl.accesskey): This is the access key
+# for the Copy URL menu item displayed in the context menu for a request
+netmonitor.context.copyUrl.accesskey=К
+
+# LOCALIZATION NOTE (netmonitor.context.copyUrlParams): This is the label displayed
+# on the context menu that copies the selected request's url parameters
+netmonitor.context.copyUrlParams=Копиране параметрите на URL
+
+# LOCALIZATION NOTE (netmonitor.context.copyUrlParams.accesskey): This is the access key
+# for the Copy URL Parameters menu item displayed in the context menu for a request
+netmonitor.context.copyUrlParams.accesskey=п
+
+# LOCALIZATION NOTE (netmonitor.context.copyRequestData): This is the label displayed
+# on the context menu that copies the selected request's data
+netmonitor.context.copyRequestData=Копиране на данните на %S
+
+# LOCALIZATION NOTE (netmonitor.context.copyRequestData.accesskey): This is the access key
+# for the Copy POST/PATCH/PUT/DELETE Data menu item displayed in the context menu for a request
+netmonitor.context.copyRequestData.accesskey=д
+
+# LOCALIZATION NOTE (netmonitor.context.copyAsPowerShell): This is the label displayed
+# on the context menu that copies the selected request as a PowerShell command.
+
+# LOCALIZATION NOTE (netmonitor.context.copyAsPowerShell.accesskey): This is the access key
+# for the Copy as PowerShell menu item displayed in the context menu for a request
+
+# LOCALIZATION NOTE (netmonitor.context.copyAsCurl): This is the label displayed
+# on the context menu that copies the selected request as a cURL command.
+# The capitalization is part of the official name and should be used throughout all languages.
+# http://en.wikipedia.org/wiki/CURL
+netmonitor.context.copyAsCurl=Копиране като cURL
+
+# LOCALIZATION NOTE (netmonitor.context.copyAsCurl.accesskey): This is the access key
+# for the Copy as cURL menu item displayed in the context menu for a request
+netmonitor.context.copyAsCurl.accesskey=о
+
+# LOCALIZATION NOTE (netmonitor.context.copyAsCurl.*): This is the template used to add
+# a target platform to the label for "Copy as cURL" command
+# e.g. Copy as cURL (Windows)
+# Localized label for "Copy as cURL": %S
+
+# LOCALIZATION NOTE (netmonitor.context.copyAsFetch): This is the label displayed
+# on the context menu that copies the selected request as a fetch request.
+
+# LOCALIZATION NOTE (netmonitor.context.copyAsFetch.accesskey): This is the access key
+# for the Copy as fetch menu item displayed in the context menu for a request
+
+# LOCALIZATION NOTE (netmonitor.context.copyRequestHeaders): This is the label displayed
+# on the context menu that copies the selected item's request headers
+netmonitor.context.copyRequestHeaders=Копиране заглавките на заявката
+
+# LOCALIZATION NOTE (netmonitor.context.copyRequestHeaders.accesskey): This is the access key
+# for the Copy Request Headers menu item displayed in the context menu for a request
+netmonitor.context.copyRequestHeaders.accesskey=з
+
+# LOCALIZATION NOTE (netmonitor.context.copyResponseHeaders): This is the label displayed
+# on the context menu that copies the selected item's response headers
+netmonitor.context.copyResponseHeaders=Копиране заглавките на отговора
+
+# LOCALIZATION NOTE (netmonitor.context.copyResponseHeaders.accesskey): This is the access key
+# for the Copy Response Headers menu item displayed in the context menu for a response
+netmonitor.context.copyResponseHeaders.accesskey=о
+
+# LOCALIZATION NOTE (netmonitor.context.copyResponse): This is the label displayed
+# on the context menu that copies the selected response as a string
+netmonitor.context.copyResponse=Копиране на отговора
+
+# LOCALIZATION NOTE (netmonitor.context.copyResponse.accesskey): This is the access key
+# for the Copy Response menu item displayed in the context menu for a request
+netmonitor.context.copyResponse.accesskey=т
+
+# LOCALIZATION NOTE (netmonitor.context.copyImageAsDataUri): This is the label displayed
+# on the context menu that copies the selected image as data uri
+netmonitor.context.copyImageAsDataUri=Копиране на изображение като Data URI
+
+# LOCALIZATION NOTE (netmonitor.context.copyImageAsDataUri.accesskey): This is the access key
+# for the Copy Image As Data URI menu item displayed in the context menu for a request
+netmonitor.context.copyImageAsDataUri.accesskey=з
+
+# LOCALIZATION NOTE (netmonitor.context.useAsFetch): This is the label displayed
+# on the context menu that copies the selected request as a fetch command.
+
+# LOCALIZATION NOTE (netmonitor.context.useAsFetch.accesskey): This is the access key
+# for the Copy as fetch menu item displayed in the context menu for a request
+
+# LOCALIZATION NOTE (netmonitor.context.saveImageAs): This is the label displayed
+# on the context menu that save the Image
+netmonitor.context.saveImageAs=Запазване на изображението като…
+
+# LOCALIZATION NOTE (netmonitor.context.saveImageAs.accesskey): This is the access key
+# for the Copy Image As Data URI menu item displayed in the context menu for a request
+netmonitor.context.saveImageAs.accesskey=ж
+
+# LOCALIZATION NOTE (netmonitor.context.copyAll): This is the label displayed
+# on the context menu that copies all data
+
+# LOCALIZATION NOTE (netmonitor.context.copyAll.accesskey): This is the access key
+# for the Copy All menu item displayed in the context menu for a properties view panel
+
+# LOCALIZATION NOTE (netmonitor.context.copyAllAsHar): This is the label displayed
+# on the context menu that copies all as HAR format
+netmonitor.context.copyAllAsHar=Копиране на всичко като HAR
+
+# LOCALIZATION NOTE (netmonitor.context.copyAllAsHar.accesskey): This is the access key
+# for the Copy All As HAR menu item displayed in the context menu for a network panel
+netmonitor.context.copyAllAsHar.accesskey=ч
+
+# LOCALIZATION NOTE (netmonitor.context.saveAllAsHar): This is the label displayed
+# on the context menu that saves all as HAR format
+netmonitor.context.saveAllAsHar=Запазване на всичко като HAR
+
+# LOCALIZATION NOTE (netmonitor.context.saveAllAsHar.accesskey): This is the access key
+# for the Save All As HAR menu item displayed in the context menu for a network panel
+netmonitor.context.saveAllAsHar.accesskey=З
+
+# LOCALIZATION NOTE (netmonitor.context.importHar.accesskey): This is the access key
+# for the Import HAR menu item displayed in the context menu for a network panel
+netmonitor.context.importHar.accesskey=в
+
+# LOCALIZATION NOTE (netmonitor.har.importHarDialogTitle): This is a label
+# used for import file open dialog
+netmonitor.har.importHarDialogTitle=Внасяне на файл HAR
+
+# LOCALIZATION NOTE (netmonitor.har.importDialogHARFilter):
+# This string is displayed as a filter for importing HAR file
+netmonitor.har.importDialogHARFilter=Файлове HAR
+
+# LOCALIZATION NOTE (netmonitor.har.importDialogAllFilter):
+# This string is displayed as a filter for importing HAR file
+netmonitor.har.importDialogAllFilter=Всички файлове
+
+# LOCALIZATION NOTE (netmonitor.context.resend.label): This is the label displayed
+# on the context menu that resends the currently displayed request immediately
+netmonitor.context.resend.label=Повторно изпращане
+
+# LOCALIZATION NOTE (netmonitor.context.resend.accesskey): This is the access key
+# for the "Resend" menu item displayed in the context menu for a request
+
+# LOCALIZATION NOTE (netmonitor.context.editAndResend): This is the label displayed
+# on the context menu that opens a form to edit and resend the currently
+# displayed request
+netmonitor.context.editAndResend=Редактиране и изпращане
+
+# LOCALIZATION NOTE (netmonitor.context.editAndResend.accesskey): This is the access key
+# for the "Edit and Resend" menu item displayed in the context menu for a request
+netmonitor.context.editAndResend.accesskey=Р
+
+# LOCALIZATION NOTE (netmonitor.context.blockURL): This is the label displayed
+# on the context menu that blocks any requests matching the selected request's URL.
+
+# LOCALIZATION NOTE (netmonitor.context.unblockURL): This is the label displayed
+# on the context menu that unblocks any requests matching the selected request's URL.
+
+# LOCALIZATION NOTE (netmonitor.context.newTab): This is the label
+# for the Open in New Tab menu item displayed in the context menu of the
+# network container
+netmonitor.context.newTab=Отваряне в раздел
+
+# LOCALIZATION NOTE (netmonitor.context.newTab.accesskey): This is the access key
+# for the Open in New Tab menu item displayed in the context menu of the
+# network container
+netmonitor.context.newTab.accesskey=д
+
+# LOCALIZATION NOTE (netmonitor.context.openInDebugger): This is the label
+# for the Open in Debugger menu item displayed in the context menu of the
+# network container
+netmonitor.context.openInDebugger=Отваряне в дебъгера
+
+# LOCALIZATION NOTE (netmonitor.context.openInDebugger.accesskey): This is the access key
+# for the Open in Debugger menu item displayed in the context menu of the
+# network container
+netmonitor.context.openInDebugger.accesskey=д
+
+# LOCALIZATION NOTE (netmonitor.context.openInStyleEditor): This is the label
+# for the Open in Style Editor menu item displayed in the context menu of the
+# network container
+netmonitor.context.openInStyleEditor=Отваряне в редактора за стилове
+
+# LOCALIZATION NOTE (netmonitor.context.openInStyleEditor.accesskey): This is
+# the access key for the Open in Style Editor menu item displayed in the
+# context menu of the network container
+netmonitor.context.openInStyleEditor.accesskey=с
+
+# LOCALIZATION NOTE (netmonitor.context.perfTools): This is the label displayed
+# on the context menu that shows the performance analysis tools
+netmonitor.context.perfTools=Пускане на анализ на производителността…
+
+# LOCALIZATION NOTE (netmonitor.context.perfTools.accesskey): This is the access key
+# for the performance analysis menu item displayed in the context menu for a request
+netmonitor.context.perfTools.accesskey=П
+
+# LOCALIZATION NOTE (netmonitor.custom.newRequest): This is the label displayed
+# as the title of the new custom request form
+netmonitor.custom.newRequest=Нова заявка
+
+# LOCALIZATION NOTE (netmonitor.custom.newRequestMethodLabel): This is the label displayed
+# above the method text input field of the new custom request form
+
+# LOCALIZATION NOTE (netmonitor.custom.newRequestUrlLabel): This is the label displayed
+# above the url text input field of the new custom request form
+
+# LOCALIZATION NOTE (netmonitor.custom.query): This is the label displayed
+# above the query string entry in the custom request form
+netmonitor.custom.query=Низ на заявката:
+
+# LOCALIZATION NOTE (netmonitor.custom.urlParameters): This is the label displayed
+# above the query string entry in the custom request form
+
+# LOCALIZATION NOTE (netmonitor.custom.headers): This is the label displayed
+# above the request headers entry in the custom request form
+netmonitor.custom.headers=Заглавки на заявката:
+
+# LOCALIZATION NOTE (netmonitor.custom.newRequestHeaders): This is the label displayed
+# above the request headers entry in the new custom request form
+
+# LOCALIZATION NOTE (netmonitor.custom.placeholder.name): This is the placeholder displayed
+# on the input on the headers and query params on new custom request form
+
+# LOCALIZATION NOTE (netmonitor.custom.placeholder.value): This is the placeholder displayed
+# on the input on the headers and query params on new custom request form
+
+# LOCALIZATION NOTE (netmonitor.custom.postBody): This is the label displayed
+# above the request body entry in the new custom request form
+
+# LOCALIZATION NOTE (netmonitor.custom.postBody.placeholder): This is the placeholder displayed
+# on the textarea body in the new custom request form
+
+# LOCALIZATION NOTE (netmonitor.custom.postData): This is the label displayed
+# above the request body entry in the custom request form
+netmonitor.custom.postData=Тяло на заявката:
+
+# LOCALIZATION NOTE (netmonitor.custom.send): This is the label displayed
+# on the button which sends the custom request
+netmonitor.custom.send=Изпращане
+
+# LOCALIZATION NOTE (netmonitor.custom.cancel): This is the label displayed
+# on the button which cancels and closes the custom request form
+netmonitor.custom.cancel=Прекъсване
+
+# LOCALIZATION NOTE (netmonitor.custom.clear): This is the label displayed
+# on the button which clears the content of the new custom request panel
+
+# LOCALIZATION NOTE (netmonitor.custom.removeItem): This is the
+# tooltip shown over the remove button for headers and query params item
+
+# LOCALIZATION NOTE (netmonitor.backButton): This is the label displayed
+# on the button which exists the performance statistics view
+netmonitor.backButton=Назад
+
+# LOCALIZATION NOTE (netmonitor.status.tooltip.simple): This is the tooltip of the
+# column status code, when request is not being cached or is not from a service worker
+# %1$S is the status code, %2$S is the status text.
+netmonitor.status.tooltip.simple = %1$S %2$S
+
+# LOCALIZATION NOTE (netmonitor.status.tooltip.cached): This is the tooltip of
+# the column status code, when the request is cached
+# %1$S is the status code, %2$S is the status text.
+netmonitor.status.tooltip.cached = %1$S %2$S (от склада)
+
+# LOCALIZATION NOTE (netmonitor.status.tooltip.worker): This is the tooltip of
+# the column status code, when the request is from a service worker
+# %1$S is the status code, %2$S is the status text.
+netmonitor.status.tooltip.worker = %1$S %2$S (service worker)
+
+# LOCALIZATION NOTE (netmonitor.status.tooltip.cachedworker): This is the tooltip
+# of the column status code, when the request is cached and is from a service worker
+# %1$S is the status code, %2$S is the status text.
+netmonitor.status.tooltip.cachedworker = %1$S %2$S (от буфера, service worker)
+
+# LOCALIZATION NOTE (netmonitor.label.dropHarFiles): This is a label
+# rendered within the Network panel when *.har file(s) are dragged
+# over the content.
+netmonitor.label.dropHarFiles = Тук пускайте файлове HAR
+
+# LOCALIZATION NOTE (netmonitor.label.har): This is a label used
+# as a tooltip for toolbar drop-down button with HAR actions
+netmonitor.label.har=Внасяне / изнасяне на HAR
+
+# LOCALIZATION NOTE (netmonitor.cache.cache): This is the label text for the parent
+# node in the TreeView.
+netmonitor.cache.cache=Склад
+
+# LOCALIZATION NOTE (netmonitor.cache.empty): This is the text displayed when cache
+# information is not available.
+netmonitor.cache.empty=Няма сведения за склада
+
+# LOCALIZATION NOTE (netmonitor.cache.notAvailable): This is the text displayed under
+# a node that has no information available.
+netmonitor.cache.notAvailable=Не е налично
+
+# LOCALIZATION NOTE (netmonitor.cache.dataSize): This is the label text for
+# the datasize of the cached object.
+netmonitor.cache.dataSize=Размер на данните
+
+# LOCALIZATION NOTE (netmonitor.cache.expires): This is the label text for the
+# expires time of the cached object.
+netmonitor.cache.expires=Валидност до
+
+# LOCALIZATION NOTE (netmonitor.cache.fetchCount): This is the label text for the
+# fetch count of the cached object.
+netmonitor.cache.fetchCount=Брой извличания
+
+# LOCALIZATION NOTE (netmonitor.cache.lastFetched): This is the label text for the
+# last fetched date/time of the cached object.
+netmonitor.cache.lastFetched=Последно зареждане
+
+# LOCALIZATION NOTE (netmonitor.cache.lastModified): This is the label text for the
+# last modified date/time of the cached object.
+netmonitor.cache.lastModified=Последна промяна
+
+# LOCALIZATION NOTE (netmonitor.cache.device): This is the label text for the device
+# where a cached object was fetched from (e.g. "disk").
+netmonitor.cache.device=Устройство
+
+# LOCALIZATION NOTE (netmonitor.settings.menuTooltip): This is the tooltip that gets displayed
+# when the settings menu button is hovered.
+
+# LOCALIZATION NOTE (netmonitor.settings.importHarTooltip): This is the tooltip that gets displayed
+# when the HAR import menu item is hovered
+
+# LOCALIZATION NOTE (netmonitor.settings.saveHarTooltip): This is the tooltip that gets displayed
+# when the HAR save menu item is hovered
+
+# LOCALIZATION NOTE (netmonitor.settings.copyHarTooltip): This is the tooltip that gets displayed
+# when the HAR copy menu item is hovered
+
diff --git a/l10n-bg/devtools/client/network-throttling.properties b/l10n-bg/devtools/client/network-throttling.properties
new file mode 100644
index 0000000000..2c7932fcb5
--- /dev/null
+++ b/l10n-bg/devtools/client/network-throttling.properties
@@ -0,0 +1,28 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the NetworkThrottlingSelector
+# component used to throttle network bandwidth.
+#
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE These strings are used inside the NetworkThrottlingMenu
+# component used to throttle network bandwidth.
+#
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (responsive.noThrottling): UI option in a menu to configure
+# network throttling. This option is the default and disables throttling so you
+# just have normal network conditions. There is not very much room in the UI
+# so a short string would be best if possible.
+responsive.noThrottling=Неограничено
+
diff --git a/l10n-bg/devtools/client/perftools.ftl b/l10n-bg/devtools/client/perftools.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/l10n-bg/devtools/client/perftools.ftl
@@ -0,0 +1,3 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/l10n-bg/devtools/client/responsive.properties b/l10n-bg/devtools/client/responsive.properties
new file mode 100644
index 0000000000..0f2d6fda5e
--- /dev/null
+++ b/l10n-bg/devtools/client/responsive.properties
@@ -0,0 +1,125 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Responsive Design Mode,
+# available from the Web Developer sub-menu -> 'Responsive Design Mode'.
+#
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE These strings are used inside the Responsive Design Mode,
+# available from the Browser Tools sub-menu -> 'Responsive Design Mode'.
+#
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (responsive.editDeviceList2): Context menu item displayed in the
+# device selector.
+responsive.editDeviceList2=Променяне на списъка…
+
+# LOCALIZATION NOTE (responsive.exit): Tooltip text of the exit button.
+responsive.exit=Излизане от режима за адаптивен дизайн
+
+# LOCALIZATION NOTE (responsive.rotate): Tooltip text of the rotate button.
+responsive.rotate=Завъртане на изгледа
+
+# LOCALIZATION NOTE (responsive.responsiveMode): Placeholder text for the
+# device selector.
+responsive.responsiveMode=Адаптивно
+
+# LOCALIZATION NOTE (responsive.enableTouch): Tooltip text for the touch
+# simulation button when it's disabled.
+responsive.enableTouch=Включване на симулиране на докосване
+
+# LOCALIZATION NOTE (responsive.disableTouch): Tooltip text for the touch
+# simulation button when it's enabled.
+responsive.disableTouch=Изключване на симулиране на докосване
+
+# LOCALIZATION NOTE (responsive.screenshot): Tooltip of the screenshot button.
+responsive.screenshot=Правене на снимка на изгледа
+
+# LOCALIZATION NOTE (responsive.screenshotGeneratedFilename): The auto generated
+# filename.
+# The first argument (%1$S) is the date string in yyyy-mm-dd format and the
+# second argument (%2$S) is the time string in HH.MM.SS format.
+responsive.screenshotGeneratedFilename=Снимка-от-%1$S-в-%2$S
+
+# LOCALIZATION NOTE (responsive.remoteOnly): Message displayed in the tab's
+# notification box if a user tries to open Responsive Design Mode in a
+# non-remote tab.
+responsive.remoteOnly=Режимът за адаптивен дизайн е достъпен само за отдалечените раздели на четеца, като тези използвани за съдържание в многопроцесния Firefox.
+
+# LOCALIZATION NOTE (responsive.changeDevicePixelRatio): Tooltip for the
+# device pixel ratio dropdown when is enabled.
+responsive.changeDevicePixelRatio=Промяна на съотношението на пиксели на видимата област
+
+# LOCALIZATION NOTE (responsive.devicePixelRatio.auto): Tooltip for the device pixel ratio
+# dropdown when it is disabled because a device is selected.
+# The argument (%1$S) is the selected device (e.g. iPhone 6) that set
+# automatically the device pixel ratio value.
+responsive.devicePixelRatio.auto=Съотношението на пиксели е избрано автоматично от %1$S
+
+# LOCALIZATION NOTE (responsive.customDeviceName): Default value in a form to
+# add a custom device based on an arbitrary size (no association to an existing
+# device).
+responsive.customDeviceName=Друго устройсттво
+
+# LOCALIZATION NOTE (responsive.customDeviceNameFromBase): Default value in a
+# form to add a custom device based on the properties of another. %1$S is the
+# name of the device we're staring from, such as "Apple iPhone 6".
+responsive.customDeviceNameFromBase=%1$S (потребителско)
+
+# LOCALIZATION NOTE (responsive.deviceAdderName): Label of form field for the
+# name of a new device. The available width is very low, so you might see
+# overlapping text if the length is much longer than 5 or so characters.
+responsive.deviceAdderName=Наименование
+
+# LOCALIZATION NOTE (responsive.deviceAdderSize): Label of form field for the
+# size of a new device. The available width is very low, so you might see
+# overlapping text if the length is much longer than 5 or so characters.
+responsive.deviceAdderSize=Размер
+
+# LOCALIZATION NOTE (responsive.deviceAdderSave): Button text that submits a
+# form to add a new device.
+responsive.deviceAdderSave=Запазване
+
+# LOCALIZATION NOTE (responsive.deviceDetails): Tooltip that appears when
+# hovering on a device in the device modal. %1$S is the width of the device.
+# %2$S is the height of the device. %3$S is the device pixel ratio value of the
+# device. %4$S is the user agent of the device. %5$S is a boolean value
+# noting whether touch input is supported.
+responsive.deviceDetails=Размер: %1$S x %2$S\nDPR: %3$S\nUA: %4$S\nTouch: %5$S
+
+# LOCALIZATION NOTE (responsive.devicePixelRatioOption): UI option in a menu to configure
+# the device pixel ratio. %1$S is the devicePixelRatio value of the device.
+responsive.devicePixelRatioOption=DPR: %1$S
+
+# LOCALIZATION NOTE (responsive.reloadConditions.touchSimulation): Label on checkbox used
+# to select whether to reload when touch simulation is toggled.
+responsive.reloadConditions.touchSimulation=Превключване на симулирането на докосване
+
+# LOCALIZATION NOTE (responsive.reloadConditions.userAgent): Label on checkbox used
+# to select whether to reload when user agent is changed.
+responsive.reloadConditions.userAgent=Промяна на потребителския агент
+
+# LOCALIZATION NOTE (responsive.reloadNotification.description2): Text in notification bar
+# shown on first open to clarify that some features need a reload to apply.
+responsive.reloadNotification.description2=Промени в симулираното устройство налагат презареждане на страницата, за да бъдат приложени напълно. Автоматичното презареждане е изключено, за да бъде избегната загуба на промените, направени посредством развойните инструменти. Може да включите възможността за презареждане от меню Настройки.
+
+# LOCALIZATION NOTE (responsive.leftAlignViewport): Label on checkbox used in the settings
+# menu.
+responsive.leftAlignViewport=Лявоподравнен изглед
+
+# LOCALIZATION NOTE (responsive.customUserAgent): This is the placeholder for the user
+# agent input in the responsive design mode toolbar.
+responsive.customUserAgent=Собствен потребителски агент
+
+responsive.showUserAgentInput=Показване на потребителския агент
+
diff --git a/l10n-bg/devtools/client/shared.properties b/l10n-bg/devtools/client/shared.properties
new file mode 100644
index 0000000000..6d6fd67a55
--- /dev/null
+++ b/l10n-bg/devtools/client/shared.properties
@@ -0,0 +1,24 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (dimensions): This is used to display the dimensions
+# of a node or image, like 100×200.
+dimensions=%S×%S
+
+# LOCALIZATION NOTE (boxModelSize.accessibleLabel): This is used to read the
+# dimensions of a node by a screen reader. This helps communicate
+# the visual information in a more explicit form. Example:
+# Size: Width 100, height 200.
+
+# LOCALIZATION NOTE (boxModelInfo.accessibleLabel): This is used to read the
+# dimensions and position of a node by a screen reader. This helps communicate
+# the visual information in a more explicit form. Example:
+# Dimensions: Width 100, height 200, position static.
+
+# LOCALIZATION NOTE (boxModelEditable.accessibleLabel): The string spoken by
+# screen readers for each button in the box model view that opens that property
+# for editing. %1$S is the property displayed in the tooltip when hovering.
+# %2$S is the value that is visually displayed.
+# Example: margin-left: 0.
+boxModelEditable.accessibleLabel=%1$S: %2$S
diff --git a/l10n-bg/devtools/client/sourceeditor.properties b/l10n-bg/devtools/client/sourceeditor.properties
new file mode 100644
index 0000000000..a35260606c
--- /dev/null
+++ b/l10n-bg/devtools/client/sourceeditor.properties
@@ -0,0 +1,117 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Source Editor component.
+# This component is used whenever source code is displayed for the purpose of
+# being edited, inside the Firefox developer tools - current examples are the
+# Scratchpad and the Style Editor tools.
+
+# LOCALIZATION NOTE These strings are used inside the Source Editor component.
+# This component is used whenever source code is displayed for the purpose of
+# being edited, inside the Firefox developer tools (like Style Editor).
+
+# LOCALIZATION NOTE The correct localization of this file might be to keep it
+# in English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best documentation
+# on web development on the web.
+
+# LOCALIZATION NOTE (findCmd.promptMessage): This is the message shown when
+# the user wants to search for a string in the code. You can
+# access this feature by pressing Ctrl-F on Windows/Linux or Cmd-F on Mac.
+findCmd.promptMessage=Търсене на:
+
+# LOCALIZATION NOTE (gotoLineCmd.promptTitle): This is the dialog title used
+# when the user wants to jump to a specific line number in the code. You can
+# access this feature by pressing Ctrl-J on Windows/Linux or Cmd-J on Mac.
+gotoLineCmd.promptTitle=Отиване на ред…
+
+# LOCALIZATION NOTE (autocompletion.docsLink): This is the text shown on
+# the link inside of the documentation popup. If you type 'document' in Scratchpad
+# then press Shift+Space you can see the popup.
+autocompletion.docsLink=документация
+
+# LOCALIZATION NOTE (autocompletion.notFound): This is the text shown in
+# the documentation popup if Tern fails to find a type for the object.
+autocompletion.notFound=не е намерено
+
+# LOCALIZATION NOTE (jumpToLine.commandkey): This is the key to use in
+# conjunction with accel (Command on Mac or Ctrl on other platforms) to jump to
+# a specific line in the editor.
+jumpToLine.commandkey=J
+
+# LOCALIZATION NOTE (toggleComment.commandkey): This is the key to use in
+# conjunction with accel (Command on Mac or Ctrl on other platforms) to either
+# comment or uncomment selected lines in the editor.
+toggleComment.commandkey=/
+
+# LOCALIZATION NOTE (indentLess.commandkey): This is the key to use in
+# conjunction with accel (Command on Mac or Ctrl on other platforms) to reduce
+# indentation level in CodeMirror. However, its default value also used by
+# the Toolbox to switch between tools so we disable it.
+#
+# DO NOT translate this key without proper synchronization with toolbox.dtd.
+indentLess.commandkey=[
+
+# LOCALIZATION NOTE (indentMore.commandkey): This is the key to use in
+# conjunction with accel (Command on Mac or Ctrl on other platforms) to increase
+# indentation level in CodeMirror. However, its default value also used by
+# the Toolbox to switch between tools
+#
+# DO NOT translate this key without proper synchronization with toolbox.dtd.
+indentMore.commandkey=]
+
+# LOCALIZATION NOTE (moveLineUp.commandkey): This is the combination of keys
+# used to move the current line up.
+# Do not localize "Alt", "Up", or change the format of the string. These are key
+# identifiers, not messages displayed to the user.
+moveLineUp.commandkey=Alt-Up
+
+# LOCALIZATION NOTE (moveLineDown.commandkey): This is the combination of keys
+# used to move the current line up.
+# Do not localize "Alt", "Down", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+moveLineDown.commandkey=Alt-Down
+
+# LOCALIZATION NOTE (autocompletion.commandkey): This is the key, used with
+# Ctrl, for code autocompletion.
+# Do not localize "Space", it's the key identifier, not a message displayed to
+# the user.
+autocompletion.commandkey=Space
+
+# LOCALIZATION NOTE (showInformation2.commandkey): This is the combination of
+# keys used to display more information, like type inference.
+# Do not localize "Shift", "Ctrl", "Space", or change the format of the string.
+# These are key identifiers, not messages displayed to the user.
+showInformation2.commandkey=Shift-Ctrl-Space
+
+# LOCALIZATION NOTE (find.key):
+# Key shortcut used to find the typed search
+# Do not localize "CmdOrCtrl", "F", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+find.key=CmdOrCtrl+F
+
+# LOCALIZATION NOTE (replaceAll.key):
+# Key shortcut used to replace the content of the editor
+# Do not localize "Shift", "CmdOrCtrl", "F", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+replaceAll.key=Shift+CmdOrCtrl+F
+
+# LOCALIZATION NOTE (replaceAllMac.key):
+# Key shortcut used to replace the content of the editor on Mac
+# Do not localize "Alt", "CmdOrCtrl", "F", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+replaceAllMac.key=Alt+CmdOrCtrl+F
+
+# LOCALIZATION NOTE (findNext.key):
+# Key shortcut used to find again the typed search
+# Do not localize "CmdOrCtrl", "G", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+findNext.key=CmdOrCtrl+G
+
+# LOCALIZATION NOTE (findPrev.key):
+# Key shortcut used to find the previous typed search
+# Do not localize "Shift", "CmdOrCtrl", "G", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+findPrev.key=Shift+CmdOrCtrl+G
diff --git a/l10n-bg/devtools/client/startup.properties b/l10n-bg/devtools/client/startup.properties
new file mode 100644
index 0000000000..634875d2f5
--- /dev/null
+++ b/l10n-bg/devtools/client/startup.properties
@@ -0,0 +1,243 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (optionsButton.tooltip): This is used as the tooltip
+# for the options panel tab.
+optionsButton.tooltip=Настройки на кутията с инструменти
+
+# LOCALIZATION NOTE (options.label): This is used as the label of the tab in
+# the devtools window.
+options.label=Настройки
+
+# LOCALIZATION NOTE (options.panelLabel): This is used as the label for the
+# toolbox panel.
+options.panelLabel=Панел с настройки на кутията с инструменти
+
+# LOCALIZATION NOTE (options.darkTheme.label2)
+# Used as a label for dark theme
+options.darkTheme.label2=Тъмна
+
+# LOCALIZATION NOTE (options.lightTheme.label2)
+# Used as a label for light theme
+options.lightTheme.label2=Светла
+
+# LOCALIZATION NOTE (performance.label):
+# This string is displayed in the title of the tab when the profiler is
+# displayed inside the developer tools window and in the Developer Tools Menu.
+performance.label=Производителност
+
+# LOCALIZATION NOTE (performance.panelLabel):
+# This is used as the label for the toolbox panel.
+performance.panelLabel=Панел за производителността
+
+# LOCALIZATION NOTE (performance.accesskey)
+# Used for the menuitem in the tool menu
+performance.accesskey=Е
+
+# LOCALIZATION NOTE (performance.tooltip):
+# This string is displayed in the tooltip of the tab when the profiler is
+# displayed inside the developer tools window.
+# Keyboard shortcut for Performance Tools will be shown inside brackets.
+performance.tooltip=Производителност (%S)
+
+# LOCALIZATION NOTE (MenuWebconsole.label): the string displayed in the Tools
+# menu as a shortcut to open the devtools with the Web Console tab selected.
+MenuWebconsole.label=Уеб конзола
+
+# LOCALIZATION NOTE (ToolboxTabWebconsole.label): the string displayed as the
+# label of the tab in the devtools window.
+ToolboxTabWebconsole.label=Конзола
+
+# LOCALIZATION NOTE (ToolboxWebConsole.panelLabel): the string used as the
+# label for the toolbox panel.
+ToolboxWebConsole.panelLabel=Панел на конзолата
+
+# LOCALIZATION NOTE (ToolboxWebconsole.tooltip2): the string displayed in the
+# tooltip of the tab when the Web Console is displayed inside the developer
+# tools window.
+# Keyboard shortcut for Console will be shown inside the brackets.
+ToolboxWebconsole.tooltip2=Уеб конзола (%S)
+
+webConsoleCmd.accesskey=к
+
+# LOCALIZATION NOTE (ToolboxDebugger.label):
+# This string is displayed in the title of the tab when the debugger is
+# displayed inside the developer tools window and in the Developer Tools Menu.
+ToolboxDebugger.label=Дебъгер
+
+# LOCALIZATION NOTE (ToolboxDebugger.panelLabel):
+# This is used as the label for the toolbox panel.
+ToolboxDebugger.panelLabel=Панел на дебъгера
+
+# LOCALIZATION NOTE (debuggerMenu.accesskey)
+# Used for the menuitem in the tool menu
+debuggerMenu.accesskey=д
+
+# LOCALIZATION NOTE (ToolboxStyleEditor.label):
+# This string is displayed in the title of the tab when the style editor is
+# displayed inside the developer tools window and in the Developer Tools Menu.
+ToolboxStyleEditor.label=Стилове
+
+# LOCALIZATION NOTE (ToolboxStyleEditor.panelLabel):
+# This is used as the label for the toolbox panel.
+ToolboxStyleEditor.panelLabel=Панел на редактора на CSS
+
+# LOCALIZATION NOTE (ToolboxStyleEditor.tooltip3):
+# This string is displayed in the tooltip of the tab when the style editor is
+# displayed inside the developer tools window.
+# A keyboard shortcut for Stylesheet Editor will be shown inside the latter pair of brackets.
+ToolboxStyleEditor.tooltip3=Редактор на CSS (%S)
+
+# LOCALIZATION NOTE (open.accesskey): The access key used to open the style
+# editor.
+open.accesskey=с
+
+# LOCALIZATION NOTE (inspector.*)
+# Used for the menuitem in the tool menu
+inspector.label=Инспектор
+inspector.accesskey=и
+
+# LOCALIZATION NOTE (inspector.panelLabel)
+# Labels applied to the panel and views within the panel in the toolbox
+inspector.panelLabel=Панел на инспектора
+
+# LOCALIZATION NOTE (inspector.tooltip2)
+# Keyboard shortcut for DOM and Style Inspector will be shown inside brackets.
+inspector.tooltip2=Инспектор на DOM и стилове (%S)
+
+# LOCALIZATION NOTE (inspector.mac.tooltip)
+# This is the exact same string as inspector.tooltip2, except that we show it
+# on mac only, where we support toggling the inspector with either cmd+shift+C,
+# or cmd+opt+C
+inspector.mac.tooltip=Инспектор на DOM и стилове (%1$S или %2$S)
+
+# LOCALIZATION NOTE (netmonitor.label):
+# This string is displayed in the title of the tab when the Network Monitor is
+# displayed inside the developer tools window and in the Developer Tools Menu.
+netmonitor.label=Мрежа
+
+# LOCALIZATION NOTE (netmonitor.panelLabel):
+# This is used as the label for the toolbox panel.
+netmonitor.panelLabel=Панел на мрежата
+
+# LOCALIZATION NOTE (netmonitor.accesskey)
+# Used for the menuitem in the tool menu
+netmonitor.accesskey=М
+
+# LOCALIZATION NOTE (netmonitor.tooltip2):
+# This string is displayed in the tooltip of the tab when the Network Monitor is
+# displayed inside the developer tools window.
+# Keyboard shortcut for Network Monitor will be shown inside the brackets.
+netmonitor.tooltip2=Мрежов монитор (%S)
+
+# LOCALIZATION NOTE (storage.accesskey): The access key used to open the storage
+# editor.
+storage.accesskey=Х
+
+# LOCALIZATION NOTE (storage.label):
+# This string is displayed as the label of the tab in the developer tools window
+storage.label=Хранилище
+
+# LOCALIZATION NOTE (storage.menuLabel):
+# This string is displayed in the Tools menu as a shortcut to open the devtools
+# with the Storage Inspector tab selected.
+storage.menuLabel=Инспектор на хранилища
+
+# LOCALIZATION NOTE (storage.panelLabel):
+# This string is used as the aria-label for the iframe of the Storage Inspector
+# tool in developer tools toolbox.
+storage.panelLabel=Панел на хранилището
+
+# LOCALIZATION NOTE (storage.tooltip3):
+# This string is displayed in the tooltip of the tab when the storage editor is
+# displayed inside the developer tools window.
+# A keyboard shortcut for Storage Inspector will be shown inside the brackets.
+storage.tooltip3=Изследване на хранилището (бисквитки, локално хранилище, …) (%S)
+
+# LOCALIZATION NOTE (memory.label): This string is displayed in the title of the
+# tab when the memory tool is displayed inside the developer tools window and in
+# the Developer Tools Menu.
+memory.label=Памет
+
+# LOCALIZATION NOTE (memory.panelLabel): This is used as the label for the
+# toolbox panel.
+memory.panelLabel=Панел на паметта
+
+# LOCALIZATION NOTE (memory.tooltip): This string is displayed in the tooltip of
+# the tab when the memory tool is displayed inside the developer tools window.
+memory.tooltip=Памет
+
+# LOCALIZATION NOTE (dom.label):
+# This string is displayed in the title of the tab when the DOM panel is
+# displayed inside the developer tools window and in the Developer Tools Menu.
+dom.label=DOM
+
+# LOCALIZATION NOTE (dom.panelLabel):
+# This is used as the label for the toolbox panel.
+dom.panelLabel=Панел на DOM
+
+# LOCALIZATION NOTE (dom.accesskey)
+# Used for the menuitem in the tool menu
+dom.accesskey=D
+
+# LOCALIZATION NOTE (dom.tooltip):
+# This string is displayed in the tooltip of the tab when the DOM is
+# displayed inside the developer tools window.
+# Keyboard shortcut for DOM panel will be shown inside the brackets.
+dom.tooltip=DOM (%S)
+
+# LOCALIZATION NOTE (accessibility.label):
+# This string is displayed in the title of the tab when the Accessibility panel
+# is displayed inside the developer tools window and in the Developer Tools Menu.
+accessibility.label=Достъпност
+
+# LOCALIZATION NOTE (accessibility.panelLabel):
+# This is used as the label for the toolbox panel.
+accessibility.panelLabel=Панел за достъпност
+
+# LOCALIZATION NOTE (accessibility.accesskey)
+# Used for the menuitem in the tool menu
+accessibility.accesskey=д
+
+# LOCALIZATION NOTE (accessibility.tooltip3):
+# This string is displayed in the tooltip of the tab when the Accessibility is
+# displayed inside the developer tools window.
+# Keyboard shortcut for Accessibility panel will be shown inside the brackets.
+accessibility.tooltip3=Достъпност (%S)
+
+# LOCALIZATION NOTE (application.label):
+# This string is displayed in the title of the tab when the Application panel
+# is displayed inside the developer tools window and in the Developer Tools Menu.
+application.label=Приложение
+
+# LOCALIZATION NOTE (application.panelLabel):
+# This is used as the label for the toolbox panel.
+application.panelLabel=Панел на приложението
+
+# LOCALIZATION NOTE (application.tooltip):
+# This string is displayed in the tooltip of the tab when the Application panel is
+# displayed inside the developer tools window.
+application.tooltip=Панел на приложението
+
+# LOCALIZATION NOTE (toolbox.buttons.responsive):
+# This is the tooltip of the button in the toolbox toolbar that toggles
+# the Responsive mode.
+# Keyboard shortcut will be shown inside brackets.
+toolbox.buttons.responsive = Режим за адаптивен дизайн (%S)
+
+# LOCALIZATION NOTE (toolbox.buttons.screenshot):
+# This is the tooltip of the button in the toolbox toolbar that allows you to
+# take a screenshot of the entire page
+toolbox.buttons.screenshot = Снимка на цялата страница
+
+# LOCALIZATION NOTE (toolbox.buttons.rulers):
+# This is the tooltip of the button in the toolbox toolbar that toggles the
+# rulers in the page
+toolbox.buttons.rulers = Превключване на габаритните линии
+
+# LOCALIZATION NOTE (toolbox.buttons.measure):
+# This is the tooltip of the button in the toolbox toolbar that toggles the
+# measuring tools
+toolbox.buttons.measure = Измерване на част от страницата
+
diff --git a/l10n-bg/devtools/client/storage.ftl b/l10n-bg/devtools/client/storage.ftl
new file mode 100644
index 0000000000..e3e3f18fcb
--- /dev/null
+++ b/l10n-bg/devtools/client/storage.ftl
@@ -0,0 +1,96 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### These strings are used inside the Storage Inspector.
+
+# Key shortcut used to focus the filter box on top of the data view
+storage-filter-key = CmdOrCtrl+F
+
+# Placeholder for the searchbox that allows you to filter the table items
+storage-search-box =
+ .placeholder = Филтриране на елементи
+
+# Placeholder text in the sidebar search box
+storage-variable-view-search-box =
+ .placeholder = Филтър на стойностите
+
+# Add Item button title
+storage-add-button =
+ .title = Добавяне
+
+# Context menu action to delete all storage items
+storage-context-menu-delete-all =
+ .label = Премахване на всички
+
+# Context menu action to delete all session cookies
+storage-context-menu-delete-all-session-cookies =
+ .label = Изтриване на сесийните
+
+# Context menu action to copy a storage item
+storage-context-menu-copy =
+ .label = Копиране
+
+# Context menu action to delete storage item
+# Variables:
+# $itemName (String) - Name of the storage item that will be deleted
+storage-context-menu-delete =
+ .label = Изтриване на „{ $itemName }“
+
+# Context menu action to add an item
+storage-context-menu-add-item =
+ .label = Добавяне
+
+# Context menu action to delete all storage items from a given host
+# Variables:
+# $host (String) - Host for which we want to delete the items
+storage-context-menu-delete-all-from =
+ .label = Изтриване на всичко от „{ $host }“
+
+## Header names of the columns in the Storage Table for each type of storage available
+## through the Storage Tree to the side.
+
+storage-table-headers-cookies-name = Наименование
+storage-table-headers-cookies-value = Стойност
+storage-table-headers-cookies-size = Размер
+storage-table-headers-cache-status = Състояние
+
+## Labels for Storage type groups present in the Storage Tree, like cookies, local storage etc.
+
+storage-tree-labels-cookies = Бисквитки
+storage-tree-labels-local-storage = Локално хранилище
+storage-tree-labels-session-storage = Хранилище за сесии
+storage-tree-labels-indexed-db = Indexed DB
+storage-tree-labels-cache = Склад
+
+##
+
+# Tooltip for the button that collapses the right panel in the
+# storage UI when the panel is closed.
+storage-expand-pane =
+ .title = Показва панела
+
+# Tooltip for the button that collapses the right panel in the
+# storage UI when the panel is open.
+storage-collapse-pane =
+ .title = Скрива панела
+
+# String displayed in the expires column when the cookie is a Session Cookie
+storage-expires-session = Сесия
+
+# Heading displayed over the item value in the sidebar
+storage-data = Данни
+
+# Heading displayed over the item parsed value in the sidebar
+storage-parsed-value = Разпозната стойност
+
+# Warning notification when IndexedDB database could not be deleted immediately.
+# Variables:
+# $dbName (String) - Name of the database
+storage-idb-delete-blocked = Базата от данни „{ $dbName }“ ще бъде изтрита след като всички връзки бъдат затворени.
+
+# Error notification when IndexedDB database could not be deleted.
+# Variables:
+# $dbName (String) - Name of the database
+storage-idb-delete-error = Базата от данни „{ $dbName }“ не може да бъде изтрита.
diff --git a/l10n-bg/devtools/client/styleeditor.ftl b/l10n-bg/devtools/client/styleeditor.ftl
new file mode 100644
index 0000000000..2d2b0562bf
--- /dev/null
+++ b/l10n-bg/devtools/client/styleeditor.ftl
@@ -0,0 +1,42 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+styleeditor-new-button =
+ .tooltiptext = Създаване на стилов лист и добавяне към документа
+ .accesskey = Н
+styleeditor-import-button =
+ .tooltiptext = Внасяне на съществуващ стилов лист и добавяне към документа
+ .accesskey = В
+styleeditor-visibility-toggle =
+ .tooltiptext = Превключване на видимостта на стилов лист
+ .accesskey = З
+styleeditor-save-button = Запазване
+ .tooltiptext = Запазване на стиловият лист във файл
+ .accesskey = З
+styleeditor-options-button =
+ .tooltiptext = Настройки на стиловия редактор
+styleeditor-editor-textbox =
+ .data-placeholder = Въведете CSS.
+styleeditor-no-stylesheet = Тази страница няма стилов лист.
+styleeditor-no-stylesheet-tip = Може би искате да <a data-l10n-name="append-new-stylesheet">добавите нов стилов лист</a>?
+styleeditor-open-link-new-tab =
+ .label = Отваряне в раздел
+styleeditor-find =
+ .label = Търсене
+ .accesskey = Т
+styleeditor-find-again =
+ .label = Търсене отново
+ .accesskey = ъ
+styleeditor-go-to-line =
+ .label = Отиване на ред…
+ .accesskey = р
+
+# This string is shown in the style sheets list
+# Variables:
+# $ruleCount (Integer) - The number of rules in the stylesheet.
+styleeditor-stylesheet-rule-count =
+ { $ruleCount ->
+ [one] { $ruleCount } правило.
+ *[other] { $ruleCount } правила.
+ }
diff --git a/l10n-bg/devtools/client/styleeditor.properties b/l10n-bg/devtools/client/styleeditor.properties
new file mode 100644
index 0000000000..6cbdddb8cf
--- /dev/null
+++ b/l10n-bg/devtools/client/styleeditor.properties
@@ -0,0 +1,67 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Style Editor.
+# LOCALIZATION NOTE The correct localization of this file might be to keep it
+# in English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best documentation
+# on web development on the web.
+
+# LOCALIZATION NOTE (inlineStyleSheet): This is the name used for an style sheet
+# that is declared inline in the <style> element. Shown in the stylesheets list.
+# the argument is the index (order) of the containing <style> element in the
+# document.
+inlineStyleSheet=<вложен стилов лист №%S>
+
+# LOCALIZATION NOTE (newStyleSheet): This is the default name for a new
+# user-created style sheet.
+newStyleSheet=Нов стилов лист №%S
+
+# LOCALIZATION NOTE (ruleCount.label): Semicolon-separated list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# This is shown in the style sheets list.
+# #1 rule.
+# example: 111 rules.
+ruleCount.label=#1 правило.;#1 правила.
+
+# LOCALIZATION NOTE (error-load): This is shown when loading fails.
+error-load=Стилов лист не може да бъде зареден.
+
+# LOCALIZATION NOTE (error-save): This is shown when saving fails.
+error-save=Стилов лист не може да бъде запазен.
+
+# LOCALIZATION NOTE (importStyleSheet.title): This is the file picker title,
+# when you import a style sheet into the Style Editor.
+importStyleSheet.title=Внасяне на стилов лист
+
+# LOCALIZATION NOTE (importStyleSheet.filter): This is the *.css filter title
+importStyleSheet.filter=CSS-файлове
+
+# LOCALIZATION NOTE (saveStyleSheet.title): This is the file picker title,
+# when you save a style sheet from the Style Editor.
+saveStyleSheet.title=Запазване на стиловият лист
+
+# LOCALIZATION NOTE (saveStyleSheet.filter): This is the *.css filter title
+saveStyleSheet.filter=CSS-файлове
+
+# LOCALIZATION NOTE (saveStyleSheet.commandkey): This the key to use in
+# conjunction with accel (Command on Mac or Ctrl on other platforms) to Save
+saveStyleSheet.commandkey=S
+
+# LOCALIZATION NOTE (focusFilterInput.commandkey): This is the key to use in
+# conjunction with accel (Command on Mac or Ctrl on other platforms) to focus the
+# filter input. Don't use "F" as it's used by the CodeMirror editor to perform an
+# in-file search; if possible, keep it the same as sources.search.key2.
+
+# LOCALIZATION NOTE (showOriginalSources.label): This is the label on the context
+# menu item to toggle showing original sources in the editor.
+showOriginalSources.label=Показване на оригинални източници
+
+# LOCALIZATION NOTE (showOriginalSources.accesskey): This is the access key for
+# the menu item to toggle showing original sources in the editor.
+
+# LOCALIZATION NOTE (showMediaSidebar.accesskey): This is the access key for
+# the menu item to toggle showing the @media sidebar.
+
diff --git a/l10n-bg/devtools/client/toolbox-options.ftl b/l10n-bg/devtools/client/toolbox-options.ftl
new file mode 100644
index 0000000000..beae9eb0d8
--- /dev/null
+++ b/l10n-bg/devtools/client/toolbox-options.ftl
@@ -0,0 +1,128 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### Localization for Developer Tools options
+
+
+## Default Developer Tools section
+
+# The heading
+options-select-default-tools-label = Стандартни развойни инструменти
+
+# The label for the explanation of the * marker on a tool which is currently not supported
+# for the target of the toolbox.
+options-tool-not-supported-label = * Не се поддържа от назначението на текущата кутия с инструменти
+
+# The label for the heading of group of checkboxes corresponding to the developer tools
+# added by add-ons. This heading is hidden when there is no developer tool installed by add-ons.
+options-select-additional-tools-label = Развойни инструменти, инсталирани от добавки
+
+# The label for the heading of group of checkboxes corresponding to the default developer
+# tool buttons.
+options-select-enabled-toolbox-buttons-label = Бутони за лентата с инструменти
+
+# The label for the heading of the radiobox corresponding to the theme
+options-select-dev-tools-theme-label = Теми
+
+## Inspector section
+
+# The heading
+options-context-inspector = Инспектор
+
+# The label for the checkbox option to show user agent styles
+options-show-user-agent-styles-label = Показване и стиловете на четеца
+options-show-user-agent-styles-tooltip =
+ .title = Ако е включено ще бъдат показвани и стандартните стилове, зареждани от четеца.
+
+# The label for the checkbox option to enable collapse attributes
+options-collapse-attrs-label = Изрязване на атрибутите на DOM
+options-collapse-attrs-tooltip =
+ .title = Изрязване на дългите атрибути от инспектора
+
+## "Default Color Unit" options for the Inspector
+
+options-default-color-unit-label = Стандартна единица за цвят
+options-default-color-unit-authored = Авторски
+options-default-color-unit-hex = Шестнадесетична
+options-default-color-unit-hsl = HSL(A)
+options-default-color-unit-rgb = RGB(A)
+options-default-color-unit-name = Имена на цветове
+
+## Style Editor section
+
+# The heading
+options-styleeditor-label = Стилове
+
+# The label for the checkbox that toggles autocompletion of css in the Style Editor
+options-stylesheet-autocompletion-label = Автоматично довършване на CSS
+options-stylesheet-autocompletion-tooltip =
+ .title = Автоматично довършване, докато пишете, на свойствата, стойностите и селекторите на CSS в стиловия редактор
+
+## Screenshot section
+
+# The heading
+options-screenshot-label = Снимка на екрана
+
+# Label for the checkbox that toggles screenshot to clipboard feature
+options-screenshot-clipboard-only-label = Екранна снимка само в системен буфер
+
+# Label for the checkbox that toggles the camera shutter audio for screenshot tool
+options-screenshot-audio-label = Звук от затвора на фотоапарат
+options-screenshot-audio-tooltip =
+ .title = Включва звук от затвора на фотоапарат при правене на снимка на екрана
+
+## Editor section
+
+# The heading
+options-sourceeditor-label = Настройки на редактора
+
+options-sourceeditor-detectindentation-tooltip =
+ .title = Предугаждане на използвания отстъп, чрез изследване на кода
+options-sourceeditor-detectindentation-label = Разпознаване на отстъп
+options-sourceeditor-autoclosebrackets-tooltip =
+ .title = Автоматично вмъкване на затваряща скоба
+options-sourceeditor-autoclosebrackets-label = Автоматично затваряне на скоби
+options-sourceeditor-expandtab-tooltip =
+ .title = Използване на интервали вместо табулатор
+options-sourceeditor-expandtab-label = Интервали за отстъп
+options-sourceeditor-tabsize-label = Размер на табулатора
+options-sourceeditor-keybinding-label = Клавишни комбинации
+options-sourceeditor-keybinding-default-label = Стандартни
+
+## Advanced section
+
+# The heading (this item is also used in perftools.ftl)
+options-context-advanced-settings = Настройки за напреднали
+
+# The label for the checkbox that toggles the HTTP cache on or off
+options-disable-http-cache-label = Изключване на склада на HTTP (при отворена кутия с инструменти)
+options-disable-http-cache-tooltip =
+ .title = Когато е отметнато складирането на HTTP, за всички раздели с отворена кутия с инструменти, ще бъде изключено. Обслужващите нишки не се влияят от тази настройка.
+
+# The label for checkbox that toggles JavaScript on or off
+options-disable-javascript-label = Изключване на JavaScript *
+options-disable-javascript-tooltip =
+ .title = Включването на тази настройка ще изключи JavaScript в текущия раздел. Ако той или кутията с инструменти бъдат затворени, тази настройка ще бъде забравена.
+
+# The label for checkbox that toggles chrome debugging, i.e. the devtools.chrome.enabled preference
+options-enable-chrome-label = Включване на кутията с инструменти за отстраняване на дефекти от хрома на четеца и добавките
+options-enable-chrome-tooltip =
+ .title = Отмятането на тази настройка ще ви позволи да използвате различни развойни инструменти в контекста на четеца (чрез Инструменти > Разработчик > Кутия с инструменти) и за отстраняване на дефекти на добавки от управлението на добавки
+
+# The label for checkbox that toggles remote debugging, i.e. the devtools.debugger.remote-enabled preference
+options-enable-remote-label = Отдалечено дебъгване
+
+# The label for checkbox that toggles the service workers testing over HTTP on or off.
+options-enable-service-workers-http-label = Включване на обслужващите нишки през HTTP (при отворена кутия с инструменти)
+options-enable-service-workers-http-tooltip =
+ .title = Отмятането на тази настройка ще включи обслужващите нишки през HTTP за всички раздели, които имат отворена кутия с инструменти.
+
+# The label for the checkbox that toggles source maps in all tools.
+options-source-maps-label = Включване на Source Maps
+options-source-maps-tooltip =
+ .title = Ако е отметнато source maps ще бъдат използвани в инструментите.
+
+# The message shown for settings that trigger page reload
+options-context-triggers-page-refresh = * Само за текущата сесия, презарежда страницата
diff --git a/l10n-bg/devtools/client/toolbox.ftl b/l10n-bg/devtools/client/toolbox.ftl
new file mode 100644
index 0000000000..42dbe4531f
--- /dev/null
+++ b/l10n-bg/devtools/client/toolbox.ftl
@@ -0,0 +1,34 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### These messages are used in the DevTools toolbox.
+
+
+## These labels are shown in the "..." menu in the toolbox, and represent different
+## commands such as the docking of DevTools, toggling features, and viewing some
+## external links. Some of the commands have the keyboard shortcut shown next to
+## the label.
+
+toolbox-meatball-menu-dock-bottom-label = Закотвяне долу
+toolbox-meatball-menu-dock-left-label = Закотвяне вляво
+toolbox-meatball-menu-dock-right-label = Закотвяне вдясно
+toolbox-meatball-menu-dock-separate-window-label = Отделен прозорец
+
+toolbox-meatball-menu-splitconsole-label = Показване на вградената конзола
+toolbox-meatball-menu-hideconsole-label = Скриване на вградената конзола
+
+toolbox-meatball-menu-settings-label = Настройки
+toolbox-meatball-menu-documentation-label = Документация…
+toolbox-meatball-menu-community-label = Общност…
+
+# This menu item is only available in the browser toolbox. It forces the popups/panels
+# to stay visible on blur, which is primarily useful for addon developers and Firefox
+# contributors.
+toolbox-meatball-menu-noautohide-label = Изключване на автоматичното скриване на изскачащи прозорци
+
+##
+
+## These labels are shown in the top-toolbar in the Browser Toolbox and Browser Console
+
diff --git a/l10n-bg/devtools/client/toolbox.properties b/l10n-bg/devtools/client/toolbox.properties
new file mode 100644
index 0000000000..fcd84a6816
--- /dev/null
+++ b/l10n-bg/devtools/client/toolbox.properties
@@ -0,0 +1,243 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (toolbox.titleTemplate1): This is the template
+# used to format the title of the toolbox.
+# The URL of the page being targeted: %1$S.
+toolbox.titleTemplate1=Развойни инструменти – %1$S
+
+# LOCALIZATION NOTE (toolbox.titleTemplate2): This is the template
+# used to format the title of the toolbox.
+# The page title or other name for the thing being targeted: %1$S
+# The URL of the page being targeted: %2$S.
+toolbox.titleTemplate2=Развойни инструменти – %1$S – %2$S
+
+# LOCALIZATION NOTE (toolbox.multiProcessBrowserToolboxTitle): Title used for
+# the Browser Toolbox when the pref `devtools.browsertoolbox.fission` is true.
+# This Browser Toolbox allows to debug the parent process as well as the content
+# processes in the same toolbox.
+
+# LOCALIZATION NOTE (toolbox.defaultTitle): This is used as the tool
+# name when no tool is selected.
+toolbox.defaultTitle=Развойни инструменти
+
+# LOCALIZATION NOTE (toolbox.label): This is used as the label for the
+# toolbox as a whole
+toolbox.label=Развойни инструменти
+
+# LOCALIZATION NOTE (options.autoTheme.label)
+# Used as a label for auto theme
+
+# LOCALIZATION NOTE (options.toolNotSupportedMarker): This is the template
+# used to add a * marker to the label for the Options Panel tool checkbox for the
+# tool which is not supported for the current toolbox target.
+# The name of the tool: %1$S.
+options.toolNotSupportedMarker=%1$S *
+
+# LOCALIZATION NOTE (toolbox.pickButton.tooltip)
+# This is the tooltip of the element picker button in the toolbox toolbar.
+# %S is the keyboard shortcut that toggles the element picker.
+toolbox.elementPicker.tooltip=Избиране на елемент от страницата (%S)
+
+# LOCALIZATION NOTE (toolbox.pickButton.mac.tooltip)
+# Like toolbox.pickButton.tooltip, but for macOS there are two possible keyboard
+# shortcuts: Cmd+Shift+C or Cmd+Opt+C
+toolbox.elementPicker.mac.tooltip=Избиране на елемент от страницата (%1$S или %2$S)
+
+# LOCALIZATION NOTE (toolbox.androidElementPicker.tooltip)
+# This is the tooltip of the element picker button in the about:devtools-toolbox toolbox toolbar
+# when debugging an Android device
+# %S is the keyboard shortcut that toggles the element picker.
+
+# LOCALIZATION NOTE (toolbox.androidElementPicker.mac.tooltip)
+# Like toolbox.androidElementPicker.tooltip, but for macOS as there are two possible keyboard
+# shortcuts (Cmd+Shift+C or Cmd+Opt+C)
+# %1$S and %2$S are the keyboard shortcuts that toggle the element picker.
+
+# LOCALIZATION NOTE (toolbox.elementPicker.key)
+# Key shortcut used to toggle the element picker.
+toolbox.elementPicker.key=CmdOrCtrl+Shift+C
+
+# LOCALIZATION NOTE (toolbox.elementPicker.mac.key)
+# Key shortcut used to toggle the element picker for macOS.
+toolbox.elementPicker.mac.key=Cmd+Opt+C
+
+# LOCALIZATION NOTE (toolbox.viewCssSourceInStyleEditor.label)
+# Used as a message in either tooltips or contextual menu items to open the
+# corresponding URL as a css file in the Style-Editor tool.
+# DEV NOTE: Mostly used wherever toolbox.viewSourceInStyleEditorByXX is used.
+toolbox.viewCssSourceInStyleEditor.label=Отваряне на файла в редактора за стилове
+
+# LOCALIZATION NOTE (toolbox.viewJsSourceInDebugger.label)
+# Used as a message in either tooltips or contextual menu items to open the
+# corresponding URL as a js file in the Debugger tool.
+# DEV NOTE: Mostly used wherever toolbox.viewSourceInDebugger is used.
+toolbox.viewJsSourceInDebugger.label=Отваряне на файла в дебъгера
+
+toolbox.resumeOrderWarning=Страницата не възстанови изпълнението си при закачане на дебъгера. За да поправите това, моля затворете и наново отворете кутията с инструменти.
+
+# LOCALIZATION NOTE (toolbox.help.key)
+# Key shortcut used to open the options panel
+toolbox.help.key=F1
+
+# LOCALIZATION NOTE (toolbox.nextTool.key)
+# Key shortcut used to select the next tool
+toolbox.nextTool.key=CmdOrCtrl+]
+
+# LOCALIZATION NOTE (toolbox.previousTool.key)
+# Key shortcut used to select the previous tool
+toolbox.previousTool.key=CmdOrCtrl+[
+
+# LOCALIZATION NOTE (toolbox.zoom*.key)
+# Key shortcuts used to zomm in/out or reset the toolbox
+# Should match full-zoom-*-shortcut values from browserSets.ftl
+toolbox.zoomIn.key=CmdOrCtrl+Plus
+toolbox.zoomIn2.key=CmdOrCtrl+=
+
+toolbox.zoomOut.key=CmdOrCtrl+-
+toolbox.zoomOut2.key=
+
+toolbox.zoomReset.key=CmdOrCtrl+0
+toolbox.zoomReset2.key=
+
+# LOCALIZATION NOTE (toolbox.reload*.key)
+# Key shortcuts used to reload the page
+toolbox.reload.key=CmdOrCtrl+R
+toolbox.reload2.key=F5
+
+# LOCALIZATION NOTE (toolbox.forceReload*.key)
+# Key shortcuts used to force reload of the page by bypassing caches
+toolbox.forceReload.key=CmdOrCtrl+Shift+R
+toolbox.forceReload2.key=CmdOrCtrl+F5
+
+# LOCALIZATION NOTE (toolbox.toggleHost.key)
+# Key shortcut used to move the toolbox in bottom or side of the browser window
+toolbox.toggleHost.key=CmdOrCtrl+Shift+D
+
+# LOCALIZATION NOTE (toolbox.closeToolbox.key) Key shortcut used to close the toolbox
+toolbox.closeToolbox.key=CmdOrCtrl+W
+
+# LOCALIZATION NOTE (toolbox.toggleToolbox.key) Key shortcut used to toggle the toolbox
+toolbox.toggleToolbox.key=CmdOrCtrl+Shift+I
+
+# LOCALIZATION NOTE (toolbox.toggleToolboxOSX.key) Key shortcut used to toggle the toolbox
+toolbox.toggleToolboxOSX.key=CmdOrCtrl+Alt+I
+
+# LOCALIZATION NOTE (toolbox.toggleToolboxF12.key) Key shortcut used to toggle the toolbox
+toolbox.toggleToolboxF12.key=F12
+
+# LOCALIZATION NOTE (toolbox.frames.tooltip): This is the label for
+# the iframes menu list that appears only when the document has some.
+# It allows you to switch the context of the whole toolbox.
+toolbox.frames.tooltip=Избиране на рамка като целеви документ
+
+# LOCALIZATION NOTE (toolbox.frames.disabled.tooltip): This is the title
+# displayed as a tooltip of the iframes menu button, when disabled. The button
+# is normally hidden when no frames are available. But if the user is on the
+# DevTools Options panel, the button is always shown for discoverability.
+toolbox.frames.disabled.tooltip=Бутонът е достъпен само на страници с няколко рамки
+
+# LOCALIZATION NOTE (toolbox.showFrames.key)
+# Key shortcut used to show frames menu when 'frames' button is focused
+toolbox.showFrames.key=Alt+Down
+
+# LOCALIZATION NOTE (toolbox.meatballMenu.button.tooltip): This is the tooltip
+# for the "..." button on the developer tools toolbox.
+toolbox.meatballMenu.button.tooltip=Настройки и помощ за развойните инструменти
+
+# LOCALIZATION NOTE (toolbox.closebutton.tooltip): This is the tooltip for
+# the close button the developer tools toolbox.
+toolbox.closebutton.tooltip=Затваряне на развойните инструменти
+
+# LOCALIZATION NOTE (toolbox.errorCountButton.tooltip): This is the tooltip for
+# the error count button displayed in the developer tools toolbox.
+
+# LOCALIZATION NOTE (toolbox.errorCountButton.description): This is the description that
+# will be used for the error count button in the devTools settings panel.
+
+# LOCALIZATION NOTE (toolbox.sourceMapFailure): This is shown in the web console
+# when there is a failure to fetch or parse a source map.
+# The text of the error: %1$S
+# The URL that caused DevTools to try to fetch a source map: %2$S
+# The URL of the source map itself: %3$S
+toolbox.sourceMapFailure=Грешка в карта на изходен код: %1$S\nАдрес на ресурса: %2$S\nАдрес на картата: %3$S
+
+# LOCALIZATION NOTE (toolbox.sourceMapSourceFailure): This is shown in
+# the web console when there is a failure to fetch or parse an
+# original source that was mentioned in a source map.
+# The text of the error: %1$S
+# The URL of the source: %2$S
+toolbox.sourceMapSourceFailure=Грешка при извличане на изходния код: %1$S\nАдрес: %2$S
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.runtimeLabel): This is displayed as a toolbox
+# header in about:devtools-toolbox. about:devtools-toolbox is used for instance when
+# inspecting tabs in about:debugging.
+# e.g. Mozilla Fennec (65.0a1)
+# The name of runtime: %1$S
+# The version of runtime: %2$S
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.runtimeLabel.thisRuntime): this is displayed
+# as a toolbox header in about:devtools-toolbox, when inspecting the current Firefox runtime
+# (for instance, when inspecting one of its tabs in about:debugging)
+# e.g. This Firefox (65.0a1)
+# The name of the current runtime/application (brandShorterName): %1$S
+# The version of runtime: %2$S
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.tabTitleRemote):
+# Used as the tab title for about:devtools-toolbox when connected to a remote target.
+# The connection type (see toolbox.debugTargetInfo.connection.*): %1$S
+# The target type (see toolbox.debugTargetInfo.targetType.*): %2$S
+# The target name (retrieved from DevTools, eg the extension's name): %3$S
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.tabTitleLocal):
+# Used as the tab title for about:devtools-toolbox when connected to This Firefox.
+# The target type (see toolbox.debugTargetInfo.targetType.*): %1$S
+# The target name (retrieved from DevTools, eg the extension's name): %2$S
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.tabTitleError):
+# Used as the tab title for about:devtools-toolbox when it failed to connect to the
+# target.
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.connection.*): This is displayed in the
+# toolbox header in about:devtools-toolbox, to indicate how the connection to the
+# runtime being inspected was made.
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.reload):
+# Used as the reload button tooltip
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.forward):
+# Used as the navigation's "forward" button tooltip
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.back):
+# Used as the navigation's "back" button tooltip
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.targetType.*): This is displayed as the
+# alt attribute for an icon in the toolbox header in about:devtools-toolbox,
+# to indicate what is the type of the debug target being inspected.
+toolbox.debugTargetInfo.targetType.tab=Раздел
+
+# LOCALIZATION NOTE (browserToolbox.statusMessage): This is the label
+# shown next to status details when the Browser Toolbox fails to connect or
+# appears to be taking a while to do so.
+browserToolbox.statusMessage=Състояние на връзката на кутията с инструменти на четеца:
+
+# LOCALIZATION NOTE (toolbox.debugTargetErrorPage.title): This is the title
+# for the Error view shown by the toolbox when a connection to a debug target
+# could not be made
+
+# LOCALIZATION NOTE (toolbox.debugTargetErrorPage.description): This is the
+# text that appears in the Error view and explains to the user that an error
+# has happened while trying to connect to a debug target
+
+# LOCALIZATION NOTE (options.deprecationNotice): This is the text that appears in the
+# settings panel for panel that will be removed in future releases.
+# This entire text is treated as a link to an MDN page.
+options.deprecationNotice=Изведено от употреба. Научете повече…
+
+# LOCALIZATION NOTE (options.enableMultiProcessToolbox): This is the text that appears in the
+# settings panel for the checkbox that enables the Multiprocess Browser Toolbox.
+
+# LOCALIZATION NOTE (options.enableNewPerformancePanel): This is the text that appears in the
+# settings panel for the checkbox that enables the new performance panel.
+
diff --git a/l10n-bg/devtools/client/tooltips.ftl b/l10n-bg/devtools/client/tooltips.ftl
new file mode 100644
index 0000000000..266d7b917d
--- /dev/null
+++ b/l10n-bg/devtools/client/tooltips.ftl
@@ -0,0 +1,36 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### Localization for Developer Tools tooltips.
+
+
+## In the Rule View when a CSS property cannot be successfully applied we display
+## an icon. When this icon is hovered this message is displayed to explain why
+## the property is not applied.
+## Variables:
+## $property (string) - A CSS property name e.g. "color".
+
+
+## In the Rule View when a CSS property cannot be successfully applied we display
+## an icon. When this icon is hovered this message is displayed to explain why
+## the property is not applied.
+## Variables:
+## $property (string) - A CSS property name e.g. "color".
+## $display (string) - A CSS display value e.g. "inline-block".
+
+
+## In the Rule View when a CSS property cannot be successfully applied we display
+## an icon. When this icon is hovered this message is displayed to explain how
+## the problem can be solved.
+
+inactive-css-not-display-block-on-floated-fix = Опитайте се да премахнете <strong>float</strong> или да добавите <strong>display:block</strong>. { learn-more }
+
+## In the Rule View when a CSS property may have compatibility issues with other browsers
+## we display an icon. When this icon is hovered this message is displayed to explain why
+## the property is incompatible and the platforms it is incompatible on.
+## Variables:
+## $property (string) - A CSS declaration name e.g. "-moz-user-select" that can be a platform specific alias.
+## $rootProperty (string) - A raw CSS property name e.g. "user-select" that is not a platform specific alias.
+
diff --git a/l10n-bg/devtools/client/webconsole.properties b/l10n-bg/devtools/client/webconsole.properties
new file mode 100644
index 0000000000..5d6524a587
--- /dev/null
+++ b/l10n-bg/devtools/client/webconsole.properties
@@ -0,0 +1,526 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# LOCALIZATION NOTE
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (multiProcessBrowserConsole.title): Title of the Browser
+# Console window when the pref `devtools.browsertoolbox.scope` is set to "everything". This
+# Browser Console will log messages from all processes, not just the the parent
+# process.
+
+# LOCALIZATION NOTE (parentProcessBrowserConsole.title): Title used for
+# the Browser Console when the pref `devtools.browsertoolbox.scope` is set to "parent-process".
+
+# LOCALIZATION NOTE (timestampFormat): %1$02S = hours (24-hour clock),
+# %2$02S = minutes, %3$02S = seconds, %4$03S = milliseconds.
+timestampFormat=%02S:%02S:%02S.%03S
+
+ConsoleAPIDisabled=API-то за журнал на уеб конзолата (console.log, console.info, console.warn, console.error) е изключено от скрипт на страницата.
+
+# LOCALIZATION NOTE (webConsoleXhrIndicator): the indicator displayed before
+# a URL in the Web Console that was requested using an XMLHttpRequest.
+webConsoleXhrIndicator=XHR
+
+# LOCALIZATION NOTE (webConsoleMoreInfoLabel): the more info tag displayed
+# after security related web console messages.
+webConsoleMoreInfoLabel=Научете повече
+
+# LOCALIZATION NOTE (stacktrace.anonymousFunction): this string is used to
+# display JavaScript functions that have no given name - they are said to be
+# anonymous. Test console.trace() in the webconsole.
+stacktrace.anonymousFunction=<анонимна>
+
+# LOCALIZATION NOTE (stacktrace.asyncStack): this string is used to
+# indicate that a given stack frame has an async parent.
+# %S is the "Async Cause" of the frame.
+stacktrace.asyncStack=(Асинхронно: %S)
+
+# LOCALIZATION NOTE (timeLog): this string is used to display the result of
+# the console.timeLog() call. Parameters: %1$S is the name of the timer, %2$S
+# is the number of milliseconds.
+timeLog=%1$S: %2$S мс
+
+# LOCALIZATION NOTE (console.timeEnd): this string is used to display the result of
+# the console.timeEnd() call. Parameters: %1$S is the name of the timer, %2$S
+# is the number of milliseconds.
+
+# LOCALIZATION NOTE (consoleCleared): this string is displayed when receiving a
+# call to console.clear() to let the user know the previous messages of the
+# console have been removed programmatically.
+consoleCleared=Конзолата е изчистена.
+
+# LOCALIZATION NOTE (noCounterLabel): this string is used to display
+# count-messages with no label provided.
+noCounterLabel=<без име>
+
+# LOCALIZATION NOTE (counterDoesntExist): this string is displayed when
+# console.countReset() is called with a counter that doesn't exist.
+counterDoesntExist=Броячът “%S” не съществува.
+
+# LOCALIZATION NOTE (noGroupLabel): this string is used to display
+# console.group messages with no label provided.
+noGroupLabel=<група без име>
+
+maxTimersExceeded=Надвишен е максимално допустимият брой на хронометри за тази страница.
+timerAlreadyExists=Хронометърът „%S“ вече съществува.
+timerDoesntExist=Хронометърът „%S“ не съществува.
+timerJSError=Грешка при обработката на името на хронометъра.
+
+# LOCALIZATION NOTE (connectionTimeout): message displayed when the Remote Web
+# Console fails to connect to the server due to a timeout.
+connectionTimeout=Връзката просрочи времето за отговор. Проверете конзолата на грешките и в двете страни за възможни съобщения за грешки. Отворете наново уеб конзолата и опитайте отново.
+
+# LOCALIZATION NOTE (propertiesFilterPlaceholder): this is the text that
+# appears in the filter text box for the properties view container.
+propertiesFilterPlaceholder=Филтриране на свойства
+
+# LOCALIZATION NOTE (messageRepeats.tooltip2): the tooltip text that is displayed
+# when you hover the red bubble that shows how many times a message is repeated
+# in the web console output.
+# This is a semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 number of message repeats
+# example: 3 repeats
+messageRepeats.tooltip2=#1 повторение;#1 повторения
+
+# LOCALIZATION NOTE (openNodeInInspector): the text that is displayed in a
+# tooltip when hovering over the inspector icon next to a DOM Node in the console
+# output
+openNodeInInspector=Щракнете, за да изберете възел в инспектора
+
+# LOCALIZATION NOTE (selfxss.msg): the text that is displayed when
+# a new user of the developer tools pastes code into the console
+# %1 is the text of selfxss.okstring
+selfxss.msg=Предупреждение за измама: Пазете се при поставяне (Paste) на неща, които не разбирате. Това може да позволи на злонамерено лице да открадне вашата идентичност или да поеме контрол над вашия компютър. Моля, въведете „%S“ по-долу (няма нужда да натискате Enter), за да позволите поставяне (Paste).
+
+# LOCALIZATION NOTE (selfxss.okstring): the string to be typed
+# in by a new user of the developer tools when they receive the sefxss.msg prompt.
+# Please avoid using non-keyboard characters here
+selfxss.okstring=позволи поставяне
+
+# LOCALIZATION NOTE (messageToggleDetails): the text that is displayed when
+# you hover the arrow for expanding/collapsing the message details. For
+# console.error() and other messages we show the stacktrace.
+messageToggleDetails=Показване/скриване подробностите на съобщението.
+
+# LOCALIZATION NOTE (groupToggle): the text that is displayed when
+# you hover the arrow for expanding/collapsing the messages of a group.
+groupToggle=Показване/скриване на група.
+
+# LOCALIZATION NOTE (table.index, table.iterationIndex, table.key, table.value):
+# the column header displayed in the console table widget.
+table.index=(индекс)
+table.iterationIndex=(индекс на итерация)
+table.key=Ключ
+table.value=Стойности
+
+# LOCALIZATION NOTE (level.error, level.warn, level.info, level.log, level.debug):
+# tooltip for icons next to console output
+level.error=Грешка
+level.warn=Предупреждение
+level.info=Информация
+level.log=Журнал
+level.debug=Отстраняване на дефекти
+
+# LOCALIZATION NOTE (logpoint.title)
+# Tooltip shown for logpoints sent from the debugger
+
+# LOCALIZATION NOTE (blockedReason.title)
+# Tooltip shown for blocked network events sent from the network panel
+
+# LOCALIZATION NOTE (webconsole.disableIcon.title)
+# Tooltip shown for disabled console messages
+
+# LOCALIZATION NOTE (webconsole.find.key)
+# Key shortcut used to focus the search box on upper right of the console
+webconsole.find.key=CmdOrCtrl+F
+
+# LOCALIZATION NOTE (webconsole.close.key)
+# Key shortcut used to close the Browser console (doesn't work in regular web console)
+webconsole.close.key=CmdOrCtrl+W
+
+# LOCALIZATION NOTE (webconsole.clear.key*)
+# Key shortcut used to clear the console output
+webconsole.clear.key=Ctrl+Shift+L
+webconsole.clear.keyOSX=Ctrl+L
+webconsole.clear.alternativeKeyOSX=Cmd+K
+
+# LOCALIZATION NOTE (webconsole.menu.copyURL.label)
+# Label used for a context-menu item displayed for network message logs. Clicking on it
+# copies the URL displayed in the message to the clipboard.
+webconsole.menu.copyURL.label=Копиране на препратката
+webconsole.menu.copyURL.accesskey=а
+
+# LOCALIZATION NOTE (webconsole.menu.openURL.label)
+# Label used for a context-menu item displayed for network message logs. Clicking on it
+# opens the URL displayed in a new browser tab.
+webconsole.menu.openURL.label=Отваряне в раздел
+webconsole.menu.openURL.accesskey=р
+
+# LOCALIZATION NOTE (webconsole.menu.openInNetworkPanel.label)
+# Label used for a context-menu item displayed for network message logs. Clicking on it
+# opens the network message in the Network panel
+webconsole.menu.openInNetworkPanel.label=Отваряне в панела Мрежа
+webconsole.menu.openInNetworkPanel.accesskey=М
+
+# LOCALIZATION NOTE (webconsole.menu.resendNetworkRequest.label)
+# Label used for a context-menu item displayed for network message logs. Clicking on it
+# resends the network request
+webconsole.menu.resendNetworkRequest.label=Повторно изпращане на заявка
+webconsole.menu.resendNetworkRequest.accesskey=р
+
+# LOCALIZATION NOTE (webconsole.menu.openNodeInInspector.label)
+# Label used for a context-menu item displayed for DOM Node logs. Clicking on it will
+# reveal that specific DOM Node in the Inspector.
+
+# LOCALIZATION NOTE (webconsole.menu.storeAsGlobalVar.label)
+# Label used for a context-menu item displayed for object/variable logs. Clicking on it
+# creates a new global variable pointing to the logged variable.
+webconsole.menu.storeAsGlobalVar.label=Дефиниране като глобална променлива
+webconsole.menu.storeAsGlobalVar.accesskey=г
+
+# LOCALIZATION NOTE (webconsole.menu.copyMessage.label)
+# Label used for a context-menu item displayed for any log. Clicking on it will copy the
+# content of the log (or the user selection, if any).
+webconsole.menu.copyMessage.label=Копиране на съобщението
+webconsole.menu.copyMessage.accesskey=К
+
+# LOCALIZATION NOTE (webconsole.menu.copyObject.label)
+# Label used for a context-menu item displayed for object/variable log. Clicking on it
+# will copy the object/variable.
+webconsole.menu.copyObject.label=Копиране на обекта
+webconsole.menu.copyObject.accesskey=о
+
+# LOCALIZATION NOTE (webconsole.menu.openInSidebar.label)
+# Label used for a context-menu item displayed for object/variable logs. Clicking on it
+# opens the webconsole sidebar for the logged variable.
+webconsole.menu.openInSidebar.accesskey=с
+
+# LOCALIZATION NOTE (webconsole.menu.copyAllMessages.label)
+# Label used for a context-menu item displayed on the output. Clicking on it
+# copies the entire output of the console to the clipboard.
+
+# LOCALIZATION NOTE (webconsole.menu.saveAllMessagesFile.label)
+# Label used for a context-menu item displayed on the output. Clicking on it
+# opens a file picker to allow the user save a file containing
+# the output of the console.
+webconsole.menu.saveAllMessagesFile.label=Запазване съобщенията във файл
+
+# LOCALIZATION NOTE (webconsole.clearButton.tooltip)
+# Label used for the tooltip on the clear logs button in the console top toolbar bar.
+# Clicking on it will clear the content of the console.
+webconsole.clearButton.tooltip=Изчистване на съдържанието на конзолата
+
+# LOCALIZATION NOTE (webconsole.toggleFilterButton.tooltip)
+# Label used for the tooltip on the toggle filter bar button in the console top
+# toolbar bar. Clicking on it will toggle the visibility of an additional bar which
+# contains filter buttons.
+webconsole.toggleFilterButton.tooltip=Превключване на лентата с филтри
+
+# LOCALIZATION NOTE (webconsole.filterInput.placeholder)
+# Label used for for the placeholder on the filter input, in the console top toolbar.
+webconsole.filterInput.placeholder=Филтриране на съдържанието
+
+# LOCALIZATION NOTE (webconsole.errorsFilterButton.label)
+# Label used as the text of the "Errors" button in the additional filter toolbar.
+# It shows or hides error messages, either inserted in the page using
+# console.error() or as a result of a javascript error..
+webconsole.errorsFilterButton.label=Грешки
+
+# LOCALIZATION NOTE (webconsole.warningsFilterButton.label)
+# Label used as the text of the "Warnings" button in the additional filter toolbar.
+# It shows or hides warning messages, inserted in the page using console.warn().
+webconsole.warningsFilterButton.label=Предупреждения
+
+# LOCALIZATION NOTE (webconsole.logsFilterButton.label)
+# Label used as the text of the "Logs" button in the additional filter toolbar.
+# It shows or hides log messages, inserted in the page using console.log().
+webconsole.logsFilterButton.label=Журнали
+
+# LOCALIZATION NOTE (webconsole.infoFilterButton.label)
+# Label used as the text of the "Info" button in the additional filter toolbar.
+# It shows or hides info messages, inserted in the page using console.info().
+webconsole.infoFilterButton.label=Информация
+
+# LOCALIZATION NOTE (webconsole.debugFilterButton.label)
+# Label used as the text of the "Debug" button in the additional filter toolbar.
+# It shows or hides debug messages, inserted in the page using console.debug().
+webconsole.debugFilterButton.label=Отстраняване на дефекти
+
+# LOCALIZATION NOTE (webconsole.cssFilterButton.label)
+# Label used as the text of the "CSS" button in the additional filter toolbar.
+# It shows or hides CSS warning messages, inserted in the page by the browser
+# when there are CSS errors in the page.
+webconsole.cssFilterButton.label=CSS
+
+# LOCALIZATION NOTE (webconsole.cssFilterButton.inactive.tooltip)
+# Label used as the tooltip of the "CSS" button in the additional filter toolbar, when the
+# filter is inactive (=unchecked).
+
+# LOCALIZATION NOTE (webconsole.xhrFilterButton.label)
+# Label used as the text of the "XHR" button in the additional filter toolbar.
+# It shows or hides messages displayed when the page makes an XMLHttpRequest or
+# a fetch call.
+webconsole.xhrFilterButton.label=XHR
+
+# LOCALIZATION NOTE (webconsole.requestsFilterButton.label)
+# Label used as the text of the "Requests" button in the additional filter toolbar.
+# It shows or hides messages displayed when the page makes a network call, for example
+# when an image or a scripts is requested.
+webconsole.requestsFilterButton.label=Заявки
+
+# LOCALIZATION NOTE (webconsole.filteredMessagesByText.label)
+# Text on the filter input displayed when some console messages are hidden because the
+# user has filled in the input.
+# This is a semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# example: 345 hidden.
+
+# LOCALIZATION NOTE (webconsole.filteredMessagesByText.tooltip)
+# Tooltip on the filter input "hidden" text, displayed when some console messages are
+# hidden because the user has filled in the input.
+# This is a semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# example: 345 items hidden by text filter.
+
+# LOCALIZATION NOTE (webconsole.console.settings.menu.menuButton.tooltip)
+# Tooltip for the filter bar preferences menu. This menu will display multiple perefences for the
+# filter bar, such as enabling the compact toolbar mode, enable the timestamps, persist logs, etc
+webconsole.console.settings.menu.button.tooltip=Настройки на конзолата
+
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.compactToolbar.label)
+# Label for the `Compact Toolbar` preference option. This will turn the message filters buttons
+# into a Menu Button, making the filter bar more compact.
+
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.timestamps.label)
+# Label for enabling the timestamps in the Web Console.
+webconsole.console.settings.menu.item.timestamps.label=Показване на времето на изпълнение
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.timestamps.tooltip)
+webconsole.console.settings.menu.item.timestamps.tooltip=Ако е отметнато, командите и изхода от уеб конзолата ще извеждат времето на изпълнение
+
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.warningGroups.label)
+# Label for grouping the similar messages in the Web Console
+webconsole.console.settings.menu.item.warningGroups.label=Подобните съобщения - заедно
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.warningGroups.tooltip)
+webconsole.console.settings.menu.item.warningGroups.tooltip=Когато е отметнато, подобните съобщения са събрани в групи
+
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.autocomplete.label)
+# Label for enabling autocomplete for input in the Web Console
+webconsole.console.settings.menu.item.autocomplete.label=Автоматично довършване
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.autocomplete.tooltip)
+webconsole.console.settings.menu.item.autocomplete.tooltip=Ако е отметнато, при въвеждане ще се показват предложения, докато пишете
+
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.enablePersistentLogs.label)
+webconsole.console.settings.menu.item.enablePersistentLogs.label=Постоянни журнали
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.enablePersistentLogs.tooltip)
+webconsole.console.settings.menu.item.enablePersistentLogs.tooltip=Ако е отметнато, съдържанието няма да бъде изчиствано при отваряне на нова страница
+
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.instantEvaluation.label)
+webconsole.console.settings.menu.item.instantEvaluation.label=Незабавно изчисляване
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.instantEvaluation.tooltip)
+webconsole.console.settings.menu.item.instantEvaluation.tooltip=Ако е отметнато, въведеното ще бъде изчислявано незабавно, докато пишете
+
+# LOCALIZATION NOTE (browserconsole.contentMessagesCheckbox.label)
+# Label used in the browser console filter bar. This label is used for a checkbox that
+# allows the user to show or hide console messages from the content process in the browser
+# console.
+# LOCALIZATION NOTE (browserconsole.contentMessagesCheckbox.tooltip)
+# Tooltip for the "Show content messages" checkbox in the Browser Console filter bar.
+
+# LOCALIZATION NOTE (browserconsole.enableNetworkMonitoring.label)
+# Label used in the browser console / browser toolbox console. This label is used for a checkbox that
+# allows the user enable monitoring of network requests.
+# LOCALIZATION NOTE (browserconsole.enableNetworkMonitoring.tooltip)
+# Tooltip for the "Enable Network Monitoring" check item.
+
+# LOCALIZATION NOTE (webconsole.navigated): this string is used in the console when the
+# current inspected page is navigated to a new location.
+# Parameters: %S is the new URL.
+webconsole.navigated=Посещаване на %S
+
+# LOCALIZATION NOTE (webconsole.closeSplitConsoleButton.tooltip): This is the tooltip for
+# the close button of the split console.
+webconsole.closeSplitConsoleButton.tooltip=Скриване на вградената конзола (Esc)
+
+# LOCALIZATION NOTE (webconsole.closeSidebarButton.tooltip): This is the tooltip for
+# the close button of the sidebar.
+webconsole.closeSidebarButton.tooltip=Затваряне на страничната лента
+
+# LOCALIZATION NOTE (webconsole.reverseSearch.input.placeHolder):
+# This string is displayed in the placeholder of the reverse search input in the console.
+webconsole.reverseSearch.input.placeHolder=Търсене в историята
+
+# LOCALIZATION NOTE (webconsole.reverseSearch.result.closeButton.tooltip):
+# This string is displayed in the tooltip of the close button in the reverse search toolbar.
+# A keyboard shortcut will be shown inside the latter pair of brackets.
+webconsole.reverseSearch.closeButton.tooltip=Затваряне (%S)
+
+# LOCALIZATION NOTE (webconsole.reverseSearch.results):
+# This string is displayed in the reverse search UI when there are at least one result
+# to the search.
+# This is a semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 index of current search result displayed.
+# #2 total number of search results.
+webconsole.reverseSearch.results=1 резултат;#1 от #2 резултата
+
+# LOCALIZATION NOTE (webconsole.reverseSearch.noResult):
+# This string is displayed in the reverse search UI when there is no results to the search.
+webconsole.reverseSearch.noResult=Няма резултати
+
+# LOCALIZATION NOTE (webconsole.reverseSearch.result.previousButton.tooltip):
+# This string is displayed in the tooltip of the "previous result" button in the reverse search toolbar.
+# A keyboard shortcut will be shown inside the latter pair of brackets.
+webconsole.reverseSearch.result.previousButton.tooltip=Предишен резултат (%S)
+
+# LOCALIZATION NOTE (webconsole.reverseSearch.result.nextButton.tooltip):
+# This string is displayed in the tooltip of the "next result" button in the reverse search toolbar.
+# A keyboard shortcut will be shown inside the latter pair of brackets.
+webconsole.reverseSearch.result.nextButton.tooltip=Следващ резултат (%S)
+
+# LOCALIZATION NOTE (webconsole.confirmDialog.getter.label)
+# Label used for the "invoke getter" confirm dialog that appears in the console when
+# a user tries to autocomplete a property with a getter.
+# Example: given the following object `x = {get y() {}}`, when the user types `x.y.`, it
+# would return "Invoke getter y to retrieve the property list?".
+# Parameters: %S is the name of the getter.
+
+# LOCALIZATION NOTE (webconsole.confirmDialog.getter.invokeButtonLabelWithShortcut)
+# Label used for the confirm button in the "invoke getter" dialog that appears in the
+# console when a user tries to autocomplete a property with a getter.
+# A keyboard shortcut will be shown inside the latter pair of brackets.
+
+# LOCALIZATION NOTE (webconsole.confirmDialog.getter.closeButton.tooltip)
+# Label used as the tooltip for the close button in the "invoke getter" dialog that
+# appears in the console when a user tries to autocomplete a property with a getter.
+# A keyboard shortcut will be shown inside the latter pair of brackets.
+
+# LOCALIZATION NOTE (webconsole.cssWarningElements.label)
+# Label for the list of HTML elements matching the selector associated
+# with the CSS warning. Parameters: %S is the CSS selector.
+
+# LOCALIZATION NOTE (webconsole.message.componentDidCatch.label)
+# Label displayed when the webconsole couldn't handle a given packet.
+# Parameters: %S is the URL to file a bug about the error.
+
+# LOCALIZATION NOTE (webconsole.message.commands.copyValueToClipboard)
+# Label displayed when the string is copied to the clipboard as a result of a copy command,
+# in the console, for example, copy({hello: "world"}).
+
+# LOCALIZATION NOTE (webconsole.error.commands.copyError):
+# the error that is displayed when the "copy" command can't stringify an object
+# "copy" should not be translated, because is a function name.
+# Parameters: %S is the original error message
+
+# LOCALIZATION NOTE (webconsole.message.commands.blockedUR)
+# Label displayed when the :block <url> command is successful
+# Parameters: %S is the URL filter
+
+# LOCALIZATION NOTE (webconsole.message.commands.unblockedURL)
+# Label displayed when the :unblock <url> command is successful
+# Parameters: %S is the URL filter
+
+# LOCALIZATION NOTE (webconsole.messages.commands.blockArgMissing)
+# Message displayed when no filter is passed to block/unblock command
+
+# LOCALIZATION NOTE (webconsole.message.componentDidCatch.copyButton.label)
+# Label displayed on the button next to the message we display when the webconsole
+# couldn't handle a given packet (See webconsole.message.componentDidCatch.label).
+
+
+# LOCALIZATION NOTE (webconsole.editor.toolbar.executeButton.label)
+# Label used for the text of the execute button, in the editor toolbar, which is
+# displayed when the editor mode is enabled (devtools.webconsole.input.editor=true).
+
+# LOCALIZATION NOTE (webconsole.editor.toolbar.reverseSearchButton.openReverseSearch.tooltip)
+# Label used for the tooltip on the reverse search button for opening the Reverse Search UI.
+# The Reverse Search is a feature that mimics the bash-like reverse search of
+# command history in WebConsole, searching commands from the last item backwards.
+# Parameters: %S is the keyboard shortcut.
+
+# LOCALIZATION NOTE (webconsole.editor.toolbar.reverseSearchButton.closeReverseSearch.tooltip)
+# Label used for the tooltip on the reverse search button for closing the Reverse Search UI.
+# The Reverse Search is a feature that mimics the bash-like reverse search of
+# command history in WebConsole, searching commands from the last item backwards.
+# Parameters: %S is the keyboard shortcut.
+
+# LOCALIZATION NOTE (webconsole.editor.toolbar.executeButton.tooltip)
+# Label used for the tooltip on the execute button, in the editor toolbar, which is
+# displayed when the editor mode is enabled (devtools.webconsole.input.editor=true).
+# Parameters: %S is the keyboard shortcut.
+
+# LOCALIZATION NOTE (webconsole.editor.toolbar.prettyPrintButton.tooltip)
+# Label used for the tooltip on the prettyPrint button, in the editor toolbar, which is
+# displayed when the editor mode is enabled (devtools.webconsole.input.editor=true).
+
+# LOCALIZATION NOTE (webconsole.editor.toolbar.executeButton.tooltip)
+# Label used for the tooltip on the history previous expression, in the editor toolbar,
+# which is displayed when the editor mode is enabled (devtools.webconsole.input.editor=true).
+
+
+# LOCALIZATION NOTE (webconsole.editor.toolbar.executeButton.tooltip)
+# Label used for the tooltip on the history next expression, in the editor toolbar,
+# which is displayed when the editor mode is enabled (devtools.webconsole.input.editor=true).
+
+# LOCALIZATION NOTE (webconsole.editor.toolbar.closeButton.tooltip2)
+# Label used for the tooltip on the close button, in the editor toolbar, which is
+# displayed when the editor mode is enabled (devtools.webconsole.input.editor=true).
+# Parameters: %S is the keyboard shortcut.
+
+# LOCALIZATION NOTE (webconsole.input.openEditorButton.tooltip2)
+# Label used for the tooltip on the open editor button, in console input, which is
+# displayed when the console is in regular mode.
+# Parameters: %S is the keyboard shortcut.
+
+# LOCALIZATION NOTE (webconsole.warningGroup.messageCount.tooltip): the tooltip text
+# displayed when you hover a warning group badge (i.e. repeated warning messages for a
+# given category, for example Content Blocked messages) in the web console output.
+# This is a semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 number of message in the group.
+# example: 3 messages
+
+# LOCALIZATION NOTE (webconsole.input.editor.onboarding.label): the text that is displayed
+# when displaying the multiline-input mode for the first time, until the user dismiss the
+# text.
+# Parameters: %1$S is Enter key, %2$S is the shortcut to evaluate the expression (
+# Ctrl+Enter or Cmd+Enter on OSX).
+
+
+# LOCALIZATION NOTE (webconsole.input.editor.onboarding.dismiss.label): the text that is
+# displayed in the multiline-input mode onboarding UI to dismiss it.
+webconsole.input.editor.onboarding.dismiss.label=Разбрах!
+
+# LOCALIZATION NOTE (webconsole.enterKey): The text that will be used to represent the
+# Enter key in the editor onboarding UI, as well as on the Editor toolbar "Run" button
+# tooltip.
+webconsole.enterKey=Enter
+
+# LOCALIZATION NOTE (webconsole.input.openJavaScriptFile): This is a label
+# used for opening a file in the console input (Ctrl+O or Cmd+O on OSX while
+# being focused on the input).
+webconsole.input.openJavaScriptFile=Отваряне файл на JavaScript
+
+# LOCALIZATION NOTE (webconsole.input.openJavaScriptFileFilter):
+# This string is displayed as a filter when opening a file in the console input.
+webconsole.input.openJavaScriptFileFilter=Файлове на JavaScript
+
+# LOCALIZATION NOTE (webconsole.input.selector.top): This is the term used
+# to describe the primary thread of execution in the page
+webconsole.input.selector.top=Горе
+
+# LOCALIZATION NOTE (webconsole.input.selector.tooltip): This is the tooltip
+# shown when users select a thread that they want to evaluate an
+# expression for.
+
+# LOCALIZATION NOTE (webconsole.group.cookieSameSiteLaxByDefaultEnabled2): do not translate 'SameSite'.
+# LOCALIZATION NOTE (webconsole.group.cookieSameSiteLaxByDefaultDisabled2): do not translate 'SameSite'.
+
+# LOCALIZATION NOTE (webconsole.group.csp): do not translate
+# 'Content-Security-Policy', as that's the name of the header.
+
diff --git a/l10n-bg/devtools/shared/accessibility.properties b/l10n-bg/devtools/shared/accessibility.properties
new file mode 100644
index 0000000000..c14bce654a
--- /dev/null
+++ b/l10n-bg/devtools/shared/accessibility.properties
@@ -0,0 +1,142 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (accessibility.contrast.ratio): A title text for the color contrast
+# ratio description, used by the accessibility highlighter to display the value. %S in the
+# content will be replaced by the contrast ratio numerical value.
+accessibility.contrast.ratio=Контраст: %S
+
+# LOCALIZATION NOTE (accessibility.contrast.ratio.error): A title text for the color
+# contrast ratio, used when the tool is unable to calculate the contrast ratio value.
+accessibility.contrast.ratio.error=Не може да бъде изчислено
+
+# LOCALIZATION NOTE (accessibility.contrast.ratio.label): A title text for the color
+# contrast ratio description, used together with the actual values.
+accessibility.contrast.ratio.label=Контраст:
+
+# LOCALIZATION NOTE (accessibility.contrast.ratio.label.large): A title text for the color
+# contrast ratio description that also specifies that the color contrast criteria used is
+# if for large text.
+accessibility.contrast.ratio.label.large=Контраст (едър текст):
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.area): A title text that
+# describes that currently selected accessible object for an <area> element must have
+# its name provided via the alt attribute.
+accessibility.text.label.issue.area = Използвайте атрибута „alt“, за да етикетирате елементи „area“ с атрибут „href“.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.dialog): A title text that
+# describes that currently selected accessible object for a dialog should have a name
+# provided.
+accessibility.text.label.issue.dialog = Диалоговите елементи трябва да бъдат етикетирани.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.document.title): A title text that
+# describes that currently selected accessible object for a document must have a name
+# provided via title.
+accessibility.text.label.issue.document.title = Документите трябва да имат заглавие.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.embed): A title text that
+# describes that currently selected accessible object for an <embed> must have a name
+# provided.
+accessibility.text.label.issue.embed = Вграденото съдържание трябва да бъде етикетирано.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.figure): A title text that
+# describes that currently selected accessible object for a figure should have a name
+# provided.
+accessibility.text.label.issue.figure = Илюстрациите с допълнителни надписи трябва да бъдат етикетирани.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.fieldset): A title text that
+# describes that currently selected accessible object for a <fieldset> must have a name
+# provided.
+accessibility.text.label.issue.fieldset = Елементите „fieldset“ трябва да бъдат етикетирани.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.fieldset.legend2): A title text that
+# describes that currently selected accessible object for a <fieldset> must have a name
+# provided via <legend> element.
+accessibility.text.label.issue.fieldset.legend2 = Използвайте елемент „legend“, за да етикетирате „fieldset“.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.form): A title text that
+# describes that currently selected accessible object for a form element must have a name
+# provided.
+accessibility.text.label.issue.form = Елементите от формуляр трябва да имат етикети.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.form.visible): A title text that
+# describes that currently selected accessible object for a form element should have a name
+# provided via a visible label/element.
+accessibility.text.label.issue.form.visible = Елементите от формуляр трябва да имат видими текстови етикети.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.frame): A title text that
+# describes that currently selected accessible object for a <frame> must have a name
+# provided.
+accessibility.text.label.issue.frame = Елементите „frame“ трябва да бъдат етикетирани.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.glyph): A title text that
+# describes that currently selected accessible object for a <mglyph> must have a name
+# provided via alt attribute.
+accessibility.text.label.issue.glyph = Използвайте атрибута „alt“, за да етикетирате елементи „mglyph“.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.heading): A title text that
+# describes that currently selected accessible object for a heading must have a name
+# provided.
+accessibility.text.label.issue.heading = Заглавията трябва да бъдат етикетирани.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.heading.content): A title text that
+# describes that currently selected accessible object for a heading must have visible
+# content.
+accessibility.text.label.issue.heading.content = Заглавията трябва да имат видимо текстово съдържание.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.iframe): A title text that
+# describes that currently selected accessible object for an <iframe> have a name
+# provided via title attribute.
+accessibility.text.label.issue.iframe = Използвайте атрибута „title“, за да опишете съдържанието на елемент „iframe“.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.image): A title text that
+# describes that currently selected accessible object for graphical content must have a
+# name provided.
+accessibility.text.label.issue.image = Съдържанието с изображения трябва да бъде етикетирано.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.interactive): A title text that
+# describes that currently selected accessible object for interactive element must have a
+# name provided.
+accessibility.text.label.issue.interactive = Интерактивните елементи трябва да имат етикет.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.optgroup.label2): A title text that
+# describes that currently selected accessible object for an <optgroup> must have a
+# name provided via label attribute.
+accessibility.text.label.issue.optgroup.label2 = Използвайте атрибута „label“, за да етикетирате елементи „optgroup“.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.toolbar): A title text that
+# describes that currently selected accessible object for a toolbar must have a
+# name provided when there is more than one toolbar in the document.
+accessibility.text.label.issue.toolbar = Лентите с инструменти, ако са повече от една, трябва да бъдат етикетирани.
+
+# LOCALIZATION NOTE (accessibility.keyboard.issue.semantics): A title text that
+# describes that currently selected accessible object is focusable and should
+# indicate that it could be interacted with.
+accessibility.keyboard.issue.semantics=Елементите, получаващи фокус, трябва да имат интерактивна семантика.
+
+# LOCALIZATION NOTE (accessibility.keyboard.issue.tabindex): A title text that
+# describes that currently selected accessible object has a corresponding
+# DOMNode that defines a tabindex attribute greater that 0 which can result in
+# unexpected behaviour when navigating with keyboard.
+accessibility.keyboard.issue.tabindex=Избягвайте използването на атрибут „tabindex“, по-голям от нула.
+
+# LOCALIZATION NOTE (accessibility.keyboard.issue.action): A title text that
+# describes that currently selected accessible object is interactive but can not
+# be activated using keyboard or accessibility API.
+accessibility.keyboard.issue.action=Интерактивните елементи трябва да могат да бъдат използвани с помощта на клавиатурата.
+
+# LOCALIZATION NOTE (accessibility.keyboard.issue.focusable): A title text that
+# describes that currently selected accessible object is interactive but is not
+# focusable with a keyboard.
+accessibility.keyboard.issue.focusable=Интерактивните елементи трябва да могат да получават фокуса.
+
+# LOCALIZATION NOTE (accessibility.keyboard.issue.focus.visible): A title text
+# that describes that currently selected accessible object is focusable but
+# might not have appropriate focus styling.
+accessibility.keyboard.issue.focus.visible=Елементите, които могат да получават фокуса, е възможно да нямат подходящ стил за него.
+
+# LOCALIZATION NOTE (accessibility.keyboard.issue.mouse.only): A title text that
+# describes that currently selected accessible object is not focusable and not
+# semantic but can be activated via mouse (e.g. has click handler).
+accessibility.keyboard.issue.mouse.only=Елементите, които отговарят на действие с мишката, трябва да могат да получават фокуса и да имат интерактивна семантика.
diff --git a/l10n-bg/devtools/shared/debugger-paused-reasons.ftl b/l10n-bg/devtools/shared/debugger-paused-reasons.ftl
new file mode 100644
index 0000000000..8faf89bdb9
--- /dev/null
+++ b/l10n-bg/devtools/shared/debugger-paused-reasons.ftl
@@ -0,0 +1,55 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### These strings are used inside the Debugger which is available from the Web
+### Developer sub-menu -> 'Debugger', as well as in the "Paused Debugger
+### Overlay" that is displayed in the content page when it pauses.
+
+
+### The correct localization of this file might be to keep it in
+### English, or another language commonly spoken among web developers.
+### You want to make that choice consistent across the developer tools.
+### A good criteria is the language in which you'd find the best
+### documentation on web development on the web.
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused due to a `debugger` statement in the code
+whypaused-debugger-statement = На пауза при израз за дебъгване
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on a breakpoint
+whypaused-breakpoint = На пауза в точка на прекъсване
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on an exception
+whypaused-exception = На пауза заради изключение
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused while stepping in or out of the stack
+whypaused-resume-limit = На пауза при постъпково изпълнение
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on a dom event
+whypaused-pause-on-dom-events = На пауза в слушател на събитие
+
+# The text that is displayed in an info block when evaluating a conditional
+# breakpoint throws an error
+whypaused-breakpoint-condition-thrown = Грешка в условна точка на прекъсване
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on a promise rejection
+whypaused-promise-rejection = На пауза при отказ от Promise
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on an assert
+whypaused-assert = На пауза при assertion
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on a debugger statement
+whypaused-debug-command = На пауза в условна точка на прекъсване
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on an event listener breakpoint set
+whypaused-other = Дебъгерът е на пауза
diff --git a/l10n-bg/devtools/shared/debugger.properties b/l10n-bg/devtools/shared/debugger.properties
new file mode 100644
index 0000000000..f312ec21d1
--- /dev/null
+++ b/l10n-bg/devtools/shared/debugger.properties
@@ -0,0 +1,67 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Debugger
+# which is available from the Web Developer sub-menu -> 'Debugger'.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE These strings are used inside the Debugger
+# which is available from the Browser Tools sub-menu -> 'Debugger'.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (remoteIncomingPromptTitle): The title displayed on the
+# dialog that prompts the user to allow the incoming connection.
+remoteIncomingPromptTitle=Входяща връзка
+
+# LOCALIZATION NOTE (remoteIncomingPromptHeader): Header displayed on the
+# dialog that prompts the user to allow the incoming connection.
+remoteIncomingPromptHeader=Беше засечена входяща заявка за дистанционно поправяне на грешки. Отдалеченият клиент може да поеме целия контрол върху четеца ви!
+# LOCALIZATION NOTE (remoteIncomingPromptClientEndpoint): Part of the prompt
+# dialog for the user to choose whether an incoming connection should be
+# allowed.
+# %1$S: The host and port of the client such as "127.0.0.1:6000"
+remoteIncomingPromptClientEndpoint=Крайна точка при клиента: %1$S
+# LOCALIZATION NOTE (remoteIncomingPromptServerEndpoint): Part of the prompt
+# dialog for the user to choose whether an incoming connection should be
+# allowed.
+# %1$S: The host and port of the server such as "127.0.0.1:6000"
+remoteIncomingPromptServerEndpoint=Крайна точка при сървъра: %1$S
+# LOCALIZATION NOTE (remoteIncomingPromptFooter): Footer displayed on the
+# dialog that prompts the user to allow the incoming connection.
+remoteIncomingPromptFooter=Разрешаване на свързването?
+
+# LOCALIZATION NOTE (remoteIncomingPromptDisable): The label displayed on the
+# third button in the incoming connection dialog that lets the user disable the
+# remote debugger server.
+remoteIncomingPromptDisable=Изключване
+
+# LOCALIZATION NOTE (clientSendOOBTitle): The title displayed on the dialog that
+# instructs the user to transfer an authentication token to the server.
+clientSendOOBTitle=Идентификация на клиент
+# LOCALIZATION NOTE (clientSendOOBHeader): Header displayed on the dialog that
+# instructs the user to transfer an authentication token to the server.
+clientSendOOBHeader=Крайната точка, с която се свързвате, изисква повече информация за удостоверяване на връзката. Моля, въведете токен в подканата, която се появява на другата страна.
+# LOCALIZATION NOTE (clientSendOOBHash): Part of the dialog that instructs the
+# user to transfer an authentication token to the server.
+# %1$S: The client's cert fingerprint
+clientSendOOBHash=Моят сертификат: %1$S
+# LOCALIZATION NOTE (clientSendOOBToken): Part of the dialog that instructs the
+# user to transfer an authentication token to the server.
+# %1$S: The authentication token that the user will transfer.
+clientSendOOBToken=Токен: %1$S
+
+# LOCALIZATION NOTE (serverReceiveOOBTitle): The title displayed on the dialog
+# that instructs the user to provide an authentication token from the client.
+serverReceiveOOBTitle=Въведете клиентския токен
+# LOCALIZATION NOTE (serverReceiveOOBBody): Main text displayed on the dialog
+# that instructs the user to provide an authentication token from the client.
+serverReceiveOOBBody=Клиентът трябва да показва стойност на токен. Въведете тук стойността на токена, за да завършите удостоверяването с този клиент.
diff --git a/l10n-bg/devtools/shared/eyedropper.properties b/l10n-bg/devtools/shared/eyedropper.properties
new file mode 100644
index 0000000000..0f48e4661c
--- /dev/null
+++ b/l10n-bg/devtools/shared/eyedropper.properties
@@ -0,0 +1,14 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used in the Eyedropper color tool.
+# LOCALIZATION NOTE The correct localization of this file might be to keep it
+# in English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best documentation
+# on web development on the web.
+
+# LOCALIZATION NOTE (colorValue.copied): This text is displayed when the user selects a
+# color with the eyedropper and it's copied to the clipboard.
+colorValue.copied=копиран
diff --git a/l10n-bg/devtools/shared/highlighters.ftl b/l10n-bg/devtools/shared/highlighters.ftl
new file mode 100644
index 0000000000..ba50ed1a3b
--- /dev/null
+++ b/l10n-bg/devtools/shared/highlighters.ftl
@@ -0,0 +1,16 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### This file contains strings used in highlighters.
+### Highlighters are visualizations that DevTools draws on top of content to aid
+### in understanding content sizing, etc.
+
+# The row and column position of a grid cell shown in the grid cell infobar when hovering
+# over the CSS grid outline.
+# Variables
+# $row (integer) - The row index
+# $column (integer) - The column index
+grid-row-column-positions = ред { $row } / колона { $column }
+
diff --git a/l10n-bg/devtools/shared/screenshot.properties b/l10n-bg/devtools/shared/screenshot.properties
new file mode 100644
index 0000000000..009893111d
--- /dev/null
+++ b/l10n-bg/devtools/shared/screenshot.properties
@@ -0,0 +1,127 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside Web Console commands.
+# The Web Console command line is available from the Web Developer sub-menu
+# -> 'Web Console'.
+#
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE These strings are used inside the Web Console commands
+# which can be executed in the Developer Tools, available in the
+# Browser Tools sub-menu -> 'Web Developer Tools'
+#
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (screenshotDesc) A very short description of the
+# 'screenshot' command. Displayed when the --help flag is passed to
+# the screenshot command.
+screenshotDesc=Запазване на снимка на страницата
+
+# LOCALIZATION NOTE (screenshotFilenameDesc) A very short string to describe
+# the 'filename' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the screenshot command.
+screenshotFilenameDesc=Име на целевия файл
+
+# LOCALIZATION NOTE (screenshotFilenameManual) A fuller description of the
+# 'filename' parameter to the 'screenshot' command.
+screenshotFilenameManual=Име на файла (с разширение „.png“), в който да бъде запазена снимката.
+
+# LOCALIZATION NOTE (screenshotClipboardDesc) A very short string to describe
+# the 'clipboard' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the screenshot command.
+screenshotClipboardDesc=Копиране на снимката в системния буфер? (true / false)
+
+# LOCALIZATION NOTE (screenshotClipboardManual) A fuller description of the
+# 'clipboard' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the screenshot command.
+screenshotClipboardManual=„true“ ако искате снимката на екрана да бъде копирана в системния буфер вместо запазена във файл.
+
+# LOCALIZATION NOTE (screenshotGroupOptions) A label for the optional options of
+# the screenshot command. Displayed when the --help flag is passed to the
+# screenshot command.
+screenshotGroupOptions=Подкоманди
+
+# LOCALIZATION NOTE (screenshotDelayDesc) A very short string to describe
+# the 'delay' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the screenshot command.
+screenshotDelayDesc=Забавяне (секунди)
+
+# LOCALIZATION NOTE (screenshotDelayManual) A fuller description of the
+# 'delay' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the screenshot command.
+screenshotDelayManual=Време за забавяне (в секунди) преди момента на взимане на снимката
+
+# LOCALIZATION NOTE (screenshotDPRDesc) A very short string to describe
+# the 'dpr' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the `screenshot command.
+screenshotDPRDesc=Пропорция на пикселите на устройство
+
+# LOCALIZATION NOTE (screenshotDPRManual) A fuller description of the
+# 'dpr' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the `screenshot command.
+screenshotDPRManual=Пропорцията на пикселите на устройството, която да бъде използвана при взимане на екранната снимка
+
+# LOCALIZATION NOTE (screenshotFullPageDesc) A very short string to describe
+# the 'fullpage' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the `screenshot command.
+screenshotFullPageDesc=Цялата страница ли? (true / false)
+
+# LOCALIZATION NOTE (screenshotFullPageManual) A fuller description of the
+# 'fullpage' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the `screenshot command.
+screenshotFullPageManual=„true“ ако снимката трябва да съдържа и частите от страницата, извън рамката на плъзгачите.
+
+# LOCALIZATION NOTE (screenshotFileDesc) A very short string to describe
+# the 'file' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the `screenshot command.
+screenshotFileDesc=Запазване във файл? (true / false)
+
+# LOCALIZATION NOTE (screenshotFileManual) A fuller description of the
+# 'file' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the `screenshot command.
+screenshotFileManual=„true“ ако снимката трябва да бъде запазена във файл даже и да са избрани други подкоманди (като clipboard).
+
+# LOCALIZATION NOTE (screenshotGeneratedFilename) The auto generated filename
+# when no file name is provided. The first argument (%1$S) is the date string
+# in yyyy-mm-dd format and the second argument (%2$S) is the time string
+# in HH.MM.SS format. Please don't add the extension here.
+screenshotGeneratedFilename=Снимка-от-%1$S-в-%2$S
+
+# LOCALIZATION NOTE (screenshotErrorSavingToFile) Text displayed to user upon
+# encountering error while saving the screenshot to the file specified.
+# The argument (%1$S) is the filename.
+screenshotErrorSavingToFile=Грешка при запазване на %1$S
+
+# LOCALIZATION NOTE (screenshotSavedToFile) Text displayed to user when the
+# screenshot is successfully saved to the file specified.
+# The argument (%1$S) is the filename.
+screenshotSavedToFile=Снимката е запазена в „%1$S“
+
+# LOCALIZATION NOTE (screenshotErrorCopying) Text displayed to user upon
+# encountering error while copying the screenshot to clipboard.
+screenshotErrorCopying=Грешка при копиране на снимката в системния буфер.
+
+# LOCALIZATION NOTE (screenshotCopied) Text displayed to user when the
+# screenshot is successfully copied to the clipboard.
+screenshotCopied=Снимката е копирана в системния буфер.
+
+# LOCALIZATION NOTE (inspectNodeDesc) A very short string to describe the
+# 'node' parameter to the 'inspect' command. Displayed when the
+# --help flag is passed to the `screenshot command.
+inspectNodeDesc=Селектор на CSS
+
+# LOCALIZATION NOTE (inspectNodeManual) A fuller description of the 'node'
+# parameter to the 'inspect' command. Displayed when the --help flag is
+# passed to the `screenshot command.
+inspectNodeManual=Селектор на CSS за използване с document.querySelector, който определя един елемент
+
diff --git a/l10n-bg/devtools/shared/shared.properties b/l10n-bg/devtools/shared/shared.properties
new file mode 100644
index 0000000000..0978450dee
--- /dev/null
+++ b/l10n-bg/devtools/shared/shared.properties
@@ -0,0 +1,6 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (ellipsis): The ellipsis (three dots) character
+ellipsis=…
diff --git a/l10n-bg/devtools/shared/styleinspector.properties b/l10n-bg/devtools/shared/styleinspector.properties
new file mode 100644
index 0000000000..1ef59b6b93
--- /dev/null
+++ b/l10n-bg/devtools/shared/styleinspector.properties
@@ -0,0 +1,234 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Style Inspector.
+#
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+
+# LOCALIZATION NOTE (rule.status): For each style property the panel shows
+# the rules which hold that specific property. For every rule, the rule status
+# is also displayed: a rule can be the best match, a match, a parent match, or a
+# rule did not match the element the user has highlighted.
+rule.status.BEST=Най-добро съвпадение
+rule.status.MATCHED=Съвпадение
+rule.status.PARENT_MATCH=Съвпадение на родител
+
+# LOCALIZATION NOTE (rule.sourceElement, rule.sourceInline,
+# rule.sourceConstructed): For each style property the panel shows the rules
+# which hold that specific property.
+# For every rule, the rule source is also displayed: a rule can come from a
+# file, from the same page (inline), from a constructed style sheet
+# (constructed), or from the element itself (element).
+rule.sourceInline=вложен
+rule.sourceElement=елемент
+
+# LOCALIZATION NOTE (rule.inheritedFrom): Shown for CSS rules
+# that were inherited from a parent node. Will be passed a node
+# identifier of the parent node.
+# e.g "Inherited from body#bodyID"
+rule.inheritedFrom=Наследено от %S
+
+# LOCALIZATION NOTE (rule.keyframe): Shown for CSS Rules keyframe header.
+# Will be passed an identifier of the keyframe animation name.
+rule.keyframe=Ключови кадри %S
+
+# LOCALIZATION NOTE (rule.userAgentStyles): Shown next to the style sheet
+# link for CSS rules that were loaded from a user agent style sheet.
+# These styles will not be editable, and will only be visible if the
+# devtools.inspector.showUserAgentStyles pref is true.
+rule.userAgentStyles=(потребителски агент)
+
+# LOCALIZATION NOTE (rule.pseudoElement): Shown for CSS rules
+# pseudo element header
+rule.pseudoElement=Псевдоелемент
+
+# LOCALIZATION NOTE (rule.selectedElement): Shown for CSS rules element header if
+# pseudo elements are present in the rule view.
+rule.selectedElement=Този елемент
+
+# LOCALIZATION NOTE (rule.warning.title): When an invalid property value is
+# entered into the rule view a warning icon is displayed. This text is used for
+# the title attribute of the warning icon.
+rule.warning.title=Невалидна стойност на свойство
+
+# LOCALIZATION NOTE (rule.warningName.title): When an invalid property name is
+# entered into the rule view a warning icon is displayed. This text is used for
+# the title attribute of the warning icon.
+rule.warningName.title=Невалидно име на свойство
+
+# LOCALIZATION NOTE (rule.filterProperty.title): Text displayed in the tooltip
+# of the search button that is shown next to a property that has been overridden
+# in the rule view.
+rule.filterProperty.title=Филтриране на правилата, съдържащи свойството
+
+# LOCALIZATION NOTE (rule.empty): Text displayed when the highlighter is
+# first opened and there's no node selected in the rule view.
+rule.empty=Не е избран елемент.
+
+# LOCALIZATION NOTE (rule.variableValue): Text displayed in a tooltip
+# when the mouse is over a variable use (like "var(--something)") in
+# the rule view. The first argument is the variable name and the
+# second argument is the value.
+rule.variableValue=%S = %S
+
+# LOCALIZATION NOTE (rule.variableUnset): Text displayed in a tooltip
+# when the mouse is over a variable use (like "var(--something)"),
+# where the variable is not set. the rule view. The argument is the
+# variable name.
+rule.variableUnset=%S не е зададена
+
+# LOCALIZATION NOTE (rule.selectorHighlighter.tooltip): Text displayed in a
+# tooltip when the mouse is over a selector highlighter icon in the rule view.
+rule.selectorHighlighter.tooltip=Осветяване на елементите, съвпадащи със следния селектор
+
+# LOCALIZATION NOTE (rule.colorSwatch.tooltip): Text displayed in a tooltip
+# when the mouse is over a color swatch in the rule view.
+rule.colorSwatch.tooltip=Щракнете, за да отворите избирането на цвят, щракнете с shift, за да промените формата на цветовете.
+
+# LOCALIZATION NOTE (rule.bezierSwatch.tooltip): Text displayed in a tooltip
+# when the mouse is over a cubic-bezier swatch in the rule view.
+rule.bezierSwatch.tooltip=Щракнете, за да отворите редактора на времената
+
+# LOCALIZATION NOTE (rule.filterSwatch.tooltip): Text displayed in a tooltip
+# when the mouse is over a filter swatch in the rule view.
+rule.filterSwatch.tooltip=Щракнете, за да отворите редактора на филтъра
+
+# LOCALIZATION NOTE (rule.angleSwatch.tooltip): Text displayed in a tooltip
+# when the mouse is over a angle swatch in the rule view.
+rule.angleSwatch.tooltip=Щракнете с shift, за да промените формата на ъглите.
+
+# LOCALIZATION NOTE (rule.flexToggle.tooltip): Text displayed in a tooltip
+# when the mouse is over a Flexbox toggle icon in the rule view.
+rule.flexToggle.tooltip=Изберете за превключване на оцветяването на Flexbox
+
+# LOCALIZATION NOTE (rule.gridToggle.tooltip): Text displayed in a tooltip
+# when the mouse is over a CSS Grid toggle icon in the rule view.
+rule.gridToggle.tooltip=Изберете за превключване на оцветяването на мрежата на CSS
+
+# LOCALIZATION NOTE (rule.filterStyles.placeholder): This is the placeholder that
+# goes in the search box when no search term has been entered.
+
+# LOCALIZATION NOTE (rule.addRule.tooltip): This is the tooltip shown when
+# hovering the `Add new rule` button in the rules view toolbar.
+
+# LOCALIZATION NOTE (rule.togglePseudo.tooltip): This is the tooltip
+# shown when hovering over the `Toggle Pseudo Class Panel` button in the
+# rule view toolbar.
+rule.togglePseudo.tooltip=Превключване на псевдо-класове
+
+# LOCALIZATION NOTE (rule.classPanel.toggleClass.tooltip): This is the tooltip
+# shown when hovering over the `Toggle Class Panel` button in the
+# rule view toolbar.
+
+# LOCALIZATION NOTE (rule.classPanel.newClass.placeholder): This is the placeholder
+# shown inside the text field used to add a new class in the rule-view.
+
+# LOCALIZATION NOTE (rule.classPanel.noClasses): This is the text displayed in the
+# class panel when the current element has no classes applied.
+
+# LOCALIZATION NOTE (rule.printSimulation.tooltip):
+# This is the tooltip of the print simulation button in the Rule View toolbar
+# that toggles print simulation.
+
+# LOCALIZATION NOTE (rule.colorSchemeSimulation.tooltip):
+# This is the tooltip of the color scheme simulation button in the Rule View
+# toolbar that toggles color-scheme simulation.
+
+# LOCALIZATION NOTE (rule.twistyCollapse.label): The text a screen reader
+# speaks when the header of a rule is expanded.
+
+# LOCALIZATION NOTE (rule.twistyExpand.label): The text a screen reader
+# speaks when the header of a rule is collapsed.
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyColor): Text displayed in the rule
+# and computed view context menu when a color value was clicked.
+styleinspector.contextmenu.copyColor=Копиране на цвят
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyColor.accessKey): Access key for
+# the rule and computed view context menu "Copy Color" entry.
+styleinspector.contextmenu.copyColor.accessKey=ц
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyUrl): In rule and computed view :
+# text displayed in the context menu for an image URL.
+# Clicking it copies the URL to the clipboard of the user.
+styleinspector.contextmenu.copyUrl=Копиране на адреса
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyUrl.accessKey): Access key for
+# the rule and computed view context menu "Copy URL" entry.
+styleinspector.contextmenu.copyUrl.accessKey=К
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyImageDataUrl): In rule and computed view :
+# text displayed in the context menu for an image URL.
+# Clicking it copies the image as Data-URL to the clipboard of the user.
+styleinspector.contextmenu.copyImageDataUrl=Копиране на изображението като Data-URL
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyImageDataUrl.accessKey): Access key for
+# the rule and computed view context menu "Copy Image Data-URL" entry.
+styleinspector.contextmenu.copyImageDataUrl.accessKey=з
+
+# LOCALIZATION NOTE (styleinspector.copyImageDataUrlError): Text set in the clipboard
+# if an error occurs when using the copyImageDataUrl context menu action
+# (invalid image link, timeout, etc...)
+styleinspector.copyImageDataUrlError=Грешка при копиране Data-URL на изображение
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.toggleOrigSources): Text displayed in the rule view
+# context menu.
+styleinspector.contextmenu.toggleOrigSources=Показване на изходния код
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.toggleOrigSources.accessKey): Access key for
+# the rule view context menu "Show original sources" entry.
+styleinspector.contextmenu.toggleOrigSources.accessKey=о
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.addNewRule): Text displayed in the
+# rule view context menu for adding a new rule to the element.
+# This should match inspector.addRule.tooltip in inspector.properties
+styleinspector.contextmenu.addNewRule=Добавяне на правило
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.addNewRule.accessKey): Access key for
+# the rule view context menu "Add rule" entry.
+styleinspector.contextmenu.addNewRule.accessKey=п
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.selectAll): Text displayed in the
+# computed view context menu.
+styleinspector.contextmenu.selectAll=Избиране на всичко
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.selectAll.accessKey): Access key for
+# the computed view context menu "Select all" entry.
+styleinspector.contextmenu.selectAll.accessKey=в
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copy): Text displayed in the
+# computed view context menu.
+styleinspector.contextmenu.copy=Копиране
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copy.accessKey): Access key for
+# the computed view context menu "Copy" entry.
+styleinspector.contextmenu.copy.accessKey=К
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyLocation): Text displayed in the
+# rule view context menu for copying the source location.
+styleinspector.contextmenu.copyLocation=Копиране на адреса
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyDeclaration): Text
+# displayed in the rule view context menu for copying the CSS declaration.
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyPropertyName): Text displayed in
+# the rule view context menu for copying the property name.
+styleinspector.contextmenu.copyPropertyName=Копиране името на свойството
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyPropertyValue): Text displayed in
+# the rule view context menu for copying the property value.
+styleinspector.contextmenu.copyPropertyValue=Копиране стойността на свойството
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyRule): Text displayed in the
+# rule view context menu for copying the rule.
+styleinspector.contextmenu.copyRule=Копиране на правилото
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copySelector): Text displayed in the
+# rule view context menu for copying the selector.
+styleinspector.contextmenu.copySelector=Копиране на селектора
diff --git a/l10n-bg/devtools/shared/webconsole-commands.ftl b/l10n-bg/devtools/shared/webconsole-commands.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/l10n-bg/devtools/shared/webconsole-commands.ftl
@@ -0,0 +1,3 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/l10n-bg/devtools/startup/key-shortcuts.ftl b/l10n-bg/devtools/startup/key-shortcuts.ftl
new file mode 100644
index 0000000000..fa9d562104
--- /dev/null
+++ b/l10n-bg/devtools/startup/key-shortcuts.ftl
@@ -0,0 +1,28 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Key pressed to open a toolbox with the default panel selected
+devtools-commandkey-toggle-toolbox = I
+# Alternative key pressed to open a toolbox with the default panel selected
+devtools-commandkey-toggle-toolbox-f12 = VK_F12
+# Key pressed to open the Browser Toolbox, used for debugging Firefox itself
+devtools-commandkey-browser-toolbox = I
+# Key pressed to open the Browser Console, used for debugging Firefox itself
+devtools-commandkey-browser-console = J
+# Key pressed to toggle on the Responsive Design Mode
+devtools-commandkey-responsive-design-mode = M
+# Key pressed to open a toolbox with the inspector panel selected
+devtools-commandkey-inspector = C
+# Key pressed to open a toolbox with the web console panel selected
+devtools-commandkey-webconsole = K
+# Key pressed to open a toolbox with the network monitor panel selected
+devtools-commandkey-netmonitor = E
+# Key pressed to open a toolbox with the style editor panel selected
+devtools-commandkey-styleeditor = VK_F7
+# Key pressed to open a toolbox with the performance panel selected
+devtools-commandkey-performance = VK_F5
+# Key pressed to open a toolbox with the storage panel selected
+devtools-commandkey-storage = VK_F9
+# Key pressed to open a toolbox with the DOM panel selected
+devtools-commandkey-dom = W
diff --git a/l10n-bg/dom/chrome/accessibility/AccessFu.properties b/l10n-bg/dom/chrome/accessibility/AccessFu.properties
new file mode 100644
index 0000000000..6d8c2cb698
--- /dev/null
+++ b/l10n-bg/dom/chrome/accessibility/AccessFu.properties
@@ -0,0 +1,112 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this file,
+# You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Roles
+menubar = лента с менюта
+scrollbar = лента за плъзгане
+grip = дръжка
+alert = предупреждение
+menupopup = изскачащо меню
+document = документ
+pane = панел
+dialog = диалог
+separator = разделител
+toolbar = лента с инструменти
+statusbar = лента на състоянието
+table = таблица
+columnheader = заглавие на колона
+rowheader = заглавие на ред
+column = колона
+row = ред
+cell = клетка
+link = препратка
+list = списък
+listitem = елемент от списък
+outline = очертание
+outlineitem = елемент на очертание
+pagetab = раздел
+propertypage = страница на свойствата
+graphic = графика
+switch = превключено
+pushbutton = бутон
+checkbutton = бутон с отметка
+radiobutton = радиобутон
+combobox = комбобутон
+progressbar = лента на напредъка
+slider = плъзгач
+spinbutton = бутон за последователен избор
+diagram = диаграма
+animation = анимация
+equation = равенство
+buttonmenu = бутон за меню
+whitespace = интервал
+pagetablist = списък с раздели
+canvas = платно
+checkmenuitem = елемент от меню с отметки
+passwordtext = парола
+radiomenuitem = елемент от радиоменю
+textcontainer = текстово съдържание
+togglebutton = превключващ бутон
+treetable = дървовидна таблица
+header = начало на страница
+footer = край на страница
+paragraph = абзац
+entry = елемент
+caption = заглавие
+heading = заглавие
+section = раздел
+form = формуляр
+comboboxlist = списък на комбокутия
+comboboxoption = елемент от списък
+imagemap = карта на изображение
+listboxoption = елемент от списък
+listbox = кутия на списък
+flatequation = просто равенство
+gridcell = клетка на мрежа
+note = бележка
+figure = фигура
+definitionlist = списък с определения
+term = термин
+definition = определение
+
+mathmltable = математическа таблица
+mathmlcell = клетка
+mathmlenclosed = затворено
+mathmlfraction = дроб
+mathmlfractionwithoutbar = дроб без черта
+mathmlroot = корен
+mathmlscripted = скриптиран
+mathmlsquareroot = корен квадратен
+
+# More sophisticated roles which are not actual numeric roles
+textarea = текстова област
+
+base = основа
+close-fence = отваряща скоба
+denominator = знаменател
+numerator = числител
+open-fence = отваряща скоба
+overscript = върху израз
+presubscript = преди долен индекс
+presuperscript = преди горен индекс
+root-index = основен индекс
+subscript = долен индекс
+superscript = горен индекс
+underscript = под израз
+
+# More sophisticated object descriptions
+headingLevel = ниво на заглавие %S
+
+# Landmark announcements
+banner = банер
+complementary = допълнително
+contentinfo = информация за съдържанието
+main = главно
+navigation = навигиране
+search = търсене
+
+region = област
+
+stateRequired = изискано
+
diff --git a/l10n-bg/dom/chrome/accessibility/mac/accessible.properties b/l10n-bg/dom/chrome/accessibility/mac/accessible.properties
new file mode 100644
index 0000000000..f14237a1d8
--- /dev/null
+++ b/l10n-bg/dom/chrome/accessibility/mac/accessible.properties
@@ -0,0 +1,71 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+jump = Отиване
+press = Натискане
+check = Отмятане
+uncheck = Изчистване
+select = Избиране
+open = Отваряне
+close = Затваряне
+switch = Превключване
+click = Щракване
+collapse= Сгъване
+expand = Разгъване
+activate= Включване
+cycle = Цикъл
+# An action provided to accessibility clients such as screen readers to allow
+# them to click an element when the click will be handled by a container
+# (ancestor) element. This is not normally reported to users.
+click ancestor = Щракване върху наследник
+
+# Universal Access API support
+# (Mac Only)
+# The Role Description for AXWebArea (the web widget). Like in Safari.
+htmlContent = HTML съдържание
+# The Role Description for the Tab button.
+tab = раздел
+# The Role Description for definition list dl, dt and dd
+term = термин
+definition = дефиниция
+# The Role Description for an input type="search" text field
+searchTextField = поле за търсене
+# Role Description (exposed as AXTitle) for datepickers
+dateField = поле за дата
+# The Role Description for WAI-ARIA Landmarks
+application = приложение
+search = търсене
+banner = банер
+navigation = навигация
+complementary = допълнение
+content = съдържание
+main = основна област
+# The (spoken) role description for various WAI-ARIA roles
+alert = предупреждение
+alertDialog = предупредителен диалог
+dialog = диалогов прозорец
+article = статия
+document = документ
+# The (spoken) role description for the WAI-ARIA figure role
+# https://w3c.github.io/aria/core-aam/core-aam.html#role-map-figure
+figure = фигура
+# The (spoken) role description for the WAI-ARIA heading role
+# https://w3c.github.io/aria/core-aam/core-aam.html#role-map-heading
+heading = заглавие
+log = журнал
+marquee = бягащ ред
+math = математика
+note = бележка
+region = регион
+status = състояние на приложение
+timer = хронометър
+tooltip = подсказка
+separator = разделител
+tabPanel = лента с раздели
+# The roleDescription for the html:mark element
+highlight = осветяване
+# The roleDescription for the details element
+details = подробности
+# The roleDescription for the summary element
+summary = обобщение
diff --git a/l10n-bg/dom/chrome/accessibility/unix/accessible.properties b/l10n-bg/dom/chrome/accessibility/unix/accessible.properties
new file mode 100644
index 0000000000..86f0113d18
--- /dev/null
+++ b/l10n-bg/dom/chrome/accessibility/unix/accessible.properties
@@ -0,0 +1,21 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+jump = Отиване
+press = Натискане
+check = Отмятане
+uncheck = Изчистване
+select = Избиране
+open = Отваряне
+close = Затваряне
+switch = Превключване
+click = Щракване
+collapse= Сгъване
+expand = Разгъване
+activate= Включване
+cycle = Цикъл
+# An action provided to accessibility clients such as screen readers to allow
+# them to click an element when the click will be handled by a container
+# (ancestor) element. This is not normally reported to users.
+click ancestor = Щракване върху наследник
diff --git a/l10n-bg/dom/chrome/accessibility/win/accessible.properties b/l10n-bg/dom/chrome/accessibility/win/accessible.properties
new file mode 100644
index 0000000000..86f0113d18
--- /dev/null
+++ b/l10n-bg/dom/chrome/accessibility/win/accessible.properties
@@ -0,0 +1,21 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+jump = Отиване
+press = Натискане
+check = Отмятане
+uncheck = Изчистване
+select = Избиране
+open = Отваряне
+close = Затваряне
+switch = Превключване
+click = Щракване
+collapse= Сгъване
+expand = Разгъване
+activate= Включване
+cycle = Цикъл
+# An action provided to accessibility clients such as screen readers to allow
+# them to click an element when the click will be handled by a container
+# (ancestor) element. This is not normally reported to users.
+click ancestor = Щракване върху наследник
diff --git a/l10n-bg/dom/chrome/appstrings.properties b/l10n-bg/dom/chrome/appstrings.properties
new file mode 100644
index 0000000000..f5aedb149d
--- /dev/null
+++ b/l10n-bg/dom/chrome/appstrings.properties
@@ -0,0 +1,35 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+malformedURI2=Уверете се, че адресът е верен и пробвайте отново.
+fileNotFound=Файлът %S не може да бъде намерен. Моля, проверете местоположението и опитайте отново.
+fileAccessDenied=Файлът в %S няма права за четене.
+dnsNotFound2=%S не може да бъде намерен. Моля, проверете името и опитайте отново.
+unknownProtocolFound=Едно от следните (%S) не е регистриран протокол или не е позволен в този контекст.
+connectionFailure=Свързването беше отказано при опит за достъп до %S.
+netInterrupt=Връзката с %S беше прекъсната неочаквано. Някои данни може да са предадени.
+netTimeout=Просрочено време за при опит за достъп до %S.
+redirectLoop=Ограничението за брой пренасочвания на този адрес беше превишено. Страницата не може да бъде заредена. Това може да е предизвикано от изключени бисквитки.
+confirmRepostPrompt=За да видите страницата, приложението трябва да повтори действието (напр. търсене или поръчка по Интернет).
+resendButton.label=Повторно изпращане
+unknownSocketType=Този документ не може да бъде показан освен ако не бъде инсталиран „Личен управител на сигурността (PSM)“. Изтеглете и инсталирайте PSM, и опитайте отново или се свържете с вашия системен администратор.
+netReset=Документът не съдържа данни.
+notCached=Този документ вече не е наличен.
+netOffline=Документът не може да бъде показан без връзка с Интернет. Махнете отметката на „Работа извън мрежата“ от менюто „Файл“.
+isprinting=Документът не може да бъде променян, докато се отпечатва или се преглежда за печат.
+deniedPortAccess=От съображения за сигурност достъпът до указания порт е ограничен.
+proxyResolveFailure=Мрежовият посредник не може да бъде открит. Моля, проверете настройките на посредниците и опитайте отново.
+proxyConnectFailure=Свързването с мрежовия посредник беше отказано. Моля, проверете настройките на посредника и опитайте отново.
+contentEncodingError=Страницата не може да бъде показана, защото използва невалиден или неподдържан вид компресия.
+unsafeContentType=Страницата, която се опитвате да отворите, не може да бъде показана, защото се съдържа във файлов тип, който може би не е безопасно да отваряте. Моля, уведомете собствениците на страницата за проблема.
+malwareBlocked=Страницата %S е докладвана като враждебна и е блокирана спрямо вашите настройки за безопасност.
+unwantedBlocked=Страницата %S е докладвана за сервиране на нежелан софтуер и е блокирана спрямо вашите настройки за безопасност.
+deceptiveBlocked=Страницата %S е докладвана като измамническа и е блокирана спрямо вашите настройки за безопасност.
+cspBlocked=Тази страница е с политика за сигурност, която възпрепятства да бъде вградена по този начин.
+corruptedContentErrorv2=При зареждане на страницата %S се получи нарушение на мрежовия протокол и комуникацията не може да бъде възстановена.
+sslv3Used=Безопасност на данните ви в %S не може да бъде гарантирана, защото използва счупения SSLv3 протокол.
+weakCryptoUsed=Собственикът на %S е настроил уеб сайта неправилно. За защита от кражба на информация, връзката с този сайт е отказана.
+inadequateSecurityError=Сайтът се опита да договори неадекватно ниво на сигурност.
+blockedByPolicy=Достъпът до тази страница е ограничен от вашата организация.
+networkProtocolError=Firefox се натъкна на нарушение на мрежовия протокол и комуникацията не може да бъде възстановена.
diff --git a/l10n-bg/dom/chrome/dom/dom.properties b/l10n-bg/dom/chrome/dom/dom.properties
new file mode 100644
index 0000000000..e088a8b484
--- /dev/null
+++ b/l10n-bg/dom/chrome/dom/dom.properties
@@ -0,0 +1,376 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+KillScriptTitle=Внимание: Неотговарящ скрипт
+KillScriptMessage=На тази страница има скрипт, който е зает или не отговаря. Може да го спрете сега или да изчакате и да видите дали няма да завърши сам.
+KillScriptWithDebugMessage=На тази страница има скрипт, който е зает или не отговаря. Може да го спрете сега, да го отворите в дебъгера или да изчакате и да видите дали няма да завърши сам.
+KillScriptLocation=Скрипт: %S
+
+KillAddonScriptTitle=Внимание: Неотговарящ скрипт от добавка
+# LOCALIZATION NOTE (KillAddonScriptMessage): %1$S is the name of an extension.
+# %2$S is the name of the application (e.g., Firefox).
+KillAddonScriptMessage=Скрипт от разширението „%1$S“ работи на страницата и забавя работата на %2$S.\n\nСкриптът може да е зает или да не отговаря. Може да го спрете сега или да изчакате и да видите дали няма да завърши сам.
+KillAddonScriptGlobalMessage=Спиране на скрипта от разширението до презареждане на страницата
+
+StopScriptButton=Спиране
+DebugScriptButton=Дебъгване
+WaitForScriptButton=Изчакване
+DontAskAgain=&Спиране на този въпрос
+WindowCloseBlockedWarning=Скриптове не може да затварят прозорци, които не са отворени от скрипт.
+OnBeforeUnloadTitle=Сигурни ли сте?
+OnBeforeUnloadStayButton=Оставане в страницата
+OnBeforeUnloadLeaveButton=Напускане на страницата
+EmptyGetElementByIdParam=Празен низ е подаден на getElementById().
+DocumentWriteIgnored=Пренебрегнато е извикване на document.write() от асинхронно зареден външен скрипт.
+# LOCALIZATION NOTE (EditorFileDropFailed): Do not translate contenteditable, %S is the error message explaining why the drop failed.
+EditorFileDropFailed=Грешка при пускане на файл върху елемент с contenteditable атрибут: %S.
+FormValidationTextTooLong=Моля, съкратете този текст до %S знака или по-малко (сега използвате %S знака).
+FormValidationTextTooShort=Моля, използвайте най-малко %S знака (сега използвате %S знака).
+FormValidationValueMissing=Моля, попълнете полето.
+FormValidationCheckboxMissing=Моля, отметнете ако искате да продължите.
+FormValidationRadioMissing=Моля, изберете една от тези възможности.
+FormValidationFileMissing=Моля, изберете файл.
+FormValidationSelectMissing=Моля, изберете елемент от списъка.
+FormValidationInvalidEmail=Моля, въведете адрес на ел. поща.
+FormValidationInvalidURL=Моля, въведете адрес от Интернет.
+FormValidationInvalidDate=Моля, въведете валидна дата.
+FormValidationInvalidTime=Въведете валидно време.
+FormValidationPatternMismatch=Моля, използвайте нужния формат.
+# LOCALIZATION NOTE (FormValidationPatternMismatchWithTitle): %S is the (possibly truncated) title attribute value.
+FormValidationPatternMismatchWithTitle=Моля, използвайте нужния формат: %S.
+# LOCALIZATION NOTE (FormValidationNumberRangeOverflow): %S is a number.
+FormValidationNumberRangeOverflow=Моля, изберете стойност, която е не по-голяма от %S.
+# LOCALIZATION NOTE (FormValidationDateTimeRangeOverflow): %S is a date or a time.
+FormValidationDateTimeRangeOverflow=Моля, изберете стойност, която е не по-късно от %S.
+# LOCALIZATION NOTE (FormValidationNumberRangeUnderflow): %S is a number.
+FormValidationNumberRangeUnderflow=Моля, изберете стойност, която е не по-малка от %S.
+# LOCALIZATION NOTE (FormValidationDateTimeRangeUnderflow): %S is a date or a time.
+FormValidationDateTimeRangeUnderflow=Моля, изберете стойност, която е не по-рано от %S.
+# LOCALIZATION NOTE (FormValidationStepMismatch): both %S can be a number, a date or a time.
+FormValidationStepMismatch=Моля, изберете валидна стойност. Двете най-близки валидни стойности са %S и %S.
+# LOCALIZATION NOTE (FormValidationStepMismatchOneValue): %S can be a number, a date or a time. This is called instead of FormValidationStepMismatch when the second value is the same as the first.
+FormValidationStepMismatchOneValue=Моля, изберете валидна стойност. Най-близката валидна стойност е %S.
+# LOCALIZATION NOTE (FormValidationTimeReversedRangeUnderflowAndOverflow): %1$S,%2$S are time.
+FormValidationBadInputNumber=Моля, въведете число.
+FullscreenDeniedDisabled=Отказана е заявка за цял екран, защото API-то за цял екран е изключено с потребителска настройка.
+FullscreenDeniedFocusedPlugin=Отказана е заявка за цял екран, защото фокусът е в приставка в прозорец.
+FullscreenDeniedHidden=Отказана е заявка за цял екран, защото документът повече не е видим.
+FullscreenDeniedContainerNotAllowed=Отказана е заявка за цял екран, защото поне един от елементите на документа не е iframe или не съдържа атрибута „allowfullscreen“.
+FullscreenDeniedNotInputDriven=Отказана е заявка за цял екран, защото методът Element.requestFullscreen() не е извикан в кратковременен обработчик на генерирано от потребител събитие.
+FullscreenDeniedNotHTMLSVGOrMathML=Отказана е заявка за цял екран, защото искащият елемент не е елемент от <svg>, <math> или HTML.
+FullscreenDeniedNotInDocument=Отказана е заявка за цял екран, защото искащият елемент вече не е в документа.
+FullscreenDeniedMovedDocument=Отказана е заявка за цял екран, защото искащият елемент беше преместен в друг документ.
+FullscreenDeniedLostWindow=Отказана е заявка за цял екран, защото вече нямаме прозорец.
+FullscreenDeniedSubDocFullscreen=Отказана е заявка за цял екран, защото поддокумент на документа, искащ цял екран, вече е в цял екран.
+FullscreenDeniedNotFocusedTab=Отказана е заявка за цял екран, защото искащият елемент не е в активния раздел.
+RemovedFullscreenElement=Излизане от цял екран, защото елементът с цял екран беше премахнат от документа.
+FocusedWindowedPluginWhileFullscreen=Излизане от цял екран, защото фокусът се премести върху приставка в прозорец.
+PointerLockDeniedDisabled=Заявка за заключване на показалеца на мишката беше отказан, защото Pointer Lock ППИ е изключен в настройките на потребителя.
+PointerLockDeniedInUse=Заявка за заключване на показалеца на мишката беше отказан, защото показалецът на мишката се управлява от друг документ.
+PointerLockDeniedNotInDocument=Заявка за заключване на показалеца на мишката беше отказан, защото заявяващият елемент не е в документ.
+PointerLockDeniedSandboxed=Заявка за заключване на показалеца на мишката беше отказан, защото Pointer Lock ППИ е ограничен от виртуална среда.
+PointerLockDeniedHidden=Заявка за заключване на показалеца на мишката беше отказан, защото документът не е видим.
+PointerLockDeniedNotFocused=Заявка за заключване на показалеца на мишката беше отказан, защото документът не е на фокус.
+PointerLockDeniedMovedDocument=Заявка за заключване на показалеца на мишката беше отказан, защото заявяващият елемент промени своя документ.
+PointerLockDeniedNotInputDriven=Заявка за заключване на показалеца на мишката беше отказан, защото методът Element.requestPointerLock() не е извикан в кратковременен обработчик на генерирано от потребител събитие.
+PointerLockDeniedFailedToLock=Заявка за заключване на показалеца на мишката беше отказан, защото четецът не можа да го заключи.
+HTMLSyncXHRWarning=Разборът на HTML в XMLHttpRequest не се поддържа в синхронен режим.
+# LOCALIZATION NOTE: %S is the name of the header in question
+ForbiddenHeaderWarning=Опит за задаване на забранена заглавка беше отказан: %S
+ResponseTypeSyncXHRWarning=Атрибутът responseType на XMLHttpRequest е вече неподдържан в синхронен режим и прозоречен контекст.
+TimeoutSyncXHRWarning=Атрибутът timeout на XMLHttpRequest е вече неподдържан в синхронен режим и прозоречен контекст.
+# LOCALIZATION NOTE: Do not translate navigator.sendBeacon, unload, pagehide, or XMLHttpRequest.
+JSONCharsetWarning=Имаше опит за обявяване на кодиране на JSON, изтеглен чрез XMLHttpRequest, което не е UTF-8. Само UTF-8 се поддържа при декодиране на JSON.
+# LOCALIZATION NOTE: Do not translate HTMLMediaElement and createMediaElementSource.
+MediaElementAudioSourceNodeCrossOrigin=HTMLMediaElement, даден на createMediaElementSource, е ресурс извън източника, затова възелът няма да изведе нищо.
+# LOCALIZATION NOTE: Do not translate MediaStream and createMediaStreamSource.
+MediaStreamAudioSourceNodeCrossOrigin=MediaStream, даден на createMediaStreamSource, е ресурс извън източника, затова възелът няма да изведе нищо.
+# LOCALIZATION NOTE : Do not translate MediaStreamTrack and createMediaStreamTrackSource.
+# LOCALIZATION NOTE: Do not translate HTMLMediaElement and MediaStream.
+MediaElementAudioCaptureOfMediaStreamError=Прихванатият HTMLMediaElement възпроизвежда MediaStream. Промени в силата на звука или неговото изключване в момента са недостъпни.
+# LOCALIZATION NOTE: Do not translate HTMLMediaElement and MediaStream.
+MediaLoadExhaustedCandidates=Никой от ресурсите-кандидати не успя да се зареди. Зареждането на медия е спряно.
+MediaLoadSourceMissingSrc=Елемент <source> няма атрибут „src“. Зареждането на медия се провали.
+MediaStreamAudioSourceNodeDifferentRate=Свързване на AudioNodes от AudioContexts с различна честота на дискретизация в момента не се поддържа.
+# LOCALIZATION NOTE: %1$S is the Http error code the server returned (e.g. 404, 500, etc), %2$S is the URL of the media resource which failed to load.
+MediaLoadHttpError=Зареждане от HTTP се провали със състояние %1$S. Зареждането на медиен ресурс %2$S се провали.
+# LOCALIZATION NOTE: %S is the URL of the media resource which failed to load.
+MediaLoadInvalidURI=Невалиден URI. Зареждането на медиен ресурс %S се провали.
+# LOCALIZATION NOTE: %1$S is the media resource's format/codec type (basically equivalent to the file type, e.g. MP4,AVI,WMV,MOV etc), %2$S is the URL of the media resource which failed to load.
+MediaLoadUnsupportedTypeAttribute=Зададеният атрибут „type“ на „%1$S“ не се поддържа. Зареждането на медиен ресурс %2$S се провали.
+# LOCALIZATION NOTE: %1$S is the MIME type HTTP header being sent by the web server, %2$S is the URL of the media resource which failed to load.
+MediaLoadUnsupportedMimeType=HTTP „Content-Type: %1$S“ не се поддържа. Зареждането на медиен ресурс %2$S се провали.
+# LOCALIZATION NOTE: %S is the URL of the media resource which failed to load because of error in decoding.
+MediaLoadDecodeError=Медийният ресурс %S не може да бъде декодиран.
+MediaWidevineNoWMF=Опит за възпроизвеждане на Widevine без Windows Media Foundation. Вижте https://support.mozilla.org/kb/fix-video-audio-problems-firefox-windows
+# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
+MediaWMFNeeded=За възпроизвеждане на видео формата %S, трябва да инсталирате допълнителен софтуер от Microsoft, вижте https://support.mozilla.org/kb/fix-video-audio-problems-firefox-windows
+# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
+MediaPlatformDecoderNotFound=Видеото на страницата не може да бъде възпроизведено. Вероятно вашата система няма необходимия кодек за: %S
+MediaUnsupportedLibavcodec=Видеото на страницата не може да бъде възпроизведено. Вашата система има неподдържана версия на libavcodec
+# LOCALIZATION NOTE: %1$S is the URL of the media resource, %2$S is technical information (in English)
+MediaDecodeError=Медийният ресурс %1$S не е декодиран, грешка: %2$S
+# LOCALIZATION NOTE: %1$S is the URL of the media resource, %2$S is technical information (in English)
+MediaDecodeWarning=Медийният ресурс %1$S е декодиран, но с грешка: %2$S
+# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
+MediaCannotPlayNoDecoders=Медията не може да бъде възпроизведена. Няма декодери за искания формат %S
+# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
+MediaNoDecoders=Няма декодери за някои от исканите формати: %S
+MediaCannotInitializePulseAudio=PulseAudio не може да бъде използвано
+# LOCALIZATION NOTE: %S is the URL of the web page which is not served on HTTPS and thus is not encrypted and considered insecure.
+MediaEMEInsecureContextDeprecatedWarning=Използване на Encrypted Media Extensions на %S през незащитен (например не през HTTPS) контекст е изведено от употреба и скоро ще бъде премахнато. Обмислете преминаване към защитен произход като HTTPS.
+# LOCALIZATION NOTE: %S is the URL of the web page which is calling web APIs without passing data (either an audioCapabilities or a videoCapabilities) that will soon be required. See https://bugzilla.mozilla.org/show_bug.cgi?id=1368583#c21 for explanation of this string.
+MediaEMENoCapabilitiesDeprecatedWarning=Извикване на navigator.requestMediaKeySystemAccess() (в %S) без подаден кандидат за MediaKeySystemConfiguration, съдържащ audioCapabilities или videoCapabilities е изведено от употреба и скоро няма да бъде поддържано.
+# LOCALIZATION NOTE: %S is the URL of the web page which is calling web APIs without passing data (a "codecs" string in the "contentType") that will soon be required. See https://bugzilla.mozilla.org/show_bug.cgi?id=1368583#c21 for explanation of this string.
+MediaEMENoCodecsDeprecatedWarning=Извикване на navigator.requestMediaKeySystemAccess() (в %S) без подаден кандидат за MediaKeySystemConfiguration, съдържащ audioCapabilities или videoCapabilities без contentType с низ „codecs“ е изведено от употреба и скоро няма да бъде поддържано.
+# LOCALIZATION NOTE: Do not translate "Mutation Event" and "MutationObserver"
+MutationEventWarning=Mutation Events са изведени от употреба. Вместо тях използвайте MutationObserver.
+BlockAutoplayError=Автоматичното възпроизвеждане е разрешено само, когато е одобрено от потребител, страницата е отворена от него или медията е с изключен звук.
+# LOCALIZATION NOTE: Do not translate "Components"
+ComponentsWarning=Обектът Components е изведен от употреба. Скоро ще бъде премахнат.
+PluginHangUITitle=Внимание: Приставка не отговаря
+PluginHangUIMessage=Приставката %S може все още да работи, а може и да е спряла да отговаря. Може да я спрете сега или да изчакате и да видите дали няма да завърши сама.
+PluginHangUIWaitButton=Изчакване
+PluginHangUIStopButton=Спиране
+# LOCALIZATION NOTE: Do not translate "NodeIterator" or "detach()".
+NodeIteratorDetachWarning=Извикването на detach() върху NodeIterator вече няма ефект.
+# LOCALIZATION NOTE: Do not translate "LenientThis" and "this"
+LenientThisWarning=Пренебрегване на взимане или задаване на свойство, имащо [LenientThis], защото обектът „this“ е некоректен.
+# LOCALIZATION NOTE: Do not translate "captureEvents()" or "addEventListener()"
+UseOfCaptureEventsWarning=Методът captureEvents() е изведен от употреба. За да обновите кода си използвайте метода addEventListener() от DOM 2. За помощ http://developer.mozilla.org/en/docs/DOM:element.addEventListener
+# LOCALIZATION NOTE: Do not translate "releaseEvents()" or "removeEventListener()"
+UseOfReleaseEventsWarning=Методът releaseEvents() е изведен от употреба. За да обновите кода си използвайте метода removeEventListener() от DOM 2. За повече помощ http://developer.mozilla.org/en/docs/DOM:element.removeEventListener
+# LOCALIZATION NOTE: Do not translate "XMLHttpRequest"
+SyncXMLHttpRequestWarning=Изпълнение на XMLHttpRequest в главната нишка е изведено от употреба, защото има вредно въздействие върху изживяването на потребителя. За помощ http://xhr.spec.whatwg.org/
+# LOCALIZATION NOTE: Do not translate "XMLHttpRequest"
+# LOCALIZATION NOTE: Do not translate "window.controllers/Controllers"
+Window_Cc_ontrollersWarning=Свойството window.controllers/Controllers е изведено от употреба. Не го използвайте за откриване на потребителския агент.
+ImportXULIntoContentWarning=Внасянето на възли от XUL в съдържание на документи е изведено от употреба. Тази функционалност скоро ще бъде премахната.
+# LOCALIZATION NOTE: Do not translate "IndexedDB".
+IndexedDBTransactionAbortNavigation=IndexedDB транзакция, която не е все още завършена, беше прекратена заради зареждане на страница.
+# LOCALIZATION NOTE: Do not translate Will-change, %1$S,%2$S are numbers.
+IgnoringWillChangeOverBudgetWarning=Използваната памет за Will-change е твърде много. Квотата е площта на документа, умножена по %1$S (%2$S пиксела). При превишена квота всички бъдещи промени в документа биват пренебрегвани.
+# LOCALIZATION NOTE: Do not translate "Worker".
+HittingMaxWorkersPerDomain2=Обслужващата нишка (Worker) не може да бъде стартиран веднага, защото други документи от същия произход вече използват максималния брой. Обслужващата нишка (Worker) е добавен към опашката и ще бъде пуснат веднага след като някой друг завърши.
+# LOCALIZATION NOTE: Do not translate "Application Cache API", "AppCache" and "ServiceWorker".
+AppCacheWarning=ППИ на склада за приложения (AppCache) е изведен от употреба и ще бъде премахнат. Моля, използвайте ServiceWorker за работа без мрежа.
+# LOCALIZATION NOTE: Do not translate "Worker".
+EmptyWorkerSourceWarning=Опит за създаване на Worker от празен източник. Вероятно това е непреднамерено.
+NavigatorGetUserMediaWarning=navigator.mozGetUserMedia е заменен от navigator.mediaDevices.getUserMedia
+# LOCALIZATION NOTE: Do not translate "RTCPeerConnection", "getLocalStreams", "getRemoteStreams", "getSenders" or "getReceivers".
+RTCPeerConnectionGetStreamsWarning=RTCPeerConnection.getLocalStreams/getRemoteStreams са излезли от употреба. Вместо това използвайте RTCPeerConnection.getSenders/getReceivers.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %S is a URL.
+InterceptionFailedWithURL=Грешка при зареждане на „%S“. Обслужваща нишка прихвана заявката и се натъкна на неочаквана грешка.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "cors", "Response", "same-origin" or "Request". %1$S is a URL, %2$S is a URL.
+CorsResponseForSameOriginRequest=Грешка при зареждане на „%1$S“ в отговор на „%2$S“. На ServiceWorker е забранено да създава cors Response за same-origin Request.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "FetchEvent.respondWith()", "FetchEvent", "no-cors", "opaque", "Response", or "RequestMode". %1$S is a URL. %2$S is a RequestMode value.
+BadOpaqueInterceptionRequestModeWithURL=Грешка при зареждане на „%1$S“. ServiceWorker подаде opaque Response на FetchEvent.respondWith(), докато обработваше събитието „%2$S“ от вида FetchEvent. Обектите Opaque Response са валидни само когато RequestMode е „no-cors“.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Error", "Response", "FetchEvent.respondWith()", or "fetch()". %S is a URL.
+InterceptedErrorResponseWithURL=Грешка при зареждане на „%S“. ServiceWorker подаде Error Reponse на FetchEvent.respondWith(). Това обикновено означава, че ServiceWorker е извършил невалидно извикване fetch().
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Response", "FetchEvent.respondWith()", or "Response.clone()". %S is a URL.
+InterceptedUsedResponseWithURL=Грешка при зареждане на „%S“. ServiceWorker подаде вече използван Reponse на FetchEvent.respondWith(). Тялото на Response може да бъде прочетено само веднъж. Използвайте Response.clone() за многократен достъп до тялото.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "opaqueredirect", "Response", "FetchEvent.respondWith()", or "FetchEvent". %S is a URL.
+BadOpaqueRedirectInterceptionWithURL=Грешка при зареждане на „%S“. ServiceWorker подаде opaqueredirect Response на FetchEvent.respondWith(), докато обработваше ненавигиращо събитие от вида FetchEvent.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Response", "FetchEvent.respondWith()", "RedirectMode" or "follow". %S is a URL.
+BadRedirectModeInterceptionWithURL=Грешка при зареждане на „%S“. Обслужваща нишка (ServiceWorker) подаде пренасочващ отговор на FetchEvent.respondWith(), a RedirectMode не е follow.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker" or "FetchEvent.preventDefault()". %S is a URL.
+InterceptionCanceledWithURL=Грешка при зареждане на „%S“. ServiceWorker прекъсна зареждането чрез извикване на FetchEvent.preventDefault().
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "promise", or "FetchEvent.respondWith()". %1$S is a URL. %2$S is an error string.
+InterceptionRejectedResponseWithURL=Грешка при зареждане на „%1$S“. ServiceWorker подаде promise на FetchEvent.respondWith(), което отказа с „%2$S“.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "promise", "FetchEvent.respondWith()", or "Response". %1$S is a URL. %2$S is an error string.
+InterceptedNonResponseWithURL=Грешка при зареждане на „%1$S“. ServiceWorker подаде promise на FetchEvent.respondWith(), което беше превърнато в стойност „%2$S“, която не е Response.
+
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Service-Worker-Allowed" or "HTTP". %1$S and %2$S are URLs.
+ServiceWorkerScopePathMismatch=Грешка при регистриране на обслужваща нишка (ServiceWorker): Пътят на дадения обхват „%1$S“ не е вътре в максималния разрешен обхват „%2$S“. Нагласете обхвата, преместете скрипта на обслужващата нишка (Service Worker) или за разрешаване на обхвата използвайте заглавката на HTTP Service-Worker-Allowed.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %1$S is a URL representing the scope of the ServiceWorker, %2$S is a stringified numeric HTTP status code like "404" and %3$S is a URL.
+ServiceWorkerRegisterNetworkError=Грешка при регистриране или обновяване на обслужваща нишка (ServiceWorker) за областта „%1$S“: Грешка при зареждането с код %2$S за скрипта „%3$S“.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %1$S is a URL representing the scope of the ServiceWorker, %2$S is a MIME Media Type like "text/plain" and %3$S is a URL.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %S is a URL representing the scope of the ServiceWorker.
+ServiceWorkerRegisterStorageError=Грешка при регистриране или обновяване на обслужваща нишка (ServiceWorker) за областта „%S“: Достъпът до хранилището е отказан в този контекст заради настройките на потребителя или режима на поверително разглеждане.
+ServiceWorkerGetRegistrationStorageError=Грешка при получаване на регистрираните обслужващи нишки: Достъпът до хранилището е отказан в този контекст заради настройките на потребителя или режима на поверително разглеждане.
+ServiceWorkerGetClientStorageError=Грешка при получаване на клиентите на обслужващи нишки: Достъпът до хранилището е отказан в този контекст заради настройките на потребителя или режима на поверително разглеждане.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker" and "postMessage". %S is a URL representing the scope of the ServiceWorker.
+ServiceWorkerPostMessageStorageError=Грешка при изпълнение на „postMessage“ от обслужващата нишка (ServiceWorker) за обхвата „%S“, защото достъпът до хранилището е отказан в този контекст заради настройките на потребителя или режима на поверително разглеждане.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %1$S is a URL representing the scope of the ServiceWorker.
+ServiceWorkerGraceTimeoutTermination=Затваряне на обслужваща нишка (ServiceWorker) за областта „%1$S“ с изчакващи Promisе от вида waitUntil/respondWith заради изтекло време на изчакване (grace timeout).
+# LOCALIZATION NOTE (ServiceWorkerNoFetchHandler): Do not translate "Fetch".
+ServiceWorkerNoFetchHandler=Слушателите за събитието Fetch трябва да бъдат добавяни при първоначалното изпълнение на скрипта на ServiceWorker.
+ExecCommandCutCopyDeniedNotInputDriven=Отказано е document.execCommand(„cut“/,„copy“), защото не е извикано като част от кратковременен потребителски обработчик на събитие.
+ManifestShouldBeObject=Манифестът трябва да е обект.
+ManifestScopeURLInvalid=URL-ът на обхвата е невалиден.
+ManifestScopeNotSameOrigin=Адресът на обхвата трябва да е със същия произход като този на документа.
+ManifestStartURLOutsideScope=Началният URL е извън обхвата, затова обхватът е невалиден.
+ManifestStartURLInvalid=Началният URL е невалиден.
+ManifestStartURLShouldBeSameOrigin=Началният адрес трябва да е със същия произход като този на документа,
+# LOCALIZATION NOTE: %1$S is the name of the object whose property is invalid. %2$S is the name of the invalid property. %3$S is the expected type of the property value. E.g. "Expected the manifest's start_url member to be a string."
+ManifestInvalidType=Очакваше се %2$S на %1$S да е от вид %3$S.
+# LOCALIZATION NOTE: %1$S is the name of the property whose value is invalid. %2$S is the (invalid) value of the property. E.g. "theme_color: 42 is not a valid CSS color."
+ManifestInvalidCSSColor=%1$S: %2$S не е валиден CSS цвят.
+# LOCALIZATION NOTE: %1$S is the name of the property whose value is invalid. %2$S is the (invalid) value of the property. E.g. "lang: 42 is not a valid language code."
+# LOCALIZATION NOTE: %1$S is the name of the parent property whose value is invalid (e.g., "icons"). %2$S is the index of the image object that is invalid (from 0). %3$S is the name of actual member that is invalid. %4$S is the invalid value. E.g. "icons item at index 2 is invalid. The src member is an invalid URL http://:Invalid"
+# LOCALIZATION NOTE: %1$S is the name of the parent property that that contains the unusable image object (e.g., "icons"). %2$S is the index of the image object that is unusable (from 0). E.g. "icons item at index 2 lacks a usable purpose. It will be ignored."
+# LOCALIZATION NOTE: %1$S is the name of the parent property that contains the unsupported value (e.g., "icons"). %2$S is the index of the image object that has the unsupported value (from 0). %3$S are the unknown purposes. E.g. "icons item at index 2 includes unsupported purpose(s): a b."
+# LOCALIZATION NOTE: %1$S is the name of the parent property that has a repeated purpose (e.g., "icons"). %2$S is the index of the image object that has the repeated purpose (from 0). %3$S is the repeated purposes. E.g. "icons item at index 2 includes repeated purpose(s): a b."
+PatternAttributeCompileFailure=Не може да се провери <input pattern='%S'>, защото шаблонът не е валиден регулярен израз: %S
+# LOCALIZATION NOTE: Do not translate "postMessage" or DOMWindow. %S values are origins, like https://domain.com:port
+TargetPrincipalDoesNotMatch=Грешка при изпълнение на „postMessage“ върху „DOMWindow“: Зададеният целеви произход („%S“) не съвпада с произхода на прозореца на получателя („%S“).
+# LOCALIZATION NOTE: Do not translate 'YouTube'. %S values are origins, like https://domain.com:port
+RewriteYouTubeEmbed=Пренаписване на стария стил с влагане на Flash на Youtube (%S) с влагане на iframe (%S). Моля, ако е възможно, обновете страницата да използва iframe вместо embed/object.
+# LOCALIZATION NOTE: Do not translate 'YouTube'. %S values are origins, like https://domain.com:port
+RewriteYouTubeEmbedPathParams=Пренаписване на стария стил с влагане на Flash на Youtube (%S) с влагане на iframe (%S). Неподдържаните параметри от iframe бяха преработени. Моля, ако е възможно, обновете страницата да използва iframe вместо embed/object.
+# LOCALIZATION NOTE: This error is reported when the "Encryption" header for an
+# incoming push message is missing or invalid. Do not translate "ServiceWorker",
+# "Encryption", and "salt". %1$S is the ServiceWorker scope URL.
+PushMessageBadEncryptionHeader=ServiceWorker в обхвата „%1$S“ не разшифрова избутано съобщение. Заглавката „Encryption“ трябва да съдържа уникален параметър „salt“ за всяко съобщение. За повече информация посетете https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-3.1
+# LOCALIZATION NOTE: This error is reported when the "Crypto-Key" header for an
+# incoming push message is missing or invalid. Do not translate "ServiceWorker",
+# "Crypto-Key", and "dh". %1$S is the ServiceWorker scope URL.
+PushMessageBadCryptoKeyHeader=ServiceWorker в обхвата „%1$S“ не разшифрова избутано съобщение. Заглавката „Crypto-Key“ трябва да съдържа параметъра „dh“, който да съдържа публичния ключ на сървъра за приложения. За повече информация посетете https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-4
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt because the deprecated
+# "Encryption-Key" header for an incoming push message is missing or invalid.
+# Do not translate "ServiceWorker", "Encryption-Key", "dh", "Crypto-Key", and
+# "Content-Encoding: aesgcm". %1$S is the ServiceWorker scope URL.
+PushMessageBadEncryptionKeyHeader=ServiceWorker в обхвата „%1$S“ не разшифрова избутано съобщение. Заглавката „Encryption-Key“ трябва да съдържа параметъра „dh“. Тази заглавка е изведена от употреба и скоро ще бъде премахната. Моля, вместо нея използвайте „Crypto-Key“ заедно с „Content-Encoding: aesgcm“. За помощ https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-4
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because the "Content-Encoding" header is missing or contains an
+# unsupported encoding. Do not translate "ServiceWorker", "Content-Encoding",
+# "aesgcm", and "aesgcm128". %1$S is the ServiceWorker scope URL.
+PushMessageBadEncodingHeader=ServiceWorker в обхвата „%1$S“ не разшифрова избутано съобщение. Заглавката „Content-Encoding“ трябва да бъде „aesgcm“. Заглавка „aesgcm128“ е разрешена, но изведена от употреба и скоро ще бъде премахната. За повече информация посетете https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-2
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because the "dh" parameter is not valid base64url. Do not translate
+# "ServiceWorker", "dh", "Crypto-Key", and "base64url". %1$S is the
+# ServiceWorker scope URL.
+PushMessageBadSenderKey=ServiceWorker в обхвата „%1$S“ не разшифрова избутано съобщение. Параметърът „dh“ в заглавката „Crypto-Key“ трябва да бъде base64url-кодираният (https://tools.ietf.org/html/rfc7515#appendix-C) Diffie-Hellman публичен ключ на сървъра в „uncompressed“ или „raw“ вариант (65 байта преди кодирането). За повече информация посетете https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-4
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because the "salt" parameter is not valid base64url. Do not translate
+# "ServiceWorker", "salt", "Encryption", and "base64url". %1$S is the
+# ServiceWorker scope URL.
+PushMessageBadSalt=ServiceWorker в обхвата „%1$S“ не разшифрова избутано съобщение. Параметърът „salt“ в заглавката „Encryption“ трябва да бъде base64url-кодиран (https://tools.ietf.org/html/rfc7515#appendix-C) и най-малко 16 байта преди кодирането. За повече информация посетете https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-3.1
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because the "rs" parameter is not a number, or is less than the pad size.
+# Do not translate "ServiceWorker", "rs", or "Encryption". %1$S is the
+# ServiceWorker scope URL. %2$S is the minimum value (1 for aesgcm128, 2 for
+# aesgcm).
+PushMessageBadRecordSize=ServiceWorker в обхвата „%1$S“ не разшифрова избутано съобщение. Параметърът „rs“ в заглавката „Encryption“ трябва да бъде или между %2$S и 2^36-31 или изцяло пропуснат. За повече информация посетете https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-3.1
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because an encrypted record is shorter than the pad size, the pad is larger
+# than the record, or any of the padding bytes are non-zero. Do not translate
+# "ServiceWorker". %1$S is the ServiceWorker scope URL. %2$S is the pad size
+# (1 for aesgcm128, 2 for aesgcm).
+PushMessageBadPaddingError=ServiceWorker в обхвата „%1$S“ не разшифрова избутано съобщение. Поле в шифрованото съобщение е с неправилна дължина. За повече информация посетете https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-2
+# LOCALIZATION NOTE: This error is reported when push message decryption fails
+# and no specific error info is available. Do not translate "ServiceWorker".
+# %1$S is the ServiceWorker scope URL.
+PushMessageBadCryptoError=ServiceWorker в обхвата „%1$S“ не разшифрова избутано съобщение. За помощ при шифроване посетете https://developer.mozilla.org/docs/Web/API/Push_API/Using_the_Push_API#Encryption
+# LOCALIZATION NOTE: %1$S is the type of a DOM event. 'passive' is a literal parameter from the DOM spec.
+PreventDefaultFromPassiveListenerWarning=Пренебрегване на извикване „preventDefault()“ върху събитие от вид „%1$S“, понеже следящият код е регистриран като „passive“.
+# LOCALIZATION NOTE: 'ImageBitmapRenderingContext.transferImageBitmap' and 'ImageBitmapRenderingContext.transferFromImageBitmap' should not be translated
+IIRFilterChannelCountChangeWarning=Промените в броя на каналите на IIRFilterNode може да доведе до дефекти в аудиото.
+BiquadFilterChannelCountChangeWarning=Промените в броя на каналите на BiquadFilterNode може да доведе до дефекти в аудиото.
+# LOCALIZATION NOTE: Do not translate ".png"
+GenericImageNamePNG=изображение.png
+GenericFileName=файл
+GeolocationInsecureRequestIsForbidden=Заявка за местоположението може да бъде изпълнена само в защитен контекст.
+# LOCALIZATION NOTE: Do not translate "content", "Window", and "window.top"
+WindowContentUntrustedWarning=Атрибутът „content“ на обекта Window е изведен от употреба. Вместо него използвайте „window.top“.
+# LOCALIZATION NOTE: The first %S is the tag name of the element that starts the loop, the second %S is the element's ID.
+SVGRefLoopWarning=В SVG <%S> с идентификатор „%S“ има безкраен цикъл от обръщения.
+# LOCALIZATION NOTE: The first %S is the tag name of the element in the chain where the chain was broken, the second %S is the element's ID.
+SVGRefChainLengthExceededWarning=Твърде дълга верига от обръщения от SVG <%S> е прекъсната в елемент с идентификатор „%S“.
+# LOCALIZATION NOTE: Do not translate SVGSVGElement.deselectAll.
+# LOCALIZATION NOTE: Do not translate SVGGraphicsElement.nearestViewportElement or SVGElement.viewportElement.
+# LOCALIZATION NOTE: Do not translate SVGGraphicsElement.farthestViewportElement.
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceEmpty=Атрибутът „%S“ на елемент <script> е празен.
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceInvalidUri=Атрибутът „%S“ на елемент <script> е невалиден URI: „%S“
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceLoadFailed=Неуспешно зареждане на <script> с адрес „%S“.
+ModuleSourceLoadFailed=Неуспешно зареждане на модул с адрес „%S“.
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceMalformed=URI от адреса на <script> е повреден: „%S“.
+ModuleSourceMalformed=URI от адреса на модула е повреден: „%S“.
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceNotAllowed=URI от адреса на <script> е забранен в документа: „%S“.
+ModuleSourceNotAllowed=URI от адреса на модула е забранен в документа: „%S“.
+# %1$S is the specifier key, %2$S is the URL.
+# LOCALIZATION NOTE: Do not translate "<script type='importmap'>", "src".
+# LOCALIZATION NOTE: %1$S is the invalid property value and %2$S is the property name.
+InvalidKeyframePropertyValue=Стойността „%1$S“ за име на ключов кадър е невалидна според синтаксиса за „%2$S“.
+# LOCALIZATION NOTE: Do not translate "ReadableStream".
+ReadableStreamReadingFailed=Грешка при прочитане на данни фром ReadableStream: „%S“.
+# LOCALIZATION NOTE: Do not translate "registerProtocolHandler"
+MotionEventWarning=Използването на сензора за движение е изведено от употреба.
+OrientationEventWarning=Използването на сензора за пространствено положение е изведено от употреба.
+ProximityEventWarning=Използването на сензора за близост е изведено от употреба.
+AmbientLightEventWarning=Използването на сензора за околна светлина е изведено от употреба.
+UnsupportedEntryTypesIgnored=Пренебрегване на неподдържаните entryTypes: %S.
+# LOCALIZATION NOTE: do not localize key=“%S” modifiers=“%S” id=“%S”
+# LOCALIZATION NOTE: do not translated "document.domain"
+
+#LOCALIZATION NOTE(DeprecatedTestingInterfaceWarning): Do not translate this message. It's just testing only.
+#LOCALIZATION NOTE(DeprecatedTestingMethodWarning): Do not translate this message. It's just testing only.
+#LOCALIZATION NOTE(DeprecatedTestingAttributeWarning): Do not translate this message. It's just testing only.
+# LOCALIZATION NOTE (CreateImageBitmapCanvasRenderingContext2DWarning): Do not translate CanvasRenderingContext2D and createImageBitmap.
+
+# LOCALIZATION NOTE (DrawWindowCanvasRenderingContext2DWarning): Do not translate CanvasRenderingContext2D, drawWindow and tabs.captureTab.
+
+# LOCALIZATION NOTE (MozRequestFullScreenDeprecatedPrefixWarning): Do not translate mozRequestFullScreen.
+# LOCALIZATION NOTE (MozfullscreenchangeDeprecatedPrefixWarning): Do not translate onmozfullscreenchange.
+# LOCALIZATION NOTE (MozfullscreenerrorDeprecatedPrefixWarning): Do not translate onmozfullscreenerror.
+# LOCALIZATION NOTE(External_AddSearchProviderWarning): Do not translate AddSearchProvider.
+
+# LOCALIZATION NOTE: Do not translate "MouseEvent.mozPressure" and "PointerEvent.pressure".
+# LOCALIZATION NOTE: Do not translate small, normal, big and mathsize.
+# LOCALIZATION NOTE: Do not translate veryverythinmathspace, verythinmathspace,
+# thinmathspace, mediummathspace, thickmathspace, verythickmathspace, veryverythickmathspace and MathML.
+# LOCALIZATION NOTE: Do not translate MathML, background, color, fontfamily, fontsize, fontstyle and fontweight.
+MathML_DeprecatedStyleAttributeWarning=Атрибутите на MathML „background“, „color“, „fontfamily“, „fontsize“, „fontstyle“ и „fontweight“ са изведени от употреба и ще бъдат премахнати в бъдеще.
+# LOCALIZATION NOTE: Do not translate "MouseEvent.mozInputSource" and "PointerEvent.pointerType".
+# LOCALIZATION NOTE: Do not translate "initMouseEvent()" and "MouseEvent()".
+# LOCALIZATION NOTE: Do not translate "initNSMouseEvent()" and "MouseEvent()".
+# LOCALIZATION NOTE: Do not translate MathML. %S is the deprecated length value.
+# LOCALIZATION NOTE: Do not translate mathvariant or MathML. %S is the deprecated value of the mathvariant attribute.
+# LOCALIZATION NOTE: Do not translate MathML and STIXGeneral. %S is a documentation URL.
+MathML_DeprecatedStixgeneralOperatorStretchingWarning=Поддръжката за изобразяване на разтегнати оператори на MathML с шрифтове STIXGeneral е остаряла и може да бъде премахната в бъдеще. За подробности относно по-новите шрифтове, които ще продължат да се поддържат, вижте %S
+# LOCALIZATION NOTE: Do not translate MathML and scriptminsize.
+# LOCALIZATION NOTE: Do not translate MathML and scriptsizemultiplier.
+MathML_DeprecatedScriptsizemultiplierAttributeWarning=Атрибутът на MathML „scriptsizemultiplier“ е изведен от употреба и ще бъде премахнат в бъдеще.
+
+# LOCALIZATION NOTE: Do not translate "sizeToContent()".
+
+WebShareAPI_Failed=Операцията за споделяне е неуспешна.
+WebShareAPI_Aborted=Операцията по споделяне е прекъсната.
+# LOCALIZATION NOTE (UnknownProtocolNavigationPrevented): %1$S is the destination URL.
+# LOCALIZATION NOTE: %S is the URL of the resource in question
+
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess(), iframe, allow-same-origin and sandbox (though you may translate "sandboxed").
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess(), iframe, allow-storage-access-by-user-activation and sandbox (though you may translate "sandboxed").
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess() and iframe.
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess(). In some locales it may be preferable to not translate "event handler", either.
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess(), Permissions Policy and storage-access.
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess()
+# LOCALIZATION NOTE: Do not translate "Location" and "History".
+FolderUploadPrompt.title = Потвърждаване на качване
+# LOCALIZATION NOTE: %S is the name of the folder the user selected in the file picker.
+FolderUploadPrompt.acceptButtonLabel = Качване
+# LOCALIZATION NOTE: %S is the URL of the preload that was ignored.
+# LOCALIZATION NOTE: %S is the blob URL. Don't translate "agent cluster".
+# LOCALIZATION NOTE: %S is the blob URL. Don't translate "partition key".
+# LOCALIZATION NOTE: Do not translate "Element.setCapture()" and "Element.setPointerCapture()"".
+# LOCALIZATION NOTE: Do not translate "Element.releaseCapture()" and "Element.releasePointerCapture()".
+# LOCALIZATION NOTE: Do not translate "Document.releaseCapture()" and "Element.releasePointerCapture()".
+
+# LOCALIZATION NOTE: Don't translate browser.runtime.lastError, %S is the error message from the unchecked value set on browser.runtime.lastError.
+
+# LOCALIZATION NOTE: Do not translate "OffscreenCanvas.toBlob()" and "OffscreenCanvas.convertToBlob()".
+
+# LOCALIZATION NOTE: Do not translate "InstallTrigger"
+# LOCALIZATION NOTE: Do not translate "InstallTrigger.install()"
+
+# LOCALIZATION NOTE: Do not translate "HTMLOptionsCollection.length". %1$S is the invalid value, %2$S is the current limit.
+
+# LOCALIZATION NOTE: Do not translate "isExternalCTAP2SecurityKeySupported".
+
+# LOCALIZATION NOTE: Do not translate "name="
diff --git a/l10n-bg/dom/chrome/global-strres.properties b/l10n-bg/dom/chrome/global-strres.properties
new file mode 100644
index 0000000000..2c834d12f5
--- /dev/null
+++ b/l10n-bg/dom/chrome/global-strres.properties
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+16389=Възникна неизвестна грешка (%1$S)
diff --git a/l10n-bg/dom/chrome/layout/HtmlForm.properties b/l10n-bg/dom/chrome/layout/HtmlForm.properties
new file mode 100644
index 0000000000..ce86b03e33
--- /dev/null
+++ b/l10n-bg/dom/chrome/layout/HtmlForm.properties
@@ -0,0 +1,35 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+Reset=Нулиране
+Submit=Изпращане
+Browse=Разглеждане…
+FileUpload=Качване на файл
+DirectoryUpload=Изберете папка за качване
+DirectoryPickerOkButtonLabel=Качване
+ForgotPostWarning=Формулярът съдържа enctype=%S, но не съдържа method=POST. Вместо това ще бъде извършено изпращане по нормалния начин с method=GET и без enctype.
+ForgotFileEnctypeWarning=Формулярът съдържа поле за файл, но липсва method=POST и enctype=multipart/form-data. Файлът няма да бъде изпратен.
+# LOCALIZATION NOTE (DefaultFormSubject): %S will be replaced with brandShortName
+DefaultFormSubject=Изпращане на формуляр от %S
+CannotEncodeAllUnicode=Изпратен е формуляр с кодиране %S, неспособно да кодира всички знаци на Unicode и потребителските данни може да бъдат повредени. За да бъде избегнат проблема страницата трябва да бъде променена, така че формуляра да бъде изпратен с кодиране UTF-8 чрез смяна на кодирането на цялата страница или добавяне на accept-charset=utf-8 към елемента на формуляра.
+AllSupportedTypes=Всички поддържани видове
+# LOCALIZATION NOTE (NoFileSelected): this string is shown on a
+# <input type='file'> when there is no file selected yet.
+NoFileSelected=Не е избран файл.
+# LOCALIZATION NOTE (NoFilesSelected): this string is shown on a
+# <input type='file' multiple> when there is no file selected yet.
+NoFilesSelected=Не са избрани файлове.
+# LOCALIZATION NOTE (NoDirSelected): this string is shown on a
+# <input type='file' directory/webkitdirectory> when there is no directory
+# selected yet.
+NoDirSelected=Не е избрана папка.
+# LOCALIZATION NOTE (XFilesSelected): this string is shown on a
+# <input type='file' multiple> when there are more than one selected file.
+# %S will be a number greater or equal to 2.
+XFilesSelected=%S избрани файла.
+ColorPicker=Избиране на цвят
+# LOCALIZATION NOTE (DefaultSummary): this string is shown on a <details> when
+# it has no direct <summary> child. Google Chrome should already have this
+# string translated.
+DefaultSummary=Подробности
diff --git a/l10n-bg/dom/chrome/layout/MediaDocument.properties b/l10n-bg/dom/chrome/layout/MediaDocument.properties
new file mode 100644
index 0000000000..1c1dc233a9
--- /dev/null
+++ b/l10n-bg/dom/chrome/layout/MediaDocument.properties
@@ -0,0 +1,21 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#LOCALIZATION NOTE (ImageTitleWithDimensions2AndFile): first %S is filename, second %S is type, third %S is width and fourth %S is height
+#LOCALIZATION NOTE (ImageTitleWithoutDimensions): first %S is filename, second %S is type
+#LOCALIZATION NOTE (ImageTitleWithDimensions2): first %S is type, second %S is width and third %S is height
+#LOCALIZATION NOTE (ImageTitleWithNeitherDimensionsNorFile): first %S is type
+#LOCALIZATION NOTE (MediaTitleWithFile): first %S is filename, second %S is type
+#LOCALIZATION NOTE (MediaTitleWithNoInfo): first %S is type
+ImageTitleWithDimensions2AndFile=%S (Изображение %S, %S × %S пиксела)
+ImageTitleWithoutDimensions=%S (Изображение %S)
+ImageTitleWithDimensions2=(Изображение %S, %S × %S пиксела)
+ImageTitleWithNeitherDimensionsNorFile=(Изображение %S)
+MediaTitleWithFile=%S (Обект %S)
+MediaTitleWithNoInfo=(Обект %S)
+
+InvalidImage=Изображението „%S“ не може да бъде показано, защото съдържа грешки.
+ScaledImage=Мащабирано (%S%%)
+
+TitleWithStatus=%S - %S
diff --git a/l10n-bg/dom/chrome/layout/css.properties b/l10n-bg/dom/chrome/layout/css.properties
new file mode 100644
index 0000000000..123a7bb0f4
--- /dev/null
+++ b/l10n-bg/dom/chrome/layout/css.properties
@@ -0,0 +1,43 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+MimeNotCss=Стиловият лист %1$S не е зареден, защото неговият MIME тип „%2$S„ не е „text/css“.
+MimeNotCssWarn=Стиловият лист %1$S е зареден като CSS, въпреки че неговият MIME тип „%2$S„ не е „text/css“.
+
+PEDeclDropped=Декларацията е пренебрегната.
+PEDeclSkipped=Прескачане до следващата декларация.
+PEUnknownProperty=Свойството „%1$S“ е неизвестно.
+PEValueParsingError=Свойството „%1$S“ е с неразпозната стойност.
+PEUnknownAtRule=Неразпознато кльомба-правило или грешка при разпознаване на кльомба-правило „%1$S“.
+PEMQUnexpectedOperator=Неочакван оператор в списък с медии.
+PEMQUnexpectedToken=Неочакван символ „%1$S“ в списък с медии.
+PEAtNSUnexpected=Неочакван токен вътре в @namespace: „%1$S“.
+PEKeyframeBadName=Очакваше се идентификатор на име на правило @keyframes.
+PEBadSelectorRSIgnored=Наборът от правила е пренебрегнат поради лош селектор.
+PEBadSelectorKeyframeRuleIgnored=Пренебрегнато правило на @keyframes поради лош селектор.
+PESelectorGroupNoSelector=Очакваше се селектор.
+PESelectorGroupExtraCombinator=Висящ комбинатор.
+PEClassSelNotIdent=Очакваше се идентификатор за селектор на клас, но имаше „%1$S“.
+PETypeSelNotType=Очакваше се име на елемент или „*“, но имаше „%1$S“.
+PEUnknownNamespacePrefix=Неизвестна представка на пространство от имена „%1$S“.
+PEAttributeNameExpected=Очакваше се идентификатор за име на атрибут, но имаше „%1$S“.
+PEAttributeNameOrNamespaceExpected=Очакваше се име на атрибут или пространство от имена, но имаше „%1$S“.
+PEAttSelNoBar=Очакваше се „|“, но имаше „%1$S“.
+PEAttSelUnexpected=Неочаквана токен в селектор на атрибут: „%1$S“.
+PEAttSelBadValue=Очакваше се идентификатор или низ като стойност в селектор на атрибут, но имаше „%1$S“.
+PEPseudoSelBadName=Очакваше се идентификатор за псевдоклас или псевдоелемент, но имаше „%1$S“.
+PEPseudoSelEndOrUserActionPC=Очакваше се край на селектор или потребителски псевдоклас след псевдоелемент, но имаше „%1$S“.
+PEPseudoSelUnknown=Неизвестен псевдоклас или псевдоелемент „%1$S“.
+PEPseudoClassArgNotIdent=Очакваше се идентификатор за параметър на псевдоклас, но имаше „%1$S“.
+PEColorNotColor=Очакваше се цвят, но имаше „%1$S“.
+PEParseDeclarationDeclExpected=Очакваше се декларация, но имаше „%1$S“.
+PEUnknownFontDesc=Неизвестен дескриптор „%1$S“ в правило @font-face.
+PEMQExpectedFeatureName=Очакваше се име на възможност на медия, но имаше „%1$S“.
+PEMQNoMinMaxWithoutValue=Признаците на медия с min- или max- трябва да имат стойност.
+PEMQExpectedFeatureValue=Невалидна стойност за признак на медия.
+PEExpectedNoneOrURL=Очакваше се „none“ или URL, но бе намерено „%1$S“.
+PEExpectedNoneOrURLOrFilterFunction=Очакваше се „none“, URL или филтрираща функция, но имаше „%1$S“.
+
+TooLargeDashedRadius=Радиусът на рамката е твърде голям за „dashed“ (при ограничение от 100000px). Рамката ще се показва плътна.
+TooLargeDottedRadius=Радиусът на рамката е твърде голям за „dotted“ (при ограничение от 100000px). Рамката ще се показва плътна.
diff --git a/l10n-bg/dom/chrome/layout/htmlparser.properties b/l10n-bg/dom/chrome/layout/htmlparser.properties
new file mode 100644
index 0000000000..52ebb6d6c1
--- /dev/null
+++ b/l10n-bg/dom/chrome/layout/htmlparser.properties
@@ -0,0 +1,120 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Encoding warnings and errors
+EncNoDeclarationFrame=Не е обявено знаково кодиране на документ в рамка. Документът може да изглежда различен, ако се прегледа без рамкиращия го документ.
+EncMetaUnsupported=Обявено е неподдържано знаково кодиране на документа с HTML, чрез етикет meta. Обявяването е пренебрегнато.
+EncProtocolUnsupported=Обявено е неподдържано знаково кодиране на ниво пренасящ протокол. Обявяването е пренебрегнато.
+EncMetaUtf16=Етикет meta е използван за обявяване на знаково кодиране UTF-16. То е възприето като обявяване на UTF-8.
+EncMetaUserDefined=Използван е мета-етикет за обявяване на x-user-defined като кодиране на знаците. Вместо това е интерпретирано като обявяване на windows-1252 с цел съвместимост със съзнателно грешно кодирани наследени шрифтове. Този сайт трябва да мигрира към Уникод.
+
+# The bulk of the messages below are derived from
+# https://hg.mozilla.org/projects/htmlparser/file/1f633cef7de7/src/nu/validator/htmlparser/impl/ErrorReportingTokenizer.java
+# which is available under the MIT license.
+
+# Tokenizer errors
+errGarbageAfterLtSlash=Боклук след „</“.
+errLtSlashGt=Видяно „</>“. Вероятни причини: Неекраниран „<“ (екраниране като „&lt;“) или неправилно въведен завършващ етикет.
+errCharRefLacksSemicolon=Препратка към знак не е завършена с точка и запетая.
+errNoDigitsInNCR=Няма цифри в числова препратка към знак.
+errGtInSystemId=„>“ в системен идентификатор.
+errGtInPublicId=„>“ в публичен идентификатор.
+errNamelessDoctype=Безименен doctype.
+errConsecutiveHyphens=Последователни тирета не завършват коментар. „--“ не е позволено в коментар, но напр. “- -” е позволено.
+errPrematureEndOfComment=Преждевременен край на коментар. Използвайте „-->“ за правилно завършване на коментар.
+errBogusComment=Грешка в коментар.
+errUnquotedAttributeLt=„<“ е в неоградена с кавички стойност на атрибут. Вероятна причина: Липсващ знак „>“ непосредствено преди това.
+errUnquotedAttributeGrave=„`“ в неоградена с кавички стойност на атрибут. Вероятна причина: Сгрешен знак за кавичка.
+errUnquotedAttributeQuote=Кавичка в неоградена с кавички стойност на атрибут. Вероятна причина: Залепени атрибути или URL в неоградена с кавички стойност на атрибут.
+errUnquotedAttributeEquals=„=“ в неоградена с кавички стойност на атрибут. Вероятна причина: Залепени атрибути или URL в неоградена с кавички стойност на атрибут.
+errSlashNotFollowedByGt=Наклонена черта без последващ знак „>“.
+errNoSpaceBetweenAttributes=Няма интервал между атрибутите.
+errUnquotedAttributeStartLt=Знак „<“ в началото на неоградена с кавички стойност на атрибут. Вероятна причина: Липсващ знак „>“ непосредствено преди това.
+errUnquotedAttributeStartGrave=„`“ в началото на неоградена с кавички стойност на атрибут. Вероятна причина: Сгрешен знак за кавичка.
+errUnquotedAttributeStartEquals=„=“ в началото на неоградена с кавички стойност на атрибут. Вероятна причина: Случайно дублиран знак за равенство.
+errAttributeValueMissing=Пропусната стойност на атрибут.
+errBadCharBeforeAttributeNameLt=Знак „<“ вместо име на атрибут. Вероятна причина: Липсващ знак „>“ непосредствено преди това.
+errEqualsSignBeforeAttributeName=Знак „=“ вместо име на атрибут. Вероятна причина: Пропуснато име на атрибут.
+errBadCharAfterLt=Невалиден знак след „<“. Вероятна причина: Неекраниран знак „<“. Опитайте замяна с „&lt;“.
+errLtGt=Последователност „<>“. Вероятна причина: Неекраниран знак „<“ (заменете го с „&lt;“) или неправилно въведен начален етикет.
+errProcessingInstruction=Последователност „<?“. Вероятна причина: Опит за използване на обработващи инструкции на XML в HTML. (HTML не поддържа обработващите инструкции на XML.)
+errUnescapedAmpersandInterpretedAsCharacterReference=Низът след знака „&“ се интерпретира като указател на знак. („&“ вероятно е трябвало да бъде екраниран като „&amp;“.)
+errNotSemicolonTerminated=Именен указател на знак не е завършен с точка и запетая. (Или „&“ е трябвало да бъде екраниран с „&amp;“.)
+errNoNamedCharacterMatch=„&“ не е начало на указател на знак. („&“ вероятно е трябвало да бъде екранирано като „&amp;“.)
+errQuoteBeforeAttributeName=Кавичка вместо име на атрибут. Вероятна причина: Пропуснат знак „=“ непосредствено преди това.
+errLtInAttributeName=Знак „<“ в име на атрибут. Вероятна причина: Пропуснат знак „>“ непосредствено преди това.
+errQuoteInAttributeName=Кавичка в име на атрибут. Вероятна причина: Пропусната съответна отваряща кавичка някъде преди това.
+errExpectedPublicId=Очакван е публичен идентификатор вместо краят на doctype.
+errBogusDoctype=Грешен doctype.
+maybeErrAttributesOnEndTag=Завършващ етикет с атрибути.
+maybeErrSlashInEndTag=Висящ знак „/“ в края на завършващ етикет.
+errNcrNonCharacter=Указател на знак се разширява до нещо, различно от знак.
+errNcrSurrogate=Указател на знак се разширява до заместник.
+errNcrControlChar=Указател на знак се разширява до контролен знак.
+errNcrCr=Числов указател на знак се разширява до знак за връщане на каректата.
+errNcrInC1Range=Числов указател на знак се разширява до контролен знак от групата C1.
+errEofInPublicId=Достигнат край на файл вътре в публичен идентификатор.
+errEofInComment=Достигнат край на файл вътре в коментар.
+errEofInDoctype=Достигнат край на файл вътре в doctype.
+errEofInAttributeValue=Достигнат край на файл в стойността на атрибут. Пренебрегване на етикета.
+errEofInAttributeName=Достигнат край на файл в името на атрибут. Пренебрегване на етикета.
+errEofWithoutGt=Достигнат край на файл без предишния етикет да е завършил с „>“. Пренебрегване на етикета.
+errEofInTagName=Достигнат край на файл при търсене на името на етикет. Пренебрегване на етикета.
+errEofInEndTag=Достигнат край на файл в затварящия етикет. Пренебрегване на етикета.
+errEofAfterLt=Достигнат край на файл след знак „<“.
+errNcrOutOfRange=Указател на знак извън позволения обхват на Unicode.
+errNcrUnassigned=Указателят на знак се разширява до завинаги незададен код на знак.
+errDuplicateAttribute=Дублиран атрибут.
+errEofInSystemId=Достигнат край на файл вътре в системен идентификатор.
+errExpectedSystemId=Очакван е системен идентификатор вместо краят на doctype.
+errMissingSpaceBeforeDoctypeName=Липсващ интервал преди името на doctype.
+errNcrZero=Указател на знак се разширява до нула.
+errNoSpaceBetweenDoctypeSystemKeywordAndQuote=Няма интервал между ключовата дума „SYSTEM“ и кавичката.
+errNoSpaceBetweenPublicAndSystemIds=Няма интервал между публичния и системния идентификатори на doctype.
+errNoSpaceBetweenDoctypePublicKeywordAndQuote=Няма интервал между ключовата дума „PUBLIC“ и кавичката.
+
+# Tree builder errors
+errStrayStartTag2=Висящ отварящ етикет „%1$S“.
+errStrayEndTag=Висящ затварящ етикет „%1$S“.
+errUnclosedElements=Затварящ етикет „%1$S“ без да има отварящ елемент.
+errUnclosedElementsImplied=Завършващият етикет „%1$S“ се подразбира, но имаше отворени елементи.
+errUnclosedElementsCell=Клетка от таблица е затворена по подразбиране, но имаше отворени елементи.
+errStrayDoctype=Висящ doctype.
+errAlmostStandardsDoctype=Almost standards режим за doctype. Очакван е „<!DOCTYPE html>“.
+errQuirkyDoctype=Quirky режим за doctype. Очакван е „<!DOCTYPE html>“.
+errNonSpaceInTrailer=Непразен знак след края на страницата.
+errNonSpaceAfterFrameset=Непразен знак след „frameset“.
+errNonSpaceInFrameset=Непразен знак във „frameset“.
+errNonSpaceAfterBody=Непразен знак след тялото.
+errNonSpaceInColgroupInFragment=Непразен знак в „colgroup“ при разпознаване на фрагмент.
+errNonSpaceInNoscriptInHead=Непразен знак в „noscript“ вътре в „head“.
+errFooBetweenHeadAndBody=Елемент „%1$S“ между „head“ и „body“.
+errStartTagWithoutDoctype=Отварящ етикет без първо да има doctype. Очакван е „<!DOCTYPE html>“.
+errNoSelectInTableScope=Не може да има „select“ пряко под „table“.
+errStartSelectWhereEndSelectExpected=Отварящ етикет „select“ при очакван затварящ.
+errStartTagWithSelectOpen=Отварящ етикет „%1$S“ при отворен елемент „select“.
+errImage=Отварящ етикет „image“.
+errHeadingWhenHeadingOpen=Заглавие не може да бъде вътре в друго заглавие.
+errFramesetStart=Отварящ етикет „frameset“.
+errNoCellToClose=Няма клетка за затваряне.
+errStartTagInTable=Отварящ етикет „%1$S“ пряко под „table“.
+errFormWhenFormOpen=Отварящ етикет „form“, но вече има друг отворен елемент „form“. Не са позволени вложени формуляри. Пренебрегване на етикета.
+errTableSeenWhileTableOpen=Отварящ етикет „table“, но вече има отворен елемент „table“.
+errStartTagInTableBody=Отварящ етикет „%1$S“ в тялото на таблица.
+errEndTagSeenWithoutDoctype=Завършващ етикет без преди това да има doctype. Очакван е „<!DOCTYPE html>“.
+errEndTagAfterBody=Затварящ етикет след като елемента „body“ е затворен.
+errEndTagSeenWithSelectOpen=Затварящ етикет „%1$S“ вътре в отворен елемент „select“.
+errGarbageInColgroup=Боклук във фрагмент на „colgroup“.
+errEndTagBr=Завършващ етикет „br“.
+errNoElementToCloseButEndTagSeen=Няма елемент „%1$S“, но има завършващ етикет „%1$S“.
+errHtmlStartTagInForeignContext=Отварящ етикет на HTML „%1$S“ в контекста на чуждо пространство от имена.
+errNoTableRowToClose=Няма ред от таблица за затваряне.
+errNonSpaceInTable=Неправилно сложен непразен знак вътре в таблица.
+errUnclosedChildrenInRuby=Незатворени етикети в „ruby“.
+errStartTagSeenWithoutRuby=Затварящ етикет „%1$S“ без да е отворен елемент „ruby“.
+errSelfClosing=Използван е синтаксиса за самозатварящи се елементи („/>“) на непразен елемент от HTML. Пренебрегване на наклонената черта и продължаване все едно е бил отварящ елемент.
+errNoCheckUnclosedElementsOnStack=Натрупани незатворени елементи.
+errEndTagDidNotMatchCurrentOpenElement=Затварящ етикет „%1$S“ без да съвпада с името на текущия отворен елемент („%2$S“).
+errEndTagViolatesNestingRules=Затварящ етикет „%1$S“, нарушаващ правилата на влагане.
+errEndWithUnclosedElements=Срещнат е затварящ етикет „%1$S“, но все още има незатворени елементи.
diff --git a/l10n-bg/dom/chrome/layout/layout_errors.properties b/l10n-bg/dom/chrome/layout/layout_errors.properties
new file mode 100644
index 0000000000..fa967ff288
--- /dev/null
+++ b/l10n-bg/dom/chrome/layout/layout_errors.properties
@@ -0,0 +1,35 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+ImageMapRectBoundsError=Атрибутът „coords“ на етикета <area shape="rect"> не е във формата „ляво,горе,дясно,долу“.
+ImageMapCircleWrongNumberOfCoords=Атрибутът „coords“ на етикета <area shape="circle"> не е във формата „център-x,център-y,радиус“.
+ImageMapCircleNegativeRadius=Атрибутът „coords“ на етикета <area shape="circle"> има отрицателен радиус.
+ImageMapPolyWrongNumberOfCoords=Атрибутът „coords“ на етикета <area shape="poly"> не е във формата „x1,y1,x2,y2…“.
+ImageMapPolyOddNumberOfCoords=Атрибутът „coords“ на етикета <area shape="poly"> има липсваща координата „y“ (правилният формат е „x1,y1,x2,y2…“).
+
+## LOCALIZATION NOTE(CompositorAnimationWarningContentTooLargeArea):
+## %1$S is an integer value of the area of the frame
+## %2$S is an integer value of the area of a limit based on the viewport size
+CompositorAnimationWarningContentTooLargeArea=Анимация не може да бъде изпълнена в композитора, защото размерът на рамката (%1$S) е по-голям съотнесено към видимата част на екрана (по-голям от %2$S)
+## LOCALIZATION NOTE(CompositorAnimationWarningContentTooLarge2):
+## (%1$S, %2$S) is a pair of integer values of the frame size
+## (%3$S, %4$S) is a pair of integer values of a limit based on the viewport size
+## (%5$S, %6$S) is a pair of integer values of an absolute limit
+CompositorAnimationWarningContentTooLarge2=Анимацията не може да бъде пусната в сглобяването, защото размерът на рамката (%1$S, %2$S) е по-голям съотнесено към видимата част на екрана (по-голям от (%3$S, %4$S)) или по голям от максималната допустима стойност (%5$S, %6$S)
+## LOCALIZATION NOTE(CompositorAnimationWarningTransformBackfaceVisibilityHidden):
+## 'backface-visibility: hidden' is a CSS property, don't translate it.
+CompositorAnimationWarningTransformBackfaceVisibilityHidden=Анимациите на трансформациите „backface-visibility: hidden“ не могат да бъдат пуснати в сглобяването
+## LOCALIZATION NOTE(CompositorAnimationWarningTransformSVG,
+## CompositorAnimationWarningTransformWithGeometricProperties,
+## CompositorAnimationWarningTransformWithSyncGeometricAnimations,
+## CompositorAnimationWarningTransformFrameInactive,
+## CompositorAnimationWarningOpacityFrameInactive):
+## 'transform' and 'opacity' mean CSS property names, don't translate it.
+CompositorAnimationWarningTransformSVG=Анимациите на „transform“ върху елементи с трансофрмация в SVG не могат да бъдат пуснати в сглобяването
+CompositorAnimationWarningTransformWithGeometricProperties=Анимациите на „transform“ не могат да бъдат пуснати в сглобяването, когато геометричните свойства на същия елемент са анимирани в същия момент от време
+CompositorAnimationWarningTransformWithSyncGeometricAnimations=Анимациите на „transform“ не могат да бъдат пуснати в сглобяването, защото трябва да бъдат в синхрон с анимиране на геометричните свойства на същия елемент в същия момент от време
+CompositorAnimationWarningTransformFrameInactive=Анимацията не може да бъде пусната в сглобяването, защото рамката не е отбелязана като активна за анимация на „transform“
+CompositorAnimationWarningOpacityFrameInactive=Анимацията не може да бъде пусната в сглобяването, защото рамката не е отбелязана като активна за анимация на „opacity“
+CompositorAnimationWarningHasRenderingObserver=Анимацията не може да бъде пусната в сглобяването, защото елементът има слушатели за изчертаване (-moz-element или SVG clipping/masking)
+
diff --git a/l10n-bg/dom/chrome/layout/printing.properties b/l10n-bg/dom/chrome/layout/printing.properties
new file mode 100644
index 0000000000..ef4c7c11a6
--- /dev/null
+++ b/l10n-bg/dom/chrome/layout/printing.properties
@@ -0,0 +1,56 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Page number formatting
+## @page_number The current page number
+#LOCALIZATION NOTE (pageofpages): Do not translate %ld in the following line.
+# Place the word %ld where the page number and number of pages should be
+# The first %ld will receive the the page number
+pagenumber=%1$d
+
+# Page number formatting
+## @page_number The current page number
+## @page_total The total number of pages
+#LOCALIZATION NOTE (pageofpages): Do not translate %ld in the following line.
+# Place the word %ld where the page number and number of pages should be
+# The first %ld will receive the the page number
+# the second %ld will receive the total number of pages
+pageofpages=%1$d от %2$d
+
+PrintToFile=Отпечатване във файл
+print_error_dialog_title=Грешка при отпечатване
+printpreview_error_dialog_title=Грешка при предварителен преглед на отпечатване
+
+# Printing error messages.
+#LOCALIZATION NOTE: Some of these messages come in pairs, one
+# for printing and one for print previewing. You can remove that
+# distinction in your language by removing the entity with the _PP
+# suffix; then the entity without a suffix will be used for both.
+# You can also add that distinction to any of the messages that don't
+# already have it by adding a new entity with a _PP suffix.
+#
+# For instance, if you delete PERR_GFX_PRINTER_DOC_IS_BUSY_PP, then
+# the PERR_GFX_PRINTER_DOC_IS_BUSY message will be used for that error
+# condition when print previewing as well as when printing. If you
+# add PERR_FAILURE_PP, then PERR_FAILURE will only be used when
+# printing, and PERR_FAILURE_PP will be used under the same conditions
+# when print previewing.
+#
+PERR_FAILURE=Неизвестна грешка при отпечатване.
+
+PERR_ABORT=Задачата за отпечатване е прекъсната или отменена.
+PERR_NOT_AVAILABLE=Част от функциите за отпечатване са временно недостъпни.
+PERR_NOT_IMPLEMENTED=Част от функционалността за отпечатване не е още реализирана.
+PERR_OUT_OF_MEMORY=Няма достатъчно свободна памет, необходима за отпечатване.
+PERR_UNEXPECTED=Неочакван проблем при отпечатване.
+
+PERR_GFX_PRINTER_NO_PRINTER_AVAILABLE=Няма принтери.
+PERR_GFX_PRINTER_NO_PRINTER_AVAILABLE_PP=Няма достъпни принтери и прегледът не може да бъде показан.
+PERR_GFX_PRINTER_NAME_NOT_FOUND=Избраният принтер не може да бъде намерен.
+PERR_GFX_PRINTER_COULD_NOT_OPEN_FILE=Файлът в който трябва да бъде отпечатан документа не може да бъде отворен.
+PERR_GFX_PRINTER_STARTDOC=Грешка при започване обработката на страница за отпечатване.
+PERR_GFX_PRINTER_ENDDOC=Грешка при завършване на обработката на страница за отпечатване.
+PERR_GFX_PRINTER_STARTPAGE=Грешка при започване обработката на страница за отпечатване.
+PERR_GFX_PRINTER_DOC_IS_BUSY=Този документ не може да бъде отпечатан, все още се зарежда.
+PERR_GFX_PRINTER_DOC_IS_BUSY_PP=Прегледът не може да бъде показан, документът все още се зарежда.
diff --git a/l10n-bg/dom/chrome/layout/xmlparser.properties b/l10n-bg/dom/chrome/layout/xmlparser.properties
new file mode 100644
index 0000000000..63f35ccc5d
--- /dev/null
+++ b/l10n-bg/dom/chrome/layout/xmlparser.properties
@@ -0,0 +1,48 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Map Expat error codes to error strings
+1 = недостатъчно памет
+2 = синтактична грешка
+3 = не е намерен коренов елемент
+4 = недобре конструиран
+5 = незатворен токен
+6 = частичен знак
+7 = несъвпадащ етикет
+8 = дублиран атрибут
+9 = боклук след елемента на документа
+10 = невалидна препратка към параметрично ентити
+11 = неопределено ентити
+12 = рекурсивна препратка към ентити
+13 = асинхронно ентити
+14 = използване на невалиден номер на знак
+15 = препратка към двоично ентити
+16 = препратка към външно ентити в атрибут
+17 = няма XML или текстова декларация в началото на ентити
+18 = неизвестно кодиране на знаци
+19 = кодирането на знаци в декларацията на XML е неправилно
+20 = незатворен раздел CDATA
+21 = грешка при обработка на препратка към външно ентити
+22 = документът не е самостоятелен
+23 = неочаквано състояние на синтактичния анализ
+24 = деклариране на ентити в параметрично ентити
+27 = представката не е свързана с пространство от имена
+28 = не трябва да се маха декларация на представка
+29 = незавършена маркировка на параметрично ентити
+30 = декларацията на XML е недобре конструирана
+31 = текстовата декларация е недобре конструирана
+32 = невалидни знаци в публичен идентификатор
+38 = резервираната представка (xml) не трябва да се маха или свързва с друго пространство от имена
+39 = резервирана представка (xmlns) не трябва да се маха или да се декларира
+40 = представката трябва да е свързана с едно от резервираните имена на пространства от имена
+
+# %1$S is replaced by the Expat error string, may be followed by Expected (see below)
+# %2$S is replaced by URL
+# %3$u is replaced by line number
+# %4$u is replaced by column number
+XMLParsingError = Грешка при разпознаване на XML: %1$S\nМясто: %2$S\nРед %3$u, колона %4$u:
+
+# %S is replaced by a tag name.
+# This gets appended to the error string if the error is mismatched tag.
+Expected = . Очакваше се: </%S>.
diff --git a/l10n-bg/dom/chrome/layout/xul.properties b/l10n-bg/dom/chrome/layout/xul.properties
new file mode 100644
index 0000000000..c2561f41f8
--- /dev/null
+++ b/l10n-bg/dom/chrome/layout/xul.properties
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+PINotInProlog=Инструкцията за обработка <?%1$S?> вече няма никакво действие извън пролога (вижте бъг 360119).
diff --git a/l10n-bg/dom/chrome/mathml/mathml.properties b/l10n-bg/dom/chrome/mathml/mathml.properties
new file mode 100644
index 0000000000..f9e57340c5
--- /dev/null
+++ b/l10n-bg/dom/chrome/mathml/mathml.properties
@@ -0,0 +1,15 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+InvalidChild=Невалидно маркиране: Не е позволено <%1$S> да е наследник на <%2$S>.
+ChildCountIncorrect=Невалидно маркиране: Неправилен брой наследници на елемента <%1$S/>.
+DuplicateMprescripts=Невалидно маркиране: Повече от един <mprescripts/> в <mmultiscripts/>.
+# LOCALIZATION NOTE: The first child of <mmultiscript/> is the base, that is the element to which scripts are attached.
+NoBase=Невалидно маркиране: Очакваше се точно един елемент Base в <mmultiscripts/>. Нямаше никакви елементи.
+SubSupMismatch=Невалидно маркиране: Незавършена двойка subscript/superscript в <mmultiscripts/>.
+
+# LOCALIZATION NOTE: When localizing the single quotes ('), follow the conventions in css.properties for your target locale.
+AttributeParsingError=Грешка при разпознаването на стойността „%1$S“ за атрибута „%2$S“ на <%3$S/>. Атрибутът е пренебрегнат.
+AttributeParsingErrorNoTag=Грешка при разпознаването на стойността „%1$S“ за атрибута „%2$S“. Атрибутът е пренебрегнат.
+LengthParsingError=Стойността на атрибута на MathML „%1$S“ е неразпозната като дължина. Атрибутът е пренебрегнат.
diff --git a/l10n-bg/dom/chrome/nsWebBrowserPersist.properties b/l10n-bg/dom/chrome/nsWebBrowserPersist.properties
new file mode 100644
index 0000000000..649dfff052
--- /dev/null
+++ b/l10n-bg/dom/chrome/nsWebBrowserPersist.properties
@@ -0,0 +1,17 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+readError=%S не може да бъде записан, понеже изходният файл не може да бъде прочетен.\n\nОпитайте отново по-късно или се свържете с администратора на сървъра.
+writeError=%S не може да бъде запазен поради неизвестна причина.\n\nОпитайте запис на друго място.
+launchError=%S не може да бъде записан поради неизвестна причина.\n\nОпитайте първо да запишете файла на диск и след това да го отворите.
+diskFull=Няма достатъчно дисково пространство за запазване на %S.\n\nПремахнете ненужни файлове от диска и опитайте отново или запазете файла на друго място.
+readOnly=%S не може да бъде запазен, понеже дискът, папката или файлът е защитен от запис.\n\nРазрешете записа и опитайте отново или запазете файла на друго място.
+accessError=%S не може да бъде запазен, понеже не може да промените съдържанието на тази папка.\n\nПроменете свойствата на папката и опитайте отново или опитайте да запазите на място.
+SDAccessErrorCardReadOnly=Файлът не може да се изтегли, защото SD картата се използва в момента.
+SDAccessErrorCardMissing=Файлът не може да се изтегли, защото SD картата липсва.
+helperAppNotFound=%S не може да бъде отворен, понеже свързаното помощно приложение не съществува. Променете свързването от настройките.
+noMemory=Няма достатъчно памет, за да се довърши заявеното действие.\n\nЗатворете другите приложения и опитайте отново.
+title=Изтегляне на %S
+fileAlreadyExistsError=%S не може да бъде запазен, понеже вече съществува файл със същото име като директорията „_files“.\n\nОпитайте запис на друго място.
+fileNameTooLongError=%S не може да бъде запазен, понеже името на файла е твърде дълго.\n\nОпитайте с по-кратко име.
diff --git a/l10n-bg/dom/chrome/security/caps.properties b/l10n-bg/dom/chrome/security/caps.properties
new file mode 100644
index 0000000000..3929e9c77e
--- /dev/null
+++ b/l10n-bg/dom/chrome/security/caps.properties
@@ -0,0 +1,9 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+CheckLoadURIError = Грешка в сигурността: Съдържанието от %S не може да бъде зареждано или свързано от %S.
+CheckSameOriginError = Грешка в сигурността: Съдържанието от %S не трябва да зарежда данни от %S.
+ExternalDataError = Security Error: Content at %S attempted to load %S, but may not load external data when being used as an image.\u00A0
+
+CreateWrapperDenied = Отказано е позволение за създаване на опаковка на обект от клас %S
+CreateWrapperDeniedForOrigin = Забранено е на <%2$S> да създава опаковка на обект от клас %1$S
diff --git a/l10n-bg/dom/chrome/security/csp.properties b/l10n-bg/dom/chrome/security/csp.properties
new file mode 100644
index 0000000000..54e05d8909
--- /dev/null
+++ b/l10n-bg/dom/chrome/security/csp.properties
@@ -0,0 +1,99 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# CSP Warnings:
+# LOCALIZATION NOTE (CSPViolation):
+# %1$S is the reason why the resource has not been loaded.
+CSPViolation = Настройките на страницата предотвратяват зареждането на ресурса: %1$S
+# LOCALIZATION NOTE (CSPViolationWithURI):
+# %1$S is the directive that has been violated.
+# %2$S is the URI of the resource which violated the directive.
+CSPViolationWithURI = Настройките на страницата предотвратяват зареждането на ресурса %2$S („%1$S“).
+# LOCALIZATION NOTE (CSPROViolation):
+# %1$S is the reason why the resource has not been loaded.
+CSPROViolation = Нарушение на докладваща политика на CSP („%1$S“). Поведението беше позволени и беше изпратен CSP доклад.
+# LOCALIZATION NOTE (CSPROViolationWithURI):
+# %1$S is the directive that has been violated.
+# %2$S is the URI of the resource which violated the directive.
+CSPROViolationWithURI = Настройките на страницата прихванаха зареждане на ресурс %2$S („%1$S“). Изпратен е CSP доклад.
+# LOCALIZATION NOTE (triedToSendReport):
+# %1$S is the URI we attempted to send a report to.
+triedToSendReport = Опит за пращане на доклад до невалиден URI: „%1$S“
+# LOCALIZATION NOTE (couldNotParseReportURI):
+# %1$S is the report URI that could not be parsed
+couldNotParseReportURI = не можа да се разпознае URI на доклад: %1$S
+# LOCALIZATION NOTE (couldNotProcessUnknownDirective):
+# %1$S is the unknown directive
+couldNotProcessUnknownDirective = Неизвестната директива „%1$S“ не може да бъде обработена
+# LOCALIZATION NOTE (ignoringUnknownOption):
+# %1$S is the option that could not be understood
+ignoringUnknownOption = Пренебрегване на неизвестната настройка %1$S
+# LOCALIZATION NOTE (ignoringDuplicateSrc):
+# %1$S defines the duplicate src
+ignoringDuplicateSrc = Пренебрегване на потварящ се източник %1$S
+# LOCALIZATION NOTE (ignoringSrcFromMetaCSP):
+# %1$S defines the ignored src
+ignoringSrcFromMetaCSP = Пренебрегване на източник „%1$S“ (Не се поддържа при доставяне чрез мета елемент).
+# LOCALIZATION NOTE (ignoringStrictDynamic):
+# %1$S is the ignored src
+ignoringStrictDynamic = Пренебрегване на изходния адрес „%1$S“ (Поддържан само в script-src).
+# LOCALIZATION NOTE (strictDynamicButNoHashOrNonce):
+# %1$S is the csp directive that contains 'strict-dynamic'
+# 'strict-dynamic' should not be localized
+strictDynamicButNoHashOrNonce = Ключовата дума 'strict-dynamic' в „%1$S“ без валиден ноунс или хеш може да попречи на зареждането на всички скриптове.
+# LOCALIZATION NOTE (reportURInotHttpsOrHttp2):
+# %1$S is the ETLD of the report URI that is not HTTP or HTTPS
+reportURInotHttpsOrHttp2 = Адресът за доклади (%1$S) трябва да е от вид HTTP или HTTPS.
+# LOCALIZATION NOTE (reportURInotInReportOnlyHeader):
+# %1$S is the ETLD of the page with the policy
+reportURInotInReportOnlyHeader = Сайтът (%1$S) има политика Report-Only без report URI. CSP няма да блокира и няма да докладва нарушения на тази политика.
+# LOCALIZATION NOTE (failedToParseUnrecognizedSource):
+# %1$S is the CSP Source that could not be parsed
+failedToParseUnrecognizedSource = Грешка при разпознаване на неизвестен източник %1$S
+# LOCALIZATION NOTE (upgradeInsecureRequest):
+# %1$S is the URL of the upgraded request; %2$S is the upgraded scheme.
+upgradeInsecureRequest = Надграждане до „%2$S“ на несигурната заявка „%1$S“
+# LOCALIZATION NOTE (ignoreSrcForDirective):
+ignoreSrcForDirective = Пренебрегване на srcs за директивата „%1$S“
+# LOCALIZATION NOTE (hostNameMightBeKeyword):
+# %1$S is the hostname in question and %2$S is the keyword
+hostNameMightBeKeyword = Тълкуване на %1$S като име на хост, а не като ключова дума. Ако сте имали предвид да е ключова дума, използвайте „%2$S“ (оградено в единични кавички).
+# LOCALIZATION NOTE (notSupportingDirective):
+# directive is not supported (e.g. 'reflected-xss')
+notSupportingDirective = Не се поддържа директива „%1$S“. Директивата и стойностите ще бъдат игнорирани.
+# LOCALIZATION NOTE (blockAllMixedContent):
+# %1$S is the URL of the blocked resource load.
+blockAllMixedContent = Блокиране на несигурна заявка „%1$S“.
+# LOCALIZATION NOTE (ignoringDirectiveWithNoValues):
+# %1$S is the name of a CSP directive that requires additional values
+ignoringDirectiveWithNoValues = Пренебрегване на „%1$S“, тъй като не съдържа параметри.
+# LOCALIZATION NOTE (ignoringReportOnlyDirective):
+# %1$S is the directive that is ignored in report-only mode.
+ignoringReportOnlyDirective = Пренебрегване на директива от виртуалната среда, когато е получена в режим „%1$S“, който е само за доклади
+# LOCALIZATION NOTE (IgnoringSrcBecauseOfDirective):
+# %1$S is the name of the src that is ignored.
+# %2$S is the name of the directive that causes the src to be ignored.
+IgnoringSrcBecauseOfDirective=Пренебрегване на „%1$S“ заради директивата „%2$S“.
+# LOCALIZATION NOTE (IgnoringSourceWithinDirective):
+# %1$S is the ignored src
+# %2$S is the directive which supports src
+
+
+# CSP Errors:
+# LOCALIZATION NOTE (couldntParseInvalidSource):
+# %1$S is the source that could not be parsed
+couldntParseInvalidSource = Не може да се разпознае невалиден източник %1$S
+# LOCALIZATION NOTE (couldntParseInvalidHost):
+# %1$S is the host that's invalid
+couldntParseInvalidHost = Не може да се разпознае невалиден хост %1$S
+# LOCALIZATION NOTE (couldntParsePort):
+# %1$S is the string source
+couldntParsePort = Не може да се разпознае невалиден порт %1$S
+# LOCALIZATION NOTE (duplicateDirective):
+# %1$S is the name of the duplicate directive
+duplicateDirective = Засечено е дублиране на директивата %1$S. Само първият екземпляр ще бъде изпълнен.
+# LOCALIZATION NOTE (couldntParseInvalidSandboxFlag):
+# %1$S is the option that could not be understood
+couldntParseInvalidSandboxFlag = Грешният флаг „%1$S“ на виртуалната среда не може да бъде разпознат
+
diff --git a/l10n-bg/dom/chrome/security/security.properties b/l10n-bg/dom/chrome/security/security.properties
new file mode 100644
index 0000000000..f1e39e05c2
--- /dev/null
+++ b/l10n-bg/dom/chrome/security/security.properties
@@ -0,0 +1,71 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Mixed Content Blocker
+# LOCALIZATION NOTE: "%1$S" is the URI of the blocked mixed content resource
+BlockMixedDisplayContent = Ограничено е зареждането на смесено съдържание „%1$S“
+BlockMixedActiveContent = Блокирано е зареждането на смесено активно съдържание „%1$S“
+
+# CORS
+# LOCALIZATION NOTE: Do not translate "Access-Control-Allow-Origin", Access-Control-Allow-Credentials, Access-Control-Allow-Methods, Access-Control-Allow-Headers
+CORSDisabled=Спиране на заявка извън източника: Политиката за единен източник не позволява прочитането на отдалечения ресурс %1$S. (Причина: CORS е изключен.)
+CORSOriginHeaderNotAdded=Спиране на заявка извън източника: Политиката за единен източник не позволява прочитането на отдалечения ресурс %1$S. (Причина: заглавката „Origin“ на CORS не може да бъде добавена.)
+CORSExternalRedirectNotAllowed=Спиране на заявка извън източника: Политиката за единен източник не позволява прочитането на отдалечения ресурс %1$S. (Причина: заявката на CORS за външно пренасочване е неразрешена.)
+CORSRequestNotHttp=Спиране на заявка извън източника: Политиката за единен източник не позволява прочитането на отдалечения ресурс %1$S. (Причина: заявката за CORS не е http.)
+CORSMultipleAllowOriginNotAllowed=Спиране на заявка извън източника: Политиката за единен източник не позволява прочитането на отдалечения ресурс %1$S. (Причина: множество заглавки на CORS „Access-Control-Allow-Origin“ са неразрешени.)
+CORSAllowOriginNotMatchingOrigin=Спиране на заявка извън източника: Политиката за единен източник не позволява прочитането на отдалечения ресурс %1$S. (Причина: заглавката на CORS „Access-Control-Allow-Origin“ не съвпада с „%2$S“.)
+CORSNotSupportingCredentials=Спиране на заявка извън източника: Политиката за единен източник не позволява прочитането на отдалечения ресурс „%1$S“. (Причина: Credential не се поддържа ако заглавката на CORS „Access-Control-Allow-Origin“ не съвпада с „*“.)
+CORSMethodNotFound=Спиране на заявка извън източника: Политиката за единен източник не позволява прочитането на отдалечения ресурс %1$S. (Причина: Не е намерен метод в заглавката на CORS „Access-Control-Allow-Methods“.)
+CORSMissingAllowCredentials=Спиране на заявка извън източника: Политиката за единен източник не позволява прочитането на отдалечения ресурс %1$S. (Причина: очаквано „true“ в заглавката на CORS „Access-Control-Allow-Credentials“).
+CORSInvalidAllowMethod=Блокирана заявка извън източника: Политиката за единен източник забранява прочитането на отдалечения ресурс „%1$S“. (Причина: невалиден токен „%2$S“ в заглавката на CORS „Access-Control-Allow-Methods“).
+CORSInvalidAllowHeader=Блокирана заявка извън източника: Политиката за единен източник забранява прочитането на отдалечения ресурс „%1$S“. (Причина: невалиден токен „%2$S“ в заглавката на CORS „Access-Control-Allow-Headers“).
+
+# LOCALIZATION NOTE: Do not translate "Strict-Transport-Security", "HSTS", "max-age" or "includeSubDomains"
+STSUnknownError=Strict-Transport-Security: Получи се неизвестна грешка при обработката на заглавките, зададени от сайта.
+STSCouldNotParseHeader=Strict-Transport-Security: Сайтът подаде заглавка, която не може да бъде успешно разпозната.
+STSNoMaxAge=Strict-Transport-Security: Сайтът подаде заглавка, която не съдържа директива „max-age“.
+STSMultipleMaxAges=Strict-Transport-Security: Сайтът подаде заглавка, която съдържа няколко директиви „max-age“.
+STSInvalidMaxAge=Strict-Transport-Security: Сайтът подаде заглавка, която съдържа невалидна директива „max-age“.
+STSMultipleIncludeSubdomains=Strict-Transport-Security: Сайтът подаде заглавка, която съдържа няколко директиви „includeSubDomains“.
+STSInvalidIncludeSubdomains=Strict-Transport-Security: Сайтът подаде заглавка, която съдържа невалидна директива „includeSubDomains“.
+STSCouldNotSaveState=Strict-Transport-Security: Грешка при отбелязване на сайта като хост на Strict-Transport-Security.
+
+InsecurePasswordsPresentOnPage=Има поле за парола в несигурна (http://) страница. Това е риск за безопасността, който позволява данните за вписване да бъдат откраднати.
+InsecureFormActionPasswordsPresent=Има поле за парола във формуляр на несигурна (http://) страница. Това е риск за безопасността, който позволява данните за вписване да бъдат откраднати.
+InsecurePasswordsPresentOnIframe=Има поле за парола в несигурна (http://) вложена рамка. Това е риск за безопасността, който позволява данните за вписване да бъдат откраднати.
+# LOCALIZATION NOTE: "%1$S" is the URI of the insecure mixed content resource
+LoadingMixedActiveContent2=Зареждане на смесено (незащитено) активно съдържание „%1$S“ в защитена страница
+LoadingMixedDisplayContent2=Зареждане на смесено (незащитено) визуално съдържание „%1$S“ в защитена страница
+
+# LOCALIZATION NOTE: Do not translate "allow-scripts", "allow-same-origin", "sandbox" or "iframe"
+BothAllowScriptsAndSameOriginPresent=Вложена рамка, имаща едновременно allow-scripts и allow-same-origin в атрибутите на пясъчника си, може да премахне ограниченията на собствения си пясъчник.
+
+# Sub-Resource Integrity
+# LOCALIZATION NOTE: Do not translate "script" or "integrity". "%1$S" is the invalid token found in the attribute.
+MalformedIntegrityHash=Елементът script има недобре оформен хеш в атрибута integrity: „%1$S“. Правилният формат е „<алгоритъм на хеш>-<стойност на хеш>“.
+# LOCALIZATION NOTE: Do not translate "integrity"
+InvalidIntegrityLength=Хешът в атрибута integrity има неправилна дължина.
+# LOCALIZATION NOTE: Do not translate "integrity"
+InvalidIntegrityBase64=Хешът в атрибута integrity не може да бъде декодиран.
+# LOCALIZATION NOTE: "%1$S" is the URI of the sub-resource that cannot be protected using SRI.
+IneligibleResource=„%1$S“ не е под проверка за интегритет, защото нито е в CORS, нито в same-origin.
+# LOCALIZATION NOTE: Do not translate "integrity". "%1$S" is the invalid hash algorithm found in the attribute.
+UnsupportedHashAlg=Неподдържан алгоритъм на хеш в атрибута integrity: „%1$S“
+# LOCALIZATION NOTE: Do not translate "integrity"
+NoValidMetadata=Атрибутът integrity не съдържа валидни мета-данни.
+
+# LOCALIZATION NOTE: Do not translate "RC4".
+WeakCipherSuiteWarning=Тази страница използва за шифроване шифърът RC4, който е изведен от употреба и несигурен.
+
+# LOCALIZATION NOTE: Do not translate "X-Content-Type-Options" and also do not trasnlate "nosniff".
+XCTOHeaderValueMissing=Предупреждение за заглавката X-Content-Type-Options: стойността беше „%1$S“. Нямахте ли предвид да изпратите „nosniff“?
+
+# LOCALIZATION NOTE: Do not translate "data: URI".
+BlockTopLevelDataURINavigation=Отваряне на адрес започващ с data: URI е забранено (блокирано е зареждането на: „%1$S“)
+
+# LOCALIZATION NOTE (RunningClearSiteDataValue):
+# %S is the URI of the resource whose data was cleaned up
+RunningClearSiteDataValue=Заглавката Clear-Site-Data изисква изчистване на данните на „%S“.
+UnknownClearSiteDataValue=Намерена е заглавка Clear-Site-Data. Непозната стойност „%S“.
+
diff --git a/l10n-bg/dom/chrome/svg/svg.properties b/l10n-bg/dom/chrome/svg/svg.properties
new file mode 100644
index 0000000000..d34b48fd27
--- /dev/null
+++ b/l10n-bg/dom/chrome/svg/svg.properties
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+AttributeParseWarning=Неочаквана стойност %2$S при разбор на атрибута %1$S.
diff --git a/l10n-bg/dom/chrome/xslt/xslt.properties b/l10n-bg/dom/chrome/xslt/xslt.properties
new file mode 100644
index 0000000000..4f27b318d2
--- /dev/null
+++ b/l10n-bg/dom/chrome/xslt/xslt.properties
@@ -0,0 +1,39 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+1 = Неуспешно разпознаване на стилов лист XSLT.
+2 = Неуспешно разпознаване на израз на XPath.
+3 =
+4 = Неуспешна трансформация чрез XSLT.
+5 = Невалидна функция на XSLT/XPath.
+6 = Стиловият лист XSLT (вероятно) съдържа рекурсия.
+7 = Невалидна стойност на атрибут в XSLT 1.0.
+8 = Очакваше се израз на XPath да върне NodeSet.
+9 = Трансформация на XSLT беше прекъсната от <xsl:message>.
+10 = Мрежова грешка при зареждане на стилов лист XSLT:
+11 = Стилов лист на XSLT няма XML mimetype:
+12 = Стилов лист XSLT пряко или косвено внася или включва себе си:
+13 = Функция на XPath е извикана с неправилен брой аргументи.
+14 = Извикана е неизвестна разширена функция на XPath.
+15 = Неуспешно разпознаване на XPath: очакваше се „)“:
+16 = Неуспешно разпознаване на XPath: невалидна ос:
+17 = Неуспешно разпознаване на XPath: очакваше се тест Name или Nodetype:
+18 = Неуспешно разпознаване на XPath: очакваше се „]“:
+19 = Неуспешно разпознаване на XPath: невалидно име на променлива:
+20 = Неуспешно разпознаване на XPath: неочакван край на израз:
+21 = Неуспешно разпознаване на XPath: очакваше се оператор:
+22 = Неуспешно разпознаване на XPath: незатворен литерал:
+23 = Неуспешно разпознаване на XPath: очакваше се „:“:
+24 = Неуспешно разпознаване на XPath: неочакван знак „!“, отрицанието е чрез not():
+25 = Неуспешно разпознаване на XPath: невалиден знак:
+26 = Неуспешно разпознаване на XPath: очакваше се двоичен оператор:
+27 = Зареждането на стилов лист XSLT е блокирано от съображения за сигурност.
+28 = Изчисляване на невалиден израз.
+29 = Небалансирани фигурни скоби.
+30 = Създаване на елемент с невалиден QName.
+31 = Свързване на променлива припокрива свързване на променлива в същия шаблон.
+32 = Не е позволено извикването на функцията key.
+
+LoadingError = Грешка при зареждането на стилов лист: %S
+TransformError = Грешка при трансформацията на XSLT: %S
diff --git a/l10n-bg/dom/dom/XMLPrettyPrint.ftl b/l10n-bg/dom/dom/XMLPrettyPrint.ftl
new file mode 100644
index 0000000000..918299920e
--- /dev/null
+++ b/l10n-bg/dom/dom/XMLPrettyPrint.ftl
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+xml-nostylesheet = Този XML файл изглежда няма прикачена стилова информация. Дървото на документа е показано по-долу.
diff --git a/l10n-bg/dom/dom/media.ftl b/l10n-bg/dom/dom/media.ftl
new file mode 100644
index 0000000000..5dd92517d4
--- /dev/null
+++ b/l10n-bg/dom/dom/media.ftl
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+mediastatus-fallback-title = { -brand-short-name } възпроизвежда медия
diff --git a/l10n-bg/extensions/spellcheck/hunspell/Copyright b/l10n-bg/extensions/spellcheck/hunspell/Copyright
new file mode 100644
index 0000000000..b44c9e45c0
--- /dev/null
+++ b/l10n-bg/extensions/spellcheck/hunspell/Copyright
@@ -0,0 +1,18 @@
+The Firefox/Thunderbird/Seamonkey Bulgarian dictionary
+is part of bgOffice project http://bgoffice.sourceforge.net/
+
+
+=========
+COPYRIGHT
+=========
+
+ fx+tb+sm-bg part of bgOffice
+ Copyright (C) 2001-2010 Radostin Radnev <radnev@gmail.com>
+
+ This program comes with ABSOLUTELY NO WARRANTY. This is free
+software, and you are welcome to redistribute it under certain
+conditions. This package is distributed under the terms of either
+GNU General Public License Version 2 or later,
+or GNU Lesser General Public License Version 2.1 or later,
+or the Mozilla Public License Version 1.1.
+For details read file GPL-2.0.txt, LGPL-2.1.txt and MPL-1.1.txt.
diff --git a/l10n-bg/extensions/spellcheck/hunspell/README b/l10n-bg/extensions/spellcheck/hunspell/README
new file mode 100644
index 0000000000..09415b37a3
--- /dev/null
+++ b/l10n-bg/extensions/spellcheck/hunspell/README
@@ -0,0 +1,4 @@
+These files are build from sources
+https://sourceforge.net/p/bgoffice/code/623/
+
+-- Stoyan Dimitrov
diff --git a/l10n-bg/extensions/spellcheck/hunspell/bg.aff b/l10n-bg/extensions/spellcheck/hunspell/bg.aff
new file mode 100644
index 0000000000..ba6e737cfc
--- /dev/null
+++ b/l10n-bg/extensions/spellcheck/hunspell/bg.aff
@@ -0,0 +1,430 @@
+SET cp1251
+TRY
+
+SFX A Y 8
+SFX A 0 .
+SFX A 0 .
+SFX A 0 .
+SFX A 0 .
+SFX A 0 .
+SFX A 0 .
+SFX A 0 .
+SFX A 0 .
+
+SFX B Y 3
+SFX B 0 .
+SFX B 0 .
+SFX B 0 .
+
+SFX C Y 4
+SFX C 0 .
+SFX C 0 .
+SFX C 0 .
+SFX C 0 .
+
+SFX D Y 4
+SFX D 0 .
+SFX D 0 .
+SFX D 0 .
+SFX D 0 .
+
+SFX E Y 5
+SFX E 0 .
+SFX E 0 .
+SFX E 0 .
+SFX E 0 .
+SFX E 0 .
+
+SFX F Y 5
+SFX F 0 .
+SFX F 0 .
+SFX F 0 .
+SFX F 0 .
+SFX F 0 .
+
+SFX G Y 5
+SFX G 0 .
+SFX G 0 .
+SFX G 0 .
+SFX G 0 .
+SFX G 0 .
+
+SFX H Y 4
+SFX H 0 .
+SFX H 0 .
+SFX H 0 .
+SFX H 0 .
+
+SFX I Y 2
+SFX I 0 .
+SFX I 0 .
+
+SFX J Y 3
+SFX J 0 .
+SFX J 0 .
+SFX J 0 .
+
+SFX K Y 25
+SFX K
+SFX K
+SFX K
+SFX K
+SFX K
+SFX K
+SFX K
+SFX K
+SFX K
+SFX K
+SFX K
+SFX K
+SFX K
+SFX K
+SFX K
+SFX K
+SFX K
+SFX K
+SFX K
+SFX K
+SFX K
+SFX K
+SFX K
+SFX K
+SFX K
+
+SFX L Y 133
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+SFX L
+
+SFX M Y 29
+SFX M
+SFX M
+SFX M
+SFX M
+SFX M
+SFX M
+SFX M
+SFX M
+SFX M
+SFX M
+SFX M
+SFX M
+SFX M
+SFX M
+SFX M
+SFX M
+SFX M
+SFX M
+SFX M
+SFX M
+SFX M
+SFX M
+SFX M
+SFX M
+SFX M
+SFX M
+SFX M
+SFX M
+SFX M
+
+SFX N Y 20
+SFX N
+SFX N
+SFX N
+SFX N
+SFX N
+SFX N
+SFX N
+SFX N
+SFX N
+SFX N
+SFX N
+SFX N
+SFX N
+SFX N
+SFX N
+SFX N
+SFX N
+SFX N
+SFX N
+SFX N
+
+SFX O Y 18
+SFX O
+SFX O
+SFX O
+SFX O
+SFX O
+SFX O
+SFX O
+SFX O
+SFX O
+SFX O
+SFX O
+SFX O
+SFX O
+SFX O
+SFX O
+SFX O
+SFX O
+SFX O
+
+SFX S Y 40
+SFX S
+SFX S
+SFX S
+SFX S
+SFX S
+SFX S
+SFX S
+SFX S
+SFX S
+SFX S
+SFX S
+SFX S
+SFX S
+SFX S
+SFX S
+SFX S
+SFX S
+SFX S
+SFX S
+SFX S
+SFX S
+SFX S
+SFX S
+SFX S
+SFX S
+SFX S
+SFX S
+SFX S
+SFX S
+SFX S
+SFX S
+SFX S
+SFX S
+SFX S
+SFX S
+SFX S
+SFX S
+SFX S
+SFX S
+SFX S
+
+SFX X Y 38
+SFX X
+SFX X
+SFX X
+SFX X
+SFX X
+SFX X
+SFX X
+SFX X
+SFX X
+SFX X
+SFX X
+SFX X
+SFX X
+SFX X
+SFX X
+SFX X
+SFX X
+SFX X
+SFX X
+SFX X
+SFX X
+SFX X
+SFX X
+SFX X
+SFX X
+SFX X
+SFX X
+SFX X
+SFX X
+SFX X
+SFX X
+SFX X
+SFX X
+SFX X
+SFX X
+SFX X
+SFX X
+SFX X
+
+MAP 28
+MAP a
+MAP eu
+MAP oy
+MAP n6
+MAP
+MAP k
+MAP g
+MAP 6
+MAP 3
+MAP p
+MAP c
+MAP x
+MAP 4
+MAP A
+MAP E
+MAP O0
+MAP 6
+MAP B
+MAP K
+MAP T
+MAP 6
+MAP 3C
+MAP M
+MAP H
+MAP P
+MAP Y
+MAP X
+MAP 4
+
+REP 16
+REP
+REP
+REP
+REP
+REP
+REP
+REP
+REP
+REP
+REP
+REP
+REP
+REP
+REP
+REP
+REP
diff --git a/l10n-bg/extensions/spellcheck/hunspell/bg.dic b/l10n-bg/extensions/spellcheck/hunspell/bg.dic
new file mode 100644
index 0000000000..93b44a5059
--- /dev/null
+++ b/l10n-bg/extensions/spellcheck/hunspell/bg.dic
@@ -0,0 +1,440103 @@
+440102
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/L
+/M
+/C
+/C
+/A
+/K
+/F
+/K
+/L
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/C
+/K
+/K
+/K
+/C
+/K
+/L
+/K
+/K
+/F
+/K
+/K
+/K
+/K
+/C
+/A
+/M
+/F
+
+
+
+
+
+/J
+/C
+/K
+/F
+/K
+/K
+/S
+/O
+/C
+/K
+/F
+/K
+/J
+/C
+/S
+/O
+/C
+/K
+/K
+/K
+/C
+/C
+/F
+/K
+/K
+/C
+/K
+/S
+/O
+/M
+/B
+/C
+/C
+/C
+/K
+/S
+/O
+/K
+/K
+/K
+/B
+/M
+/C
+/K
+/S
+/O
+/C
+/K
+/B
+/C
+/K
+/C
+/L
+/C
+/K
+/M
+/C
+/K
+/D
+/C
+/S
+/O
+/A
+/K
+/K
+/M
+/C
+/K
+/M
+/C
+/F
+/K
+/K
+/K
+/L
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/C
+/A
+/K
+
+/K
+/L
+/K
+/K
+/M
+/J
+/C
+/F
+/K
+/K
+/K
+/K
+/S
+/O
+/J
+/C
+/K
+/C
+/I
+/C
+/K
+/L
+/F
+/C
+/C
+/C
+/C
+/I
+/D
+/K
+/C
+/C
+/I
+/C
+/C
+/C
+/K
+/C
+/F
+/C
+/O
+/N
+/C
+/C
+/C
+/D
+/I
+/C
+/C
+/D
+/C
+/C
+/C
+/K
+/C
+/C
+/D
+/E
+/K
+/J
+/I
+/L
+/C
+/D
+/C
+/J
+/K
+/K
+/C
+/J
+/M
+/K
+/K
+/O
+/M
+/K
+/K
+/K
+/K
+/K
+/K
+/B
+/C
+/K
+/C
+/K
+/K
+/K
+/C
+/K
+/D
+/C
+/C
+/A
+/K
+/C
+/K
+/K
+/C
+/F
+/D
+/C
+/K
+/M
+/K
+/C
+/C
+/K
+/C
+/C
+/C
+/K
+/K
+/C
+/K
+/C
+/K
+/L
+/C
+/K
+/D
+/K
+/K
+/O
+/I
+/C
+/L
+/D
+/C
+/M
+/K
+/K
+/C
+/D
+/K
+/C
+/K
+/K
+/O
+/C
+/K
+/K
+/S
+/O
+/M
+/K
+/K
+/K
+/O
+/K
+/K
+/C
+/K
+/M
+/F
+/K
+/C
+/E
+/K
+/J
+/E
+/J
+/C
+/K
+/L
+/K
+/K
+/C
+/K
+/K
+/B
+/C
+/D
+/C
+/C
+/D
+/C
+/C
+/E
+/C
+/K
+/E
+/F
+/K
+/K
+/C
+/K
+/C
+/S
+/O
+/K
+/M
+/C
+/B
+/C
+/K
+/B
+/K
+/A
+/K
+/L
+/C
+/C
+/K
+/D
+/M
+/K
+/L
+/K
+/M
+/K
+/C
+/C
+/I
+/L
+/C
+/K
+/C
+/K
+/I
+/K
+/L
+/F
+/M
+/K
+/K
+/L
+/K
+/K
+/K
+/C
+/K
+/F
+/K
+/K
+/K
+/K
+/S
+/O
+/K
+/O
+/D
+/L
+/C
+/K
+/K
+/S
+/O
+/J
+
+
+
+
+
+
+
+
+
+
+/C
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+/O
+/M
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+/C
+/K
+/K
+/A
+/C
+/K
+/B
+/K
+/F
+/K
+/K
+/C
+/C
+/C
+
+
+/K
+/K
+
+
+
+/L
+/C
+/K
+/K
+/F
+/K
+/K
+/F
+/K
+/K
+/K
+/L
+/C
+/L
+/C
+/C
+/O
+/K
+/K
+/L
+/O
+/K
+/M
+/D
+/A
+/K
+/K
+/C
+/K
+/B
+/S
+/O
+/C
+/F
+/M
+/C
+/K
+/K
+/K
+/F
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/B
+/C
+/C
+/K
+/C
+/C
+/C
+/M
+/K
+/K
+/F
+/K
+/K
+/K
+/K
+/S
+/O
+/F
+/K
+/L
+/K
+/S
+/O
+/S
+/O
+/C
+/A
+/C
+/F
+/F
+/K
+/S
+/O
+/A
+/O
+/K
+/K
+/S
+/O
+/K
+/C
+/K
+/K
+/K
+/F
+/C
+/K
+/S
+/C
+/K
+/K
+/C
+/K
+/C
+/K
+/K
+/B
+/C
+/C
+/K
+/D
+/K
+/C
+/K
+/N
+/K
+/C
+/K
+/K
+/C
+/K
+/C
+/K
+/M
+/C
+/K
+/C
+/K
+/J
+/C
+/C
+/J
+/C
+/C
+/K
+
+/C
+/A
+/K
+/K
+/O
+/L
+/K
+/K
+/L
+/K
+/K
+/C
+/K
+/K
+/I
+/K
+/A
+/A
+
+/O
+
+
+
+/C
+/C
+/C
+/C
+/C
+/M
+/A
+/C
+/M
+
+
+
+
+
+
+/K
+/K
+/B
+/K
+/S
+/C
+/C
+/C
+/A
+/K
+/C
+/C
+/C
+/D
+/I
+/C
+/K
+/C
+/K
+/C
+/I
+/K
+/C
+/K
+/K
+/S
+/O
+/K
+/S
+/O
+/J
+
+/K
+/K
+/S
+/O
+/C
+/S
+/O
+/C
+/K
+/C
+/F
+/K
+/S
+/O
+/F
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/C
+/K
+/S
+/O
+
+/C
+/K
+
+/F
+/K
+/K
+/K
+/K
+/K
+/C
+/C
+/D
+/C
+/C
+/C
+/K
+/K
+/K
+/D
+/C
+/C
+/K
+/K
+/K
+/K
+/S
+/O
+/M
+/S
+/O
+/C
+/K
+/B
+/C
+/K
+
+
+
+/A
+/K
+/K
+/K
+/S
+/O
+/B
+/S
+/C
+/K
+/K
+/L
+/K
+/B
+/C
+/K
+/J
+/K
+/S
+/O
+/K
+/K
+/K
+/K
+/B
+/K
+/K
+/K
+/F
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/S
+/O
+/C
+/K
+/S
+/O
+/K
+/S
+/O
+/S
+/O
+/C
+/K
+/K
+/C
+/K
+/K
+/F
+/K
+/K
+/K
+/C
+/M
+
+
+
+
+/K
+/N
+/C
+/C
+/C
+/C
+/A
+/K
+/M
+/A
+/S
+/O
+/K
+/L
+/K
+/K
+/C
+/C
+/C
+/K
+/C
+/K
+/K
+/K
+/K
+/K
+/N
+/C
+
+/K
+/K
+/K
+/L
+/L
+/M
+/K
+/I
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+/C
+/S
+/O
+/K
+/B
+/K
+/C
+
+
+/K
+/K
+
+
+
+/K
+/L
+/K
+/K
+/C
+/J
+/C
+/K
+/C
+/K
+/K
+/K
+/K
+/C
+/K
+/S
+/O
+/K
+/B
+/K
+/C
+/K
+/C
+/K
+/C
+/C
+/K
+/S
+/O
+/M
+
+
+
+
+
+
+/K
+/I
+/O
+
+/M
+/K
+/C
+/J
+/N
+/K
+/K
+/K
+/M
+/K
+/K
+/C
+/M
+/F
+/K
+/K
+/C
+/K
+/K
+/K
+/K
+/B
+/C
+/N
+/A
+/M
+/C
+/K
+/C
+/K
+
+
+
+/A
+
+
+
+/K
+/O
+/K
+/K
+/K
+/K
+/B
+/K
+/C
+
+/K
+/K
+/K
+/S
+/O
+/C
+/F
+/K
+/K
+/L
+/K
+/C
+/K
+/S
+/O
+/K
+/B
+/K
+/S
+/O
+/K
+/K
+/C
+/K
+/K
+/K
+/K
+/K
+/C
+/K
+/K
+/K
+/K
+/K
+/K
+/L
+/S
+/O
+/M
+/K
+/K
+/J
+
+
+
+/C
+/A
+
+/C
+/C
+/K
+/K
+/K
+/S
+/O
+/K
+/A
+
+/C
+
+
+/O
+/K
+/K
+/B
+/C
+/K
+/K
+/S
+/O
+/A
+/C
+/K
+/B
+/C
+/C
+/N
+/C
+/D
+/I
+/K
+/K
+/J
+/K
+/K
+/S
+/O
+/C
+/K
+/C
+/C
+/L
+/K
+/K
+/K
+/K
+/O
+/K
+/N
+/K
+/K
+/K
+/C
+/K
+/L
+/K
+/K
+/C
+/K
+/B
+/C
+/K
+/K
+/K
+/C
+/K
+/K
+
+/C
+/F
+/S
+/O
+
+/O
+/K
+/K
+/K
+/K
+/A
+/O
+/K
+/C
+/A
+/C
+/M
+/F
+/K
+/K
+/K
+/K
+/K
+/K
+/O
+/M
+/C
+/A
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+/C
+/S
+/K
+/K
+/K
+/K
+/K
+/K
+/M
+/K
+/K
+/K
+
+/C
+/S
+/O
+/B
+/K
+/K
+/F
+/K
+/K
+/J
+/K
+/C
+/C
+/K
+/A
+/L
+/K
+/M
+/M
+/K
+/K
+/K
+/K
+/L
+/K
+/K
+/C
+/K
+/L
+/C
+/L
+/K
+/C
+/C
+/C
+/L
+/M
+/I
+
+/L
+/C
+/C
+
+
+
+
+
+/C
+/K
+/C
+/S
+/O
+/K
+/K
+/K
+/C
+/N
+/C
+
+
+/K
+
+
+
+/S
+/O
+/C
+/K
+/K
+/C
+/K
+/C
+/A
+/C
+/K
+/K
+/J
+/M
+/S
+/A
+/O
+/K
+/C
+/C
+/K
+/O
+/C
+/K
+/K
+/S
+/O
+/C
+/C
+/C
+/C
+/K
+/C
+/K
+/K
+/K
+/B
+/C
+/S
+/O
+/K
+/K
+/B
+/K
+/S
+/A
+/N
+/M
+/C
+/K
+/K
+/K
+/K
+/K
+/K
+/K
+
+/K
+/C
+/C
+/O
+/C
+/C
+/C
+/K
+/K
+/C
+/M
+/C
+/C
+/K
+/L
+/K
+/C
+/C
+/K
+/K
+/K
+/K
+/E
+/K
+/C
+/C
+/K
+/K
+/M
+/C
+/C
+/K
+/K
+/K
+/K
+/K
+/K
+/C
+/C
+/K
+/K
+/I
+/K
+/C
+/K
+/A
+/H
+/C
+/K
+/L
+/L
+/C
+/K
+/K
+/O
+/K
+/C
+/C
+/C
+/K
+/C
+/K
+/C
+/K
+/C
+/M
+/K
+/O
+/K
+/K
+/K
+/K
+/K
+/K
+
+
+/C
+/C
+/K
+
+
+/M
+/CF
+/K
+/K
+/C
+/C
+/CI
+/C
+/C
+/A
+/C
+/K
+/B
+/K
+/C
+/C
+/C
+/I
+/K
+/J
+/C
+/J
+/C
+/I
+
+
+/K
+/K
+
+/K
+
+
+/M
+/C
+/S
+/O
+/C
+/C
+/C
+/C
+/K
+/I
+/J
+/C
+/C
+/K
+/K
+/C
+/C
+/K
+/K
+/J
+/C
+/I
+/C
+/K
+/B
+/K
+/C
+/C
+/C
+/K
+/O
+/C
+/C
+/K
+/C
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/C
+/C
+/K
+/C
+/K
+/K
+
+
+/C
+/K
+/K
+/S
+/O
+/S
+/O
+/C
+/I
+/O
+/K
+/C
+/K
+/K
+/C
+/K
+/K
+/B
+/C
+/K
+/K
+/K
+/O
+/K
+/C
+/C
+/K
+/C
+/C
+/K
+/L
+/C
+/S
+/O
+/K
+/C
+/S
+/O
+/K
+/K
+/C
+
+/K
+/K
+
+/K
+/K
+/E
+/K
+/K
+/L
+/C
+/K
+/K
+/D
+/K
+/M
+/K
+/M
+/C
+/K
+/M
+/K
+/K
+/I
+/O
+/C
+/S
+/O
+/K
+/C
+/L
+/M
+/J
+
+
+
+
+
+/C
+/C
+/K
+/S
+/O
+/N
+/K
+/L
+/M
+/C
+/A
+/C
+/C
+/C
+/K
+/S
+/O
+/B
+/K
+/C
+/K
+/K
+/F
+/S
+/K
+/C
+/F
+/K
+/K
+/S
+/O
+/L
+/K
+/K
+/C
+/K
+/M
+/K
+/K
+/C
+/M
+/K
+/K
+/K
+/K
+/A
+/A
+/K
+/K
+/K
+/K
+/K
+/K
+/C
+/K
+/I
+/C
+/K
+/K
+/C
+/C
+/K
+/K
+/K
+/C
+/K
+/K
+/L
+/K
+/L
+/K
+/K
+/S
+/O
+/K
+/K
+/M
+/K
+/B
+/C
+/K
+/C
+/S
+/O
+/K
+/B
+/C
+/O
+/I
+/C
+/O
+/A
+/A
+/K
+/K
+/I
+/K
+/O
+/K
+/K
+/K
+/C
+/C
+/K
+/K
+/S
+/O
+/K
+/C
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/F
+/K
+/B
+/K
+/O
+/D
+/C
+/I
+/C
+/C
+/K
+/I
+/C
+/D
+/C
+/C
+/C
+
+
+
+
+
+/O
+/C
+/K
+/C
+/K
+/S
+/M
+/K
+/B
+/C
+/K
+/K
+
+
+/K
+/K
+/K
+
+/K
+
+
+/C
+/CD
+/C
+/K
+/E
+/K
+/K
+/C
+/K
+/S
+/O
+/C
+/K
+/C
+/F
+/K
+/K
+/M
+/K
+/M
+/F
+/A
+/K
+/F
+/K
+/K
+/K
+/K
+/K
+/C
+/C
+/D
+/C
+/K
+/C
+/S
+/K
+/C
+/K
+/K
+/B
+/K
+/C
+/K
+/K
+/K
+/S
+/O
+/B
+/K
+/S
+/A
+/O
+/M
+/K
+/K
+/L
+/F
+/K
+/S
+/O
+/C
+/M
+/F
+/M
+/K
+/K
+/B
+/A
+/K
+/L
+/C
+/K
+
+/C
+/K
+/K
+/S
+/O
+/C
+/A
+/C
+/I
+/A
+/C
+/K
+/F
+/K
+/K
+/K
+/C
+/K
+/C
+/S
+/O
+/C
+/K
+/M
+/O
+/K
+/K
+/K
+/O
+/K
+/I
+/C
+/A
+/K
+
+
+/K
+
+
+
+/C
+/C
+
+
+/K
+/K
+/K
+
+
+
+/F
+/K
+/F
+/K
+/K
+/K
+/K
+/O
+/K
+/K
+/C
+/A
+/S
+/O
+/C
+/A
+/C
+/K
+/C
+/C
+/D
+/M
+/K
+/K
+/S
+/O
+/A
+/B
+/C
+/J
+/S
+/O
+/M
+/F
+/K
+/K
+/J
+/I
+/C
+/F
+/K
+/K
+/C
+/K
+/K
+/S
+/O
+/K
+/M
+/K
+/K
+/B
+/K
+/K
+/C
+/A
+/O
+/K
+/C
+/C
+/K
+/K
+/K
+/K
+/K
+/K
+/C
+/C
+/K
+/S
+/O
+/M
+/C
+/K
+/K
+/K
+/K
+/K
+/K
+/K
+/K
+/C
+/K
+/K
+/C
+/K
+/K
+/C
+/I
+/S
+/O
+/K
+/K
+/J
+/D
+/K
+/D
+/C
+/O
+/C
+/C
+/K
+/C
+/D
+/C
+/C
+/C
+/N
+/C
+/C
+/C
+/C
+/K
+/C
+/D
+/C
+/K
+/C
+/K
+/K
+/K
+/C
+/K
+/S
+/O
+/D
+/C
+/C
+/S
+/O
+/K
+/C
+/I
+/D
+/K
+/L
+/K
+/K
+/C
+/K
+/S
+/O
+/O
+/K
+/C
+/K
+/C
+/K
+/C
+/I
+/K
+/C
+/K
+/S
+/O
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/M
+/K
+/L
+/K
+/K
+/C
+/L
+/K
+/K
+/O
+/C
+/K
+/C
+/D
+
+
+/O
+/C
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+/K
+/K
+/K
+/K
+/M
+/C
+/C
+/C
+/A
+/C
+/C
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/J
+/L
+/O
+
+
+/F
+/O
+/L
+/L
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/A
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/L
+/K
+/K
+
+
+
+
+
+/K
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/A
+/A
+/A
+/B
+/A
+/A
+/K
+
+
+/C
+/K
+/O
+/C
+/F
+/K
+/K
+/K
+
+
+
+
+
+/A
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+/A
+/K
+/D
+/K
+/O
+/O
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/C
+/A
+/C
+/K
+/A
+/K
+/C
+/S
+/O
+/C
+/K
+/A
+/C
+
+/A
+/N
+/K
+/K
+/D
+/O
+/A
+/O
+/A
+/O
+/C
+/C
+/O
+/E
+/K
+/C
+/J
+/D
+
+/A
+/J
+/D
+/S
+/O
+/O
+/K
+/C
+/N
+/K
+/M
+/K
+/K
+/K
+/K
+/I
+/A
+/C
+/K
+/K
+/K
+/C
+/K
+/L
+
+
+/K
+/K
+/K
+
+/K
+
+
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/C
+/K
+/L
+/M
+/A
+/D
+/K
+/K
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/C
+/S
+/O
+/B
+/A
+/C
+/C
+/K
+/K
+/C
+/C
+/K
+/C
+/K
+/K
+/K
+/K
+/C
+/K
+/F
+/C
+/K
+/S
+/O
+/K
+/O
+/K
+/K
+/C
+/K
+/M
+/L
+/K
+/K
+/S
+/O
+/C
+/K
+/K
+/K
+/C
+/K
+/C
+/C
+/K
+/L
+
+
+/K
+/K
+
+/K
+/K
+
+
+/C
+/K
+/C
+/C
+/K
+/J
+/C
+/S
+/O
+/C
+/S
+/O
+/A
+/M
+/K
+/K
+/C
+/O
+/K
+
+/O
+/A
+/K
+/K
+/S
+/O
+/B
+/C
+/A
+/K
+/K
+/C
+/K
+/C
+/K
+/C
+/M
+/K
+/J
+/K
+/C
+/K
+/E
+/K
+/K
+/K
+/K
+/C
+/K
+/K
+/L
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/A
+/C
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/M
+/K
+/CK
+/E
+/K
+/C
+/C
+/K
+/D
+/K
+/C
+
+
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+/J
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/K
+/S
+/O
+/J
+/C
+/C
+/S
+/O
+
+
+/O
+
+
+
+/O
+/J
+
+/C
+/C
+
+/K
+/K
+/K
+/A
+/K
+/K
+
+/K
+/K
+/S
+/O
+/C
+/K
+/C
+/A
+
+
+/K
+/C
+/D
+/F
+/K
+/K
+/K
+/L
+/O
+/A
+/K
+/N
+/C
+/K
+/C
+/K
+/D
+/C
+/K
+/C
+/K
+/M
+/C
+/K
+/J
+/D
+/C
+/J
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/CF
+/C
+/I
+/K
+/C
+/K
+/K
+/A
+/L
+/K
+/B
+/K
+/A
+/K
+/K
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/C
+/J
+/O
+/K
+/M
+/K
+/C
+/C
+/K
+/S
+/O
+/L
+/K
+/C
+/K
+/J
+/L
+/K
+/K
+/C
+/K
+/O
+/C
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+/M
+/K
+/C
+/K
+/C
+/K
+/C
+/M
+/C
+/K
+/H
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+/O
+
+/K
+/L
+/A
+/K
+/K
+/L
+
+
+
+
+
+
+/O
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/G
+/K
+
+
+
+
+
+/O
+/L
+
+
+
+
+
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+/M
+/C
+/K
+/D
+/G
+/K
+
+
+
+
+/O
+/M
+
+/K
+/L
+/K
+
+
+/K
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/B
+/K
+/K
+
+/O
+
+
+
+
+
+
+
+
+
+/K
+/K
+/A
+/A
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/K
+
+
+/A
+
+/L
+/K
+/K
+/K
+/K
+/K
+/B
+/K
+/K
+/L
+
+
+
+
+/K
+/L
+/K
+/A
+/B
+/A
+/K
+/L
+/K
+/L
+/B
+/K
+/L
+
+
+
+/K
+/B
+/K
+/K
+/L
+
+
+
+
+/K
+/K
+/A
+/L
+/A
+/K
+/L
+/K
+/B
+/K
+/L
+/K
+/L
+/B
+/A
+/K
+/L
+/K
+/B
+/K
+/L
+/K
+/B
+/K
+/K
+/B
+
+
+
+
+/K
+/K
+/B
+/K
+/B
+/K
+/B
+/K
+/L
+
+
+
+
+
+
+/B
+/K
+/L
+/K
+/L
+
+
+
+
+/K
+/B
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+
+
+
+
+/K
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+/K
+/K
+/K
+/B
+/K
+/K
+
+
+
+
+/K
+/K
+
+/K
+/B
+/K
+/L
+/B
+/K
+/L
+/K
+/B
+/K
+/B
+/A
+/B
+/K
+/K
+/B
+/K
+/L
+/K
+/B
+/K
+/K
+/K
+/K
+/L
+/K
+/A
+/L
+/B
+/B
+/K
+/A
+/K
+/B
+/K
+/K
+/B
+/A
+/K
+/O
+/K
+/K
+/K
+/I
+/A
+/C
+/A
+/K
+/A
+/K
+/K
+/B
+/K
+/B
+/K
+/K
+/B
+/K
+/K
+/L
+/B
+/A
+/K
+/A
+/A
+/L
+
+/B
+/A
+
+
+/A
+/K
+/B
+/K
+/L
+/A
+/K
+/A
+/K
+/A
+/K
+/L
+/B
+/K
+/K
+/L
+/B
+/K
+/A
+/K
+/B
+/K
+/K
+/K
+/B
+/K
+/K
+/K
+/K
+/K
+/K
+/L
+/K
+/B
+/B
+/K
+/B
+/A
+/B
+/K
+/B
+/A
+/K
+/L
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+/K
+/B
+/C
+/K
+/B
+/K
+/B
+/K
+/L
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+/A
+/K
+/K
+/B
+/K
+/K
+/B
+/K
+/B
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/A
+/O
+/K
+/K
+/K
+/K
+/K
+
+/K
+/B
+/K
+/L
+/A
+/L
+/B
+/K
+/K
+/L
+/L
+/K
+/K
+/A
+/A
+/B
+/K
+/K
+/L
+/B
+/K
+/B
+/K
+/B
+/K
+/A
+
+
+/L
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/B
+/A
+/K
+/B
+/K
+/K
+/B
+/O
+/K
+/K
+/A
+/B
+/K
+/B
+/K
+/L
+/K
+/B
+/K
+/B
+/K
+/A
+/B
+/K
+/B
+/K
+/K
+/B
+/K
+/K
+/K
+/B
+/K
+/L
+/B
+/K
+/K
+/B
+/K
+/K
+/K
+/A
+/K
+/L
+/K
+/B
+/L
+/K
+/K
+/K
+/B
+/K
+/B
+/K
+/L
+/K
+/B
+/L
+/O
+/K
+/L
+/K
+/A
+/K
+/B
+/K
+/B
+/A
+/A
+/A
+/K
+
+
+
+
+
+
+/O
+/K
+/B
+/A
+/K
+/K
+/L
+/K
+/B
+/K
+/B
+/K
+/K
+/K
+/B
+/A
+/A
+/B
+/L
+/K
+/K
+/L
+/B
+/K
+/K
+/K
+
+/K
+/K
+/B
+/K
+/L
+
+
+
+
+/K
+/K
+/K
+/A
+/B
+/K
+/L
+/B
+/K
+/L
+/A
+/K
+/B
+/K
+/B
+/L
+/K
+/B
+/A
+/K
+/L
+/K
+/K
+/L
+/B
+/K
+/K
+/K
+/B
+/K
+/B
+/K
+/K
+/A
+/B
+/B
+/K
+/L
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+/K
+/B
+/K
+/B
+/K
+/B
+/A
+/K
+/K
+/L
+/B
+/A
+/B
+/K
+/L
+
+
+
+
+
+
+/K
+/B
+/K
+/K
+/L
+/K
+/B
+/K
+/B
+/K
+/K
+/B
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+/K
+/L
+/B
+/A
+/B
+/L
+/K
+/B
+/A
+
+/I
+/K
+/I
+
+
+
+
+
+/A
+
+
+/K
+/D
+/C
+/C
+/I
+/C
+
+/C
+/C
+/C
+/M
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/D
+/K
+/C
+/K
+/M
+/K
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+/B
+
+/K
+/E
+/L
+/O
+/A
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+
+
+
+
+
+
+
+/C
+/K
+/K
+
+
+
+
+
+/A
+
+
+
+/K
+
+
+
+
+/K
+/L
+
+/K
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+/K
+/A
+/M
+/K
+/A
+/K
+/O
+/K
+/A
+/A
+/A
+/A
+/A
+/L
+/A
+/K
+/M
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/C
+/K
+/A
+/O
+/K
+/K
+/J
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/C
+/L
+/K
+/K
+/D
+/C
+/C
+/C
+/C
+/K
+/A
+/C
+/C
+/K
+/I
+/K
+/K
+/D
+
+
+/G
+/K
+/A
+/C
+/M
+/C
+
+
+/C
+/K
+/M
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+/K
+/M
+/K
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/C
+/M
+/K
+/S
+/O
+/K
+/A
+/C
+/C
+
+
+
+
+/C
+/C
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/F
+/K
+/K
+/K
+/C
+/K
+/K
+/E
+/K
+/K
+/L
+/L
+/K
+/F
+/K
+/K
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+/O
+/C
+/E
+/K
+/K
+/K
+/J
+/A
+/K
+/C
+/K
+
+
+/C
+/C
+
+
+
+
+
+
+
+
+
+
+
+/J
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+/C
+/L
+/K
+/K
+/C
+/C
+/F
+/K
+/B
+/K
+/K
+/C
+/K
+/K
+/D
+/L
+/L
+/K
+/K
+/B
+/K
+
+
+
+
+
+/B
+/C
+/K
+/L
+/I
+/O
+/C
+/K
+/C
+/C
+/D
+/C
+/C
+/K
+/C
+/K
+/C
+/L
+/D
+/O
+/K
+/C
+/C
+/N
+/C
+
+/C
+/D
+/I
+
+/D
+/C
+/C
+/K
+/L
+/L
+/A
+
+/K
+/K
+/D
+/J
+/C
+/K
+/F
+
+/C
+/K
+/I
+
+
+
+/K
+/E
+/K
+/K
+/G
+/A
+/E
+/L
+/O
+/C
+/K
+/K
+/M
+/K
+/K
+/J
+/K
+/N
+/C
+/D
+/S
+/O
+/K
+/I
+/K
+/I
+/K
+/K
+/K
+/F
+/K
+/K
+/K
+/K
+/I
+/K
+/I
+/K
+/K
+/K
+/K
+/N
+/K
+
+
+/K
+/K
+/K
+/K
+
+/K
+/K
+
+
+/C
+/K
+/K
+/K
+/K
+/K
+/C
+/K
+/K
+/K
+/A
+/J
+/K
+/A
+/C
+/K
+/N
+/C
+/C
+/C
+/K
+/K
+
+
+/K
+
+
+
+/D
+/D
+/D
+/O
+/K
+/N
+/O
+/K
+/K
+/K
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/B
+/K
+/K
+/A
+/L
+/K
+/K
+/O
+/K
+/D
+/D
+/K
+/K
+/C
+/K
+/J
+/K
+/A
+/K
+/I
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/L
+/K
+
+
+/L
+/I
+/I
+/I
+/AD
+/JL
+/K
+/B
+/A
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/K
+/O
+/K
+
+
+
+
+/C
+/D
+
+/J
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/J
+/S
+/O
+/O
+/K
+/A
+
+
+/C
+/K
+/A
+/K
+/L
+/K
+/L
+/K
+/B
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+/K
+/A
+/L
+/B
+
+
+
+
+
+
+
+/L
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+/B
+/L
+/K
+/L
+/L
+/E
+/K
+/K
+/L
+/B
+/K
+/B
+/K
+/K
+/L
+/K
+/L
+/S
+/O
+/L
+/K
+/L
+/K
+/L
+/L
+/B
+/K
+/B
+/S
+/S
+/O
+/S
+
+/O
+
+
+
+
+
+/A
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+/K
+/L
+
+
+
+
+/K
+/K
+/L
+/K
+/L
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/F
+
+/K
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+/B
+/L
+/K
+/E
+/K
+/K
+/B
+/L
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/L
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+/K
+/B
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/S
+/O
+/K
+/A
+/S
+/C
+/K
+/D
+/K
+/A
+/J
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+/B
+/K
+
+
+
+
+
+
+
+
+
+
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+/D
+/K
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+
+
+
+/J
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/L
+/K
+/K
+/A
+/A
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+/K
+/K
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/S
+/O
+/C
+/D
+/D
+/C
+/D
+/C
+/D
+/K
+/C
+/C
+/S
+/O
+/K
+/A
+/D
+/J
+/D
+/C
+/K
+/K
+/A
+/K
+/B
+/O
+/K
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/C
+/D
+/C
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/L
+/L
+
+
+
+
+
+
+
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+
+
+
+
+
+
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+/C
+/D
+/A
+/K
+/I
+/A
+/K
+/K
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+/J
+/N
+/D
+/A
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+/L
+/A
+/B
+/B
+/A
+/A
+
+
+
+
+
+
+/C
+/K
+/L
+/L
+/K
+
+
+
+
+
+
+/K
+/L
+/K
+/A
+/L
+
+
+
+
+
+/J
+/K
+
+
+
+
+
+/F
+/L
+/K
+/K
+/L
+/E
+
+
+
+
+
+/O
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+/L
+/K
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/D
+
+/S
+/O
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/I
+/I
+/D
+/D
+/C
+/J
+
+/A
+/K
+/B
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/L
+/C
+/K
+/B
+/M
+
+
+
+/A
+/B
+/L
+/K
+/L
+
+
+/C
+/A
+/K
+/A
+/A
+/K
+/M
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+
+
+
+
+
+/B
+/C
+/S
+/O
+/C
+/O
+/K
+/C
+
+/C
+/O
+/K
+/M
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/C
+/S
+/O
+/I
+/A
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/F
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/B
+
+
+
+
+
+
+/K
+/L
+/B
+/K
+/K
+
+
+
+/C
+/M
+/C
+
+
+
+/K
+/K
+/A
+/A
+/B
+/O
+/K
+/A
+/E
+/K
+/L
+/F
+/K
+
+/K
+
+/D
+/K
+/S
+/O
+/M
+/C
+/K
+/K
+/L
+
+
+
+
+
+
+/M
+/K
+/K
+/L
+
+
+
+
+/K
+/M
+/O
+/C
+/S
+/O
+/C
+/K
+/K
+/K
+/B
+/J
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/C
+/K
+/D
+/C
+/K
+/K
+/J
+/J
+/O
+/K
+/A
+/C
+/D
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/I
+/K
+/A
+/D
+/O
+/K
+/L
+/C
+/K
+/A
+/C
+/K
+
+
+
+
+
+/O
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/A
+/K
+/K
+/A
+/O
+/D
+/K
+/M
+/D
+
+
+/AD
+/O
+/A
+/L
+/L
+/K
+/A
+/A
+/K
+/K
+/C
+/M
+/K
+/O
+/K
+/O
+/K
+/K
+/K
+/C
+/C
+/E
+/K
+/C
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+/S
+/O
+/F
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/O
+/K
+/K
+/K
+/L
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+/B
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/K
+/K
+/K
+/A
+/K
+/E
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/K
+/A
+/D
+/K
+/F
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/M
+/C
+
+/K
+/D
+/S
+/O
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+
+
+
+
+
+/M
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/K
+/S
+/O
+/D
+/A
+
+
+
+
+/L
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+/A
+/K
+/F
+/K
+/M
+/A
+/L
+/K
+/K
+/L
+/S
+/O
+/L
+/J
+
+
+
+/C
+/A
+
+
+
+
+/K
+/K
+/L
+/A
+/B
+/A
+/L
+
+
+
+
+/K
+
+/K
+/C
+/K
+/A
+/A
+
+/J
+/I
+/I
+
+
+
+/K
+/B
+
+/J
+/L
+/C
+/K
+/K
+/F
+/K
+/K
+/L
+/K
+/D
+/C
+/D
+/C
+/K
+/S
+/O
+/C
+/K
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/I
+/C
+/D
+/K
+/D
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+/AL
+/O
+/K
+/M
+
+/L
+
+
+
+
+
+
+
+
+
+
+/A
+
+/E
+
+
+
+
+
+
+/K
+/C
+/K
+
+/C
+/A
+/C
+/D
+/M
+/A
+/L
+/K
+/E
+/K
+/N
+/A
+/C
+/D
+/S
+/O
+/A
+/S
+/A
+/O
+/N
+/C
+/K
+/K
+/C
+/K
+/K
+/K
+/M
+/K
+/K
+/C
+/S
+/O
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+/C
+/K
+/K
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/C
+/C
+
+
+/K
+/A
+/O
+/B
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+/L
+
+
+
+/K
+/D
+/S
+/O
+/K
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+/A
+
+/C
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/S
+/O
+/C
+/K
+/A
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/C
+/K
+
+
+/D
+/D
+/A
+/K
+/E
+/O
+/K
+/K
+/L
+/K
+/K
+/K
+/O
+/K
+/S
+/O
+
+
+
+
+
+/K
+
+
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+
+
+
+
+
+
+
+/O
+
+
+
+/C
+/K
+/K
+
+/E
+
+
+
+
+
+/K
+/K
+/M
+/B
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/A
+/K
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/K
+
+
+/O
+/K
+/K
+/M
+/C
+/A
+/L
+/K
+/L
+/C
+/K
+/K
+/K
+/C
+/J
+/K
+/J
+/C
+/A
+/K
+/C
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+/C
+/K
+/C
+/C
+/A
+/C
+/K
+/K
+/L
+/C
+/J
+/A
+/K
+/C
+/K
+/D
+/K
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+/C
+/K
+/L
+/I
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+/C
+/D
+/E
+/K
+/K
+/L
+/K
+
+
+
+
+/K
+/K
+/L
+/K
+/K
+/S
+/O
+
+
+
+
+
+
+
+/J
+/M
+/K
+/C
+/K
+/K
+/J
+/O
+/CK
+/O
+/K
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+
+/K
+/C
+/J
+/K
+/K
+/B
+/C
+/K
+/D
+/D
+/K
+/K
+/L
+/S
+/C
+/O
+/K
+/K
+/K
+/S
+/O
+/S
+/O
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/K
+/J
+/O
+/C
+/K
+/K
+/A
+/O
+/C
+/K
+/K
+/S
+/O
+/S
+/O
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+/K
+
+/K
+/S
+/C
+/C
+/K
+/C
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/I
+
+/O
+/K
+
+
+
+
+/O
+
+
+
+
+
+/J
+/K
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+/A
+/J
+/B
+
+/O
+/K
+/C
+/O
+/S
+/O
+/J
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/L
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/S
+/O
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/M
+/M
+/C
+/K
+/K
+/K
+/M
+/K
+/K
+/M
+/C
+/C
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+/K
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+/L
+/O
+/J
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+/K
+/L
+/C
+/A
+/L
+/A
+/A
+/A
+/A
+/C
+/L
+/K
+/K
+/A
+/A
+/O
+/A
+/A
+/A
+/L
+/A
+/O
+/K
+/L
+/K
+/S
+/O
+/K
+/K
+/K
+/K
+/K
+/A
+/S
+/O
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/E
+/K
+/K
+/L
+/K
+/K
+/K
+/C
+/K
+/K
+/C
+/C
+/K
+/O
+/L
+/C
+/S
+/O
+/M
+/K
+/K
+/K
+/D
+/L
+/C
+/J
+/O
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/L
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/C
+/M
+/K
+/K
+/L
+/K
+/C
+/A
+/K
+/C
+/K
+/K
+/K
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/K
+/C
+/A
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/I
+
+/K
+/K
+/K
+/K
+/K
+/M
+/S
+/K
+/K
+/S
+/O
+/C
+/K
+/S
+/K
+/N
+/K
+/K
+/L
+/D
+/K
+/J
+/C
+
+
+
+
+
+/O
+/K
+/B
+/K
+/C
+/A
+
+
+
+/C
+/K
+/K
+/S
+/S
+/O
+/B
+/K
+
+/C
+/A
+/S
+
+
+/M
+/L
+/K
+/L
+/K
+/K
+/S
+/O
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+/K
+/D
+/K
+/A
+/S
+/O
+/O
+/S
+/O
+/K
+/A
+
+/K
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/F
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/K
+
+
+
+/C
+/M
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/C
+/K
+/K
+/K
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+/E
+/M
+/M
+/K
+/O
+/L
+/O
+/J
+/K
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/A
+/O
+
+
+
+/C
+/K
+/K
+/L
+/J
+/K
+/C
+/K
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+/K
+/N
+/C
+/S
+/O
+
+
+
+
+
+/K
+
+/L
+/K
+/K
+/A
+/O
+/A
+/A
+/B
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/C
+/D
+/K
+/K
+/S
+/O
+/C
+/C
+/K
+/A
+/N
+/K
+/A
+
+
+
+
+/L
+/K
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+/E
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+/X
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/L
+/K
+/K
+/L
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+/B
+/A
+/L
+/K
+/L
+/B
+/L
+
+
+
+
+
+
+
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+/A
+/B
+/K
+/A
+/B
+/C
+/K
+/L
+/L
+/K
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/K
+/K
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+
+/A
+/C
+/K
+/K
+/J
+/K
+/K
+/L
+/K
+/L
+/O
+/K
+/M
+/K
+/L
+
+
+/A
+/B
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+/L
+/L
+/K
+
+
+
+
+
+
+
+/K
+/N
+/M
+/C
+/K
+/K
+/J
+/C
+/J
+/C
+/A
+/K
+/K
+/A
+/K
+
+
+/K
+
+
+
+/N
+/L
+/K
+/K
+/L
+/K
+/C
+/C
+/K
+/K
+/K
+/S
+/O
+/M
+/C
+/K
+/L
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+/L
+/K
+/K
+/O
+/S
+/O
+/C
+/C
+
+/K
+
+/K
+/K
+/K
+/B
+
+/C
+/K
+/K
+/S
+/O
+/I
+/C
+
+
+
+
+/O
+/K
+/K
+/L
+/B
+/L
+/K
+/K
+
+
+
+
+
+
+/L
+/L
+/C
+
+
+
+
+/K
+/K
+/L
+/A
+/B
+/L
+/K
+/B
+/K
+/K
+/K
+/K
+/K
+/K
+/C
+/C
+/K
+/B
+/C
+/J
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/K
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+
+
+
+
+
+/O
+/E
+/K
+/L
+/J
+/L
+/J
+/J
+/O
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/C
+/K
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+/I
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/L
+/K
+
+
+
+
+
+
+
+
+
+/C
+
+
+/A
+/B
+/C
+/C
+/C
+/D
+/H
+/K
+/C
+/K
+/L
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/E
+/K
+
+
+
+
+
+
+
+
+
+
+/D
+
+/K
+/B
+/K
+/K
+/O
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+/AB
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+
+
+
+
+
+
+/K
+/K
+/K
+/A
+/B
+/L
+/K
+/K
+
+/K
+/K
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/K
+/B
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+/A
+/K
+/A
+/K
+/L
+/B
+/E
+/L
+/A
+/K
+/O
+/O
+/D
+/K
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/B
+/D
+/K
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/H
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/C
+/C
+/C
+/K
+/K
+/C
+/S
+/O
+/C
+/K
+/C
+/K
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/L
+
+
+/J
+/C
+/I
+/C
+/O
+/D
+/K
+/D
+/O
+/C
+/C
+/K
+/K
+/C
+/C
+/N
+/K
+/C
+/K
+/K
+/C
+/D
+/D
+/I
+/C
+/D
+/C
+/C
+/C
+/C
+/D
+/C
+/D
+/C
+/C
+/K
+/C
+/C
+/K
+/C
+/K
+/D
+/O
+/H
+/D
+/C
+/C
+/K
+/C
+
+
+
+
+
+/D
+
+
+
+
+
+
+/A
+/B
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+/O
+/K
+/M
+/K
+
+/L
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/K
+/M
+/K
+/K
+/L
+/K
+
+
+/K
+
+
+
+/S
+/O
+/K
+/K
+/K
+/S
+/O
+/K
+/O
+/C
+/A
+/C
+/K
+/C
+/K
+/S
+/O
+/C
+
+
+/D
+/S
+/O
+/K
+/M
+/C
+/S
+/O
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/L
+/K
+/K
+
+/K
+/C
+/K
+/K
+/K
+/K
+
+
+/K
+/K
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/J
+/A
+/C
+/K
+
+/E
+/K
+/K
+/L
+/C
+
+
+/A
+/A
+/I
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/C
+/A
+/L
+/A
+/K
+/O
+/K
+/B
+/E
+/K
+/L
+/L
+/K
+/D
+/A
+/K
+/J
+/K
+/K
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/A
+/A
+/A
+/C
+/K
+/C
+/K
+/L
+/C
+/O
+/D
+/C
+/S
+/O
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+/L
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/S
+/C
+/K
+/K
+/B
+/K
+/B
+/C
+/K
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/S
+/O
+
+
+
+
+
+/O
+
+
+
+/K
+
+/K
+
+
+/K
+/K
+/C
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+/L
+/A
+/H
+/A
+/K
+/A
+/O
+/B
+/A
+/C
+/K
+/L
+/N
+/K
+/K
+/K
+/L
+/A
+/B
+/A
+/K
+/B
+/K
+/A
+/A
+/A
+/L
+/A
+/L
+/K
+/K
+/K
+/A
+/K
+/K
+/A
+/A
+/K
+/K
+/K
+/K
+/C
+/A
+/L
+/K
+/K
+/L
+/K
+/K
+
+
+
+
+/A
+
+
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/M
+
+
+
+
+
+/C
+/K
+/S
+/K
+
+
+
+
+
+
+
+
+/L
+
+
+
+/L
+/A
+/K
+
+/A
+
+/C
+/K
+/K
+/C
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/C
+/C
+
+/K
+/K
+
+
+
+/N
+/D
+/J
+/F
+/F
+/C
+/F
+
+
+
+/K
+
+
+
+/F
+/C
+/CF
+/L
+/A
+/K
+/K
+/A
+/A
+/A
+/A
+/A
+/K
+/K
+
+
+
+/B
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/S
+/O
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+
+
+
+/K
+/M
+/K
+/S
+/O
+/C
+/K
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+/K
+
+/L
+
+/E
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+/D
+/K
+/A
+/A
+/L
+/K
+/L
+/A
+/J
+/M
+/A
+/K
+/A
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+/A
+/C
+/K
+/E
+/K
+/O
+/K
+/K
+
+
+
+
+
+
+/L
+/A
+/L
+/O
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+/M
+/K
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+
+
+
+
+
+
+/D
+/A
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+/L
+/S
+/O
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+/B
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/B
+/D
+/K
+/E
+/K
+/K
+/O
+/J
+/K
+
+/S
+/O
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+
+
+
+
+
+/C
+/L
+/C
+/K
+/K
+/S
+/O
+/K
+/G
+/L
+/K
+/C
+/K
+
+
+
+
+
+/K
+
+
+/O
+
+
+/K
+/E
+/K
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/L
+
+
+
+
+/K
+
+/K
+/O
+/A
+/K
+/A
+/K
+/C
+/C
+/C
+/C
+/K
+/K
+/B
+/H
+/F
+/K
+/O
+/K
+/L
+/K
+/C
+/K
+/K
+/A
+/F
+/C
+/K
+/K
+/K
+/C
+/O
+/H
+/C
+/K
+/O
+/K
+/C
+/A
+/M
+/C
+/K
+/K
+/C
+/O
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/O
+/K
+/L
+/L
+/K
+/O
+/B
+/M
+
+
+
+
+
+
+
+
+
+/L
+/O
+/K
+/S
+/K
+/K
+/C
+/A
+/K
+/K
+/O
+/K
+/K
+/O
+/A
+/K
+/K
+/K
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+/C
+/M
+
+
+
+
+
+
+/C
+/K
+
+
+/O
+
+
+
+
+/J
+/K
+/L
+/A
+/L
+/A
+/B
+/L
+/K
+/K
+/K
+/C
+/K
+/K
+/S
+/M
+/C
+/C
+/D
+/C
+/K
+/A
+/K
+/B
+/I
+/K
+/C
+/K
+/K
+/K
+/L
+/K
+/B
+/E
+/K
+/K
+/K
+/D
+/C
+/C
+/L
+/K
+/N
+/A
+/C
+/A
+
+/K
+
+
+
+
+
+
+
+/A
+/K
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/N
+/O
+/K
+/D
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/D
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/N
+
+
+/J
+
+
+
+
+/A
+/D
+/N
+/K
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/A
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/K
+/E
+/K
+/K
+/K
+/O
+/K
+/K
+/K
+/D
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+/L
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+/K
+/B
+/A
+
+/O
+/O
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/S
+/O
+/C
+/K
+/K
+/L
+/S
+/O
+
+
+
+
+/K
+/S
+/O
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/J
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+/S
+/O
+
+/K
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+/S
+/O
+/S
+/O
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/A
+/K
+/K
+/A
+/K
+/K
+/K
+/E
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/A
+/O
+/L
+/K
+/B
+
+
+
+
+
+
+/K
+/L
+/O
+
+/K
+
+
+
+
+
+
+/K
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/K
+/C
+/K
+/A
+/L
+/K
+/L
+/K
+/K
+/K
+/A
+/K
+/B
+/A
+/A
+/B
+/L
+/L
+/A
+/L
+/B
+/A
+/K
+/A
+/A
+/K
+/K
+/K
+/K
+/K
+/K
+/B
+/K
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/L
+
+
+
+
+/C
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/H
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/O
+/K
+/K
+/L
+/A
+/K
+/O
+/K
+/O
+/K
+
+
+
+
+
+
+
+
+
+/K
+/B
+
+
+/S
+/O
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/K
+/O
+/A
+/K
+/K
+/S
+/O
+/M
+/B
+/K
+/C
+/C
+/K
+/S
+/O
+/K
+/K
+
+
+
+
+
+/C
+/D
+/D
+/K
+/O
+/A
+/A
+
+/A
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/C
+/C
+/C
+/K
+/C
+/AC
+/K
+/C
+/K
+/C
+/K
+
+/E
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/E
+/K
+/L
+/K
+
+
+
+/E
+/K
+/A
+/L
+/J
+/G
+/L
+/K
+/A
+/M
+
+/A
+/K
+/K
+/K
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/E
+/K
+/B
+
+
+
+
+
+
+
+/S
+/O
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/A
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/A
+/S
+/O
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/S
+/X
+/A
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+/I
+/C
+/C
+/O
+/A
+/K
+/O
+/E
+/K
+/O
+/C
+/A
+/B
+/K
+/K
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+/L
+/B
+
+
+/E
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/N
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+/A
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/S
+/O
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/A
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+/A
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/L
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+
+
+
+
+
+/L
+
+/S
+/O
+/A
+
+
+
+
+
+
+
+
+
+/A
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+/L
+/O
+
+/K
+/K
+
+
+
+
+
+/E
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+/H
+/K
+
+
+
+
+
+
+/S
+/O
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/L
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/L
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/A
+/B
+/A
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/A
+/B
+/E
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+
+/S
+/O
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/K
+/A
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/L
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+/E
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/A
+/A
+/S
+/O
+/X
+/S
+/O
+/L
+/L
+
+
+
+
+
+/L
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/C
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/A
+/K
+/L
+/O
+/C
+/O
+/K
+/A
+/L
+/O
+/A
+/A
+/K
+/A
+/K
+/L
+/B
+/C
+/N
+/K
+/B
+/C
+/S
+/O
+/J
+/K
+/K
+/K
+
+
+
+
+/K
+/L
+
+
+/K
+/K
+/K
+/B
+/K
+/A
+/B
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/L
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/A
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+/L
+
+/C
+/K
+/K
+/O
+/K
+/O
+/O
+/K
+/K
+/A
+/C
+
+
+
+
+
+/A
+/O
+
+
+
+
+
+
+
+
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/C
+/C
+/O
+/A
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+/C
+/K
+/A
+
+
+/O
+
+
+
+
+
+
+
+
+
+/A
+/L
+/O
+/K
+/C
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/A
+/A
+
+/K
+/L
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/O
+/K
+/K
+
+
+/C
+
+/K
+/L
+/K
+/B
+/A
+/O
+/K
+/A
+/K
+/A
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+/A
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/B
+
+
+
+
+
+/C
+/C
+/K
+/L
+/A
+/L
+/K
+/C
+/M
+/K
+/C
+/K
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/M
+/BD
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+/E
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+
+
+
+/B
+/C
+
+
+
+/B
+
+
+/K
+/BD
+/C
+/K
+
+
+/K
+
+/A
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/A
+/O
+/K
+/S
+
+
+
+
+
+/K
+/C
+/A
+/C
+/C
+/N
+/C
+/K
+/B
+/K
+/C
+/K
+
+
+/D
+/K
+/E
+/K
+/K
+/J
+/C
+/M
+/K
+/C
+/K
+/K
+/K
+/C
+/K
+/L
+/C
+/K
+/K
+/B
+/C
+/C
+/N
+/C
+/K
+/S
+/A
+/O
+/M
+/K
+/K
+/N
+/K
+/C
+/O
+/K
+/K
+/K
+
+
+
+
+
+/A
+/O
+/O
+/K
+/J
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+/K
+/M
+
+
+
+
+/M
+/K
+
+
+
+/C
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/C
+/K
+/B
+
+
+/K
+/C
+/K
+/C
+/F
+/K
+/J
+/M
+/K
+/K
+/O
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/F
+/K
+/L
+/O
+/K
+/C
+/C
+/S
+/O
+/K
+/K
+/K
+/C
+/A
+/K
+/K
+/K
+/D
+/C
+/K
+/C
+/K
+/J
+/S
+/S
+/O
+/I
+/C
+/K
+/S
+/O
+/K
+/A
+/C
+/K
+
+
+/A
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+/A
+
+/C
+/C
+/K
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/F
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+/K
+/D
+
+/A
+/C
+
+
+
+
+
+
+/O
+/M
+/K
+/K
+/L
+/D
+/M
+/K
+/K
+/O
+/J
+
+
+/C
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/D
+/K
+
+/C
+/D
+
+
+
+
+
+/D
+/K
+/D
+/M
+/K
+/C
+
+
+/K
+/K
+
+
+
+/K
+/C
+/K
+/F
+/K
+/K
+/S
+/O
+/F
+/C
+/K
+/K
+/K
+/C
+/K
+/K
+/S
+/O
+/O
+/K
+/K
+/K
+/K
+/B
+/M
+/K
+/C
+/D
+/D
+/C
+/D
+/F
+/K
+/K
+/K
+/K
+/K
+/K
+
+
+/K
+/K
+
+/K
+/K
+
+
+/O
+/K
+/K
+/K
+/N
+
+
+
+
+
+/O
+/K
+/D
+/O
+/K
+/K
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+/D
+/C
+/A
+/C
+/K
+/C
+/J
+/C
+/K
+/N
+/L
+/S
+/O
+
+/C
+/K
+/K
+
+
+/K
+/C
+/C
+/K
+/S
+/M
+/K
+/K
+/B
+/M
+/K
+/L
+
+
+/K
+
+
+
+/C
+/L
+/L
+/C
+/L
+/K
+/C
+/E
+/K
+/L
+
+
+
+/B
+/K
+/C
+/CD
+/D
+/CD
+/D
+/F
+/M
+/K
+/CD
+/D
+
+/M
+/K
+/A
+/K
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+/K
+/S
+/O
+/K
+/F
+/K
+/K
+/O
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/S
+/O
+/A
+/K
+/C
+/K
+/J
+/K
+/E
+/K
+/L
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+/K
+/K
+
+/K
+
+
+
+
+
+/A
+/K
+/K
+/C
+
+
+
+
+
+/K
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+/K
+/A
+/M
+/C
+/C
+
+/S
+/O
+
+
+
+
+
+
+
+
+/C
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/C
+/K
+/K
+
+
+
+
+
+/AK
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/F
+/K
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/B
+/K
+/O
+/K
+/L
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+/S
+/O
+/K
+/A
+/B
+/K
+/D
+/S
+/O
+/A
+/C
+/D
+
+
+/K
+
+
+
+
+
+
+
+
+
+/I
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/A
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+/E
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/S
+/O
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/M
+/S
+/O
+/G
+/K
+/K
+/N
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+/S
+/O
+/M
+/K
+
+
+
+
+
+/C
+
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+/K
+
+
+/C
+/B
+/C
+/C
+/K
+/K
+/A
+/A
+/C
+/A
+/K
+/K
+/C
+/A
+/CI
+/A
+/K
+/K
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/A
+/C
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/K
+/K
+/A
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+/L
+
+
+
+
+
+
+/J
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+/A
+/B
+/B
+/O
+
+
+
+
+
+
+
+
+
+
+/C
+/A
+/K
+/K
+/A
+/E
+/J
+/L
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/K
+/K
+/S
+/O
+/L
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/A
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/I
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+/A
+
+
+/A
+/O
+/B
+/K
+/K
+/C
+
+
+
+
+
+
+
+
+/L
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+
+/CD
+/K
+/K
+/M
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+/D
+
+
+/K
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/E
+/K
+/O
+/L
+/J
+/L
+/C
+/K
+/L
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+/K
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+/A
+/E
+/K
+/K
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/E
+/K
+/K
+
+
+/K
+/O
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+/J
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+/K
+/B
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/AD
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+/K
+/L
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/J
+/K
+/C
+/A
+/A
+/C
+/A
+/K
+/K
+/L
+/B
+/K
+/K
+
+
+
+
+
+
+/K
+/D
+
+
+
+
+
+
+/L
+
+
+
+
+/D
+/K
+/C
+/K
+
+
+
+
+
+
+
+
+/O
+
+/L
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/E
+
+
+
+
+
+/K
+/K
+/J
+/M
+
+
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+/B
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+/A
+/A
+
+/A
+
+
+
+
+/K
+/AK
+/O
+/A
+/A
+/A
+/A
+/K
+/A
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+
+/K
+
+
+
+
+
+/B
+/A
+
+
+
+
+/K
+/K
+
+/L
+/L
+/K
+/M
+/O
+/K
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+/K
+/K
+/L
+
+
+/K
+
+/L
+
+
+
+
+
+
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/F
+/E
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/O
+
+/K
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/F
+
+
+
+
+/M
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+/K
+/E
+/K
+
+
+
+
+
+
+
+
+/K
+/A
+/L
+/K
+/B
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/L
+/G
+/K
+
+
+
+
+
+/A
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/K
+/A
+/C
+/K
+/L
+/K
+/O
+/K
+/L
+/K
+/B
+/K
+/S
+/O
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/S
+/O
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/L
+/K
+/D
+/K
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+/K
+/E
+/K
+/K
+/L
+/K
+/K
+/S
+/O
+
+
+
+
+
+
+/M
+/K
+/K
+
+
+/O
+/K
+/A
+/L
+/K
+/S
+/A
+/O
+/C
+/K
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+
+
+
+
+
+/K
+/B
+/L
+/J
+
+
+
+
+
+
+
+
+
+
+/C
+/I
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/K
+/K
+/C
+/O
+/K
+/E
+/K
+/K
+/K
+/K
+/B
+/C
+/K
+/J
+/J
+/K
+/K
+/K
+/D
+/K
+/K
+/B
+/C
+/K
+/K
+/C
+/A
+/B
+/C
+/K
+/K
+/I
+/K
+
+/E
+/K
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/D
+/K
+/K
+/K
+/S
+/A
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/M
+/F
+/K
+/K
+/O
+/K
+/K
+/C
+/K
+/K
+/K
+
+
+
+
+/K
+
+
+
+/C
+/K
+/M
+/K
+/L
+/I
+/A
+/K
+/K
+/B
+/K
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/C
+/E
+/K
+/J
+
+/L
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/C
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+/C
+
+
+/K
+/B
+/S
+/O
+/K
+
+
+
+
+
+
+/K
+
+/B
+/L
+/K
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+/K
+
+/A
+
+/K
+/A
+/K
+/O
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+/C
+/S
+/O
+
+
+
+
+/O
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/D
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/A
+/O
+/C
+/K
+/O
+/K
+/D
+/K
+/D
+/D
+/D
+/E
+/K
+/K
+/M
+/K
+/K
+/K
+/G
+/D
+/D
+/J
+/C
+/G
+/K
+/A
+/K
+/K
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/L
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/F
+/D
+/K
+/A
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/D
+/A
+/L
+/C
+/M
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+/B
+/K
+/L
+/K
+/D
+/S
+/O
+/K
+/S
+/O
+/K
+/K
+/A
+/K
+/I
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/O
+/K
+
+/K
+/K
+
+
+/C
+/L
+
+
+/S
+/O
+/B
+/A
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+
+/A
+/K
+/L
+/K
+/C
+/K
+/K
+/L
+/I
+/N
+/E
+/K
+/K
+/K
+/L
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+/C
+/K
+/F
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/KM
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/K
+/S
+/O
+/K
+/C
+/KM
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/E
+/K
+/A
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/A
+/K
+/K
+/J
+/K
+/A
+/E
+/O
+/L
+/A
+/A
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+/B
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+/C
+/S
+/O
+/E
+/K
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+/C
+/E
+/O
+/K
+/A
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/A
+/K
+/B
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/K
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+
+/K
+
+/C
+/C
+
+/A
+/A
+/K
+/L
+/C
+/K
+
+/C
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+
+/M
+
+/D
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/J
+/K
+/A
+/K
+/K
+/O
+/A
+/O
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/A
+/L
+/K
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/D
+/D
+/K
+/J
+/C
+/J
+/K
+/D
+/J
+/J
+/A
+/D
+/J
+/O
+/K
+/M
+/K
+/O
+/C
+/M
+
+/S
+/O
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+/L
+/B
+/K
+
+
+/L
+/B
+/K
+/A
+
+/C
+/J
+/C
+/C
+/K
+/K
+/K
+/K
+/K
+/K
+/M
+/O
+/K
+
+/L
+/B
+/C
+/L
+/K
+/C
+/C
+
+
+/K
+/K
+/K
+/L
+/K
+/K
+/K
+/B
+/M
+/F
+/K
+/DX
+/K
+/O
+/K
+/C
+/K
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+/A
+/K
+/M
+/J
+/O
+/K
+
+
+
+/C
+/K
+/A
+/O
+/L
+/K
+/D
+/O
+/K
+/M
+/K
+/M
+/F
+/K
+/K
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+
+
+
+
+
+/I
+
+
+
+/L
+/A
+/B
+
+/K
+/D
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+/F
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/S
+/O
+/K
+/M
+/K
+/O
+/S
+/A
+/K
+
+
+/K
+/K
+/L
+
+
+
+
+/K
+/O
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+/K
+/L
+
+
+
+
+/K
+/K
+/O
+/K
+/O
+/O
+
+
+
+
+
+
+
+/L
+
+
+/K
+/K
+
+
+
+/K
+/K
+
+
+
+
+/H
+/K
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+/K
+/K
+/M
+/O
+/K
+/K
+/A
+/B
+/K
+/A
+/B
+/A
+/B
+
+/D
+/K
+/N
+/M
+/A
+/J
+/M
+/K
+/K
+/L
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/L
+/O
+/K
+/L
+/A
+/K
+/L
+/K
+
+
+
+
+
+
+
+
+
+/A
+/K
+/K
+
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+/K
+/K
+/L
+/L
+/K
+/K
+/K
+/N
+/K
+/K
+/K
+/K
+/K
+/K
+/A
+/K
+/B
+/A
+/K
+/A
+/A
+/K
+/K
+/L
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+/K
+/K
+/K
+/A
+/K
+/A
+/K
+/K
+/K
+/L
+/K
+/L
+/A
+/A
+/K
+/A
+/B
+/K
+/K
+/K
+/K
+/K
+/A
+/A
+/A
+/K
+/O
+/K
+/K
+/A
+/B
+/L
+/K
+/K
+/L
+/K
+/L
+/K
+/K
+/K
+/K
+/K
+/K
+/K
+/K
+/K
+/K
+/A
+/A
+/A
+/A
+/A
+/C
+/K
+/K
+
+/S
+/O
+/S
+/S
+/K
+/S
+/O
+/C
+/S
+/O
+/A
+/O
+/C
+/K
+/K
+/O
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+/A
+/L
+/K
+/A
+/A
+/A
+/C
+/A
+/L
+/A
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/C
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+/A
+
+/S
+/K
+/S
+/C
+/F
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/S
+/K
+/K
+/F
+
+/K
+
+/K
+/L
+
+
+
+
+
+/L
+
+
+/K
+/K
+/K
+
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/K
+/K
+/K
+
+
+
+
+
+/K
+/C
+/K
+/K
+/K
+/S
+
+
+
+
+
+/J
+/S
+/A
+/K
+/B
+/K
+/S
+/O
+/C
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/F
+/K
+/S
+/O
+
+
+/K
+/K
+/L
+/L
+/K
+/B
+/M
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+/S
+/O
+/S
+/O
+/C
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/F
+/L
+/K
+/C
+/K
+/K
+/S
+/O
+/S
+/C
+/S
+/O
+/K
+/S
+/O
+/K
+/K
+/S
+/O
+/C
+/S
+/K
+/S
+/K
+/S
+/O
+/B
+/K
+/S
+/O
+/S
+/S
+/S
+/O
+/S
+/O
+/S
+/S
+/B
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+/L
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/C
+/K
+/C
+/C
+/K
+/K
+/K
+/L
+/N
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/F
+/C
+/S
+/S
+/O
+/S
+/C
+/S
+/A
+/S
+
+/K
+/C
+/K
+/K
+/L
+/K
+/S
+/O
+/K
+/C
+/K
+/S
+/O
+/S
+/A
+/O
+/C
+/K
+/K
+/N
+/K
+/C
+/S
+/O
+/S
+/J
+/S
+/O
+/K
+/S
+/S
+/K
+/S
+/O
+/K
+/S
+/S
+/C
+/K
+/B
+/C
+/K
+/S
+/O
+/C
+/K
+/S
+/O
+/S
+/O
+/C
+/K
+/S
+/K
+/K
+/C
+/K
+/K
+/S
+/O
+/S
+
+
+/K
+
+
+/O
+
+/L
+
+
+
+
+
+
+
+/K
+/K
+/C
+/K
+/B
+
+
+
+
+
+
+
+
+
+/A
+/B
+/C
+
+/H
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/B
+/L
+/K
+/A
+/B
+/E
+/K
+/K
+/C
+/C
+/K
+/C
+/C
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/D
+/S
+/O
+/S
+/M
+/O
+
+/K
+/K
+/S
+/O
+/S
+/S
+/S
+
+
+
+
+
+/J
+/K
+/K
+/S
+/O
+/C
+/K
+/K
+/J
+/S
+/A
+/O
+/C
+/S
+/O
+/F
+/K
+/S
+/O
+/M
+/K
+/K
+/B
+/K
+/C
+/K
+/S
+/S
+/M
+/K
+/B
+/K
+/S
+/K
+/F
+/K
+/K
+/C
+/K
+/K
+/S
+/O
+/C
+/S
+/O
+/K
+/S
+/O
+/S
+/C
+
+
+/K
+/S
+/S
+/O
+/K
+/S
+/O
+/K
+/S
+/J
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/K
+/D
+/K
+/K
+/K
+/L
+/S
+/O
+/I
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+
+
+/S
+/C
+/S
+/S
+/K
+/S
+/C
+/S
+/L
+/S
+/A
+/O
+/C
+/K
+/S
+/C
+/K
+/S
+/K
+/S
+/O
+/K
+/S
+/O
+/C
+/K
+/S
+/O
+/K
+/C
+/F
+/K
+/K
+/S
+/K
+
+/S
+/O
+
+/J
+/C
+/J
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/K
+/C
+
+
+/K
+
+
+
+/M
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/C
+/S
+/C
+/K
+
+/O
+/K
+/K
+/K
+/K
+/L
+/L
+
+
+
+
+/K
+/K
+/K
+/A
+/A
+/K
+/O
+/M
+/O
+/K
+/O
+/K
+/A
+/K
+/K
+/K
+/K
+/K
+/K
+/K
+/K
+/O
+
+/O
+/S
+/O
+/K
+/S
+/A
+/O
+/K
+/C
+/C
+
+
+/K
+/E
+/K
+/L
+
+
+/C
+/M
+/K
+/K
+/L
+/S
+/A
+/C
+/C
+/K
+/K
+/S
+/A
+/O
+/K
+/K
+/C
+/S
+/K
+/O
+/C
+/K
+/S
+/S
+/A
+/B
+/B
+
+/K
+/C
+/K
+/S
+/O
+/C
+/K
+/K
+/M
+/K
+/M
+/S
+/O
+/B
+/C
+/K
+
+/M
+/L
+/K
+/K
+/L
+/K
+/M
+
+/S
+/C
+/K
+/S
+/O
+/C
+/K
+/K
+/S
+/O
+/K
+/L
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/K
+/B
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/K
+/M
+/C
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/A
+/O
+/K
+/K
+/C
+/K
+/K
+/C
+/K
+/S
+/O
+/A
+/C
+/K
+/S
+/O
+/S
+/S
+/O
+/S
+/C
+/K
+/S
+/S
+
+
+/K
+/S
+/O
+/S
+/O
+/C
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+/O
+
+
+/C
+/S
+/O
+/K
+/L
+/E
+/K
+/K
+/B
+
+/O
+/K
+/I
+/S
+/A
+/C
+/K
+/M
+/J
+/M
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/M
+/M
+/J
+/M
+/M
+/D
+/C
+/F
+/K
+/L
+/D
+/A
+/C
+/C
+/D
+/I
+/D
+
+
+/A
+/D
+/C
+/C
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/I
+/C
+/D
+/K
+/J
+/I
+/C
+/D
+/O
+/C
+/C
+/D
+/J
+/C
+/K
+/L
+/K
+/K
+/K
+/K
+/K
+/S
+/O
+/I
+/S
+/O
+/C
+/O
+/K
+/S
+/M
+/K
+/O
+/K
+/S
+/K
+/C
+/K
+/K
+/K
+/K
+/K
+/C
+/K
+/M
+/O
+/K
+/K
+
+
+/K
+
+
+
+/K
+/K
+/K
+/B
+/A
+/C
+/A
+/K
+/K
+/B
+/N
+/C
+/C
+/K
+/K
+/C
+/K
+/K
+/C
+/K
+/A
+/K
+
+/A
+/O
+/C
+/J
+/L
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+/K
+/K
+/C
+/K
+/K
+/K
+/S
+/K
+
+/C
+
+
+
+/C
+/C
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+/C
+/K
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/M
+/K
+/K
+/M
+/C
+/K
+/O
+/K
+/K
+
+
+
+
+
+/C
+/C
+/K
+/C
+/C
+/A
+/L
+/K
+
+/K
+/A
+/C
+/F
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/C
+/K
+/C
+/S
+/O
+/K
+/C
+/K
+/C
+/M
+/K
+/K
+/L
+/C
+/K
+/F
+/D
+
+
+/K
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/J
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/M
+/K
+/C
+/K
+/K
+/K
+/B
+/L
+/C
+/C
+/K
+/K
+/C
+/A
+/C
+/N
+/K
+/C
+/C
+/A
+/N
+/K
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/K
+/F
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/S
+/A
+/O
+
+/K
+
+/K
+
+/O
+/K
+/K
+/K
+/F
+/L
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+
+
+
+
+/A
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/F
+/K
+/K
+/L
+/N
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+
+/C
+/C
+/K
+/K
+/K
+/K
+/C
+/K
+/L
+/K
+/S
+/D
+/C
+/A
+/K
+/S
+/O
+/K
+/K
+/A
+/A
+/C
+/S
+/J
+/C
+/K
+/K
+/S
+/O
+/C
+/K
+/K
+/S
+/A
+/O
+/B
+/K
+/K
+/S
+/O
+/K
+/K
+/S
+/O
+/K
+/O
+/S
+/C
+/K
+/A
+/K
+/S
+/C
+/S
+/K
+/S
+/K
+/C
+/K
+/O
+/K
+/K
+/B
+/K
+
+
+
+/C
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+/K
+/K
+/C
+/S
+/C
+/K
+/K
+/K
+/K
+/K
+/K
+/S
+/A
+/O
+/B
+/C
+/C
+/K
+/K
+/S
+/A
+/O
+/K
+/K
+/C
+/K
+/C
+/K
+/K
+/K
+/K
+/C
+/S
+/L
+/H
+/K
+/K
+/K
+/S
+/O
+/D
+/B
+/L
+/A
+
+/K
+/O
+/K
+/B
+/K
+/K
+/K
+/O
+
+
+/K
+/K
+
+
+
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+/C
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+/J
+
+
+/B
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/M
+/L
+/K
+/L
+/B
+/K
+/BE
+/K
+/B
+/L
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+/L
+/E
+/K
+/K
+/B
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+/A
+/K
+/B
+/K
+/L
+/B
+/K
+/K
+/L
+/K
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+/K
+/B
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+
+
+
+
+
+/A
+/B
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/B
+
+
+/S
+/O
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/K
+/S
+/M
+/O
+/K
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+/K
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/X
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+/N
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/K
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/O
+/C
+/N
+/S
+/O
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/X
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/S
+/S
+/S
+/S
+/S
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/O
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/S
+/S
+/S
+/S
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+/K
+/K
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+/K
+/A
+/L
+
+
+
+
+/S
+/O
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/S
+/O
+/O
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/A
+/B
+/C
+
+/C
+/S
+/O
+/K
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/F
+/C
+/K
+/K
+/K
+/K
+/L
+/K
+/C
+/K
+/C
+/K
+/K
+/K
+/S
+/A
+/O
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+/S
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/J
+/C
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+/K
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+/K
+/M
+/L
+/K
+/K
+/A
+/B
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/K
+/K
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/F
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+/A
+/K
+/K
+/B
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/B
+/K
+/L
+/K
+/K
+/C
+/S
+/O
+/L
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/C
+/L
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/L
+/E
+/L
+/E
+/C
+/L
+/E
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/O
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/L
+/C
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+/O
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+
+
+/K
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/C
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+/S
+/O
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+/S
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/X
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/X
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/K
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/I
+/A
+/B
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/K
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+/A
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/A
+/B
+/K
+/B
+/L
+
+
+
+
+
+
+/L
+
+/K
+/L
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+/S
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/C
+/K
+/B
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/C
+/K
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/B
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/F
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/G
+/K
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+/O
+/S
+/K
+/C
+/B
+/K
+/B
+/F
+/K
+/J
+/B
+
+
+
+
+
+
+
+
+/O
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+/H
+/K
+
+
+
+
+
+
+
+/D
+/C
+/K
+/C
+/A
+/K
+
+
+
+
+
+
+
+
+
+/K
+/K
+/S
+/O
+/M
+/O
+/K
+/K
+/B
+
+
+/K
+/K
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+/K
+/S
+/O
+/K
+/S
+/O
+/K
+/G
+/O
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+/K
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/A
+/A
+/K
+/A
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/O
+/J
+/K
+/K
+/K
+/K
+/K
+/K
+/K
+/B
+/A
+/K
+/B
+/K
+/K
+/D
+/S
+/S
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/B
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/O
+/S
+/O
+/S
+/O
+/C
+/K
+/D
+/C
+/K
+/K
+/K
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/CI
+/K
+/A
+/B
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/BD
+
+
+/AK
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+/K
+
+
+
+
+
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/C
+/K
+/K
+/S
+/D
+/K
+/D
+/C
+/K
+/S
+/A
+
+/E
+
+
+
+
+
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+
+
+/L
+/L
+/K
+/K
+/L
+/K
+/A
+/L
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+/K
+
+/K
+/L
+/B
+/K
+/O
+/K
+/A
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+
+
+
+
+/K
+/B
+/K
+/F
+/M
+/K
+
+
+/M
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/M
+/J
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+/S
+/O
+/K
+/L
+/S
+/O
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/D
+/K
+/A
+/L
+/K
+/K
+
+/M
+/C
+/K
+/K
+/K
+/C
+/J
+/C
+/K
+/C
+/S
+/O
+/F
+/K
+
+
+
+/N
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+/D
+/C
+/K
+
+
+
+
+
+/L
+
+/K
+/S
+/O
+
+/K
+/K
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/C
+/A
+/K
+/A
+/S
+/O
+/L
+/I
+/C
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+/K
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+/O
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+/D
+/K
+/L
+/S
+/O
+/K
+/C
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+/L
+/A
+/B
+/O
+/K
+/B
+
+
+/D
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/O
+/K
+/K
+/B
+/K
+/L
+/K
+
+
+
+
+
+/K
+
+
+/O
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+/K
+/C
+/M
+/K
+/O
+/K
+/A
+
+
+/D
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/K
+
+
+/K
+
+
+
+
+
+
+
+
+
+/A
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/K
+/K
+/D
+/A
+/I
+/C
+/K
+/K
+/A
+/B
+/O
+/B
+/C
+/K
+/L
+/S
+/O
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+/C
+
+
+/K
+/A
+/K
+/C
+/A
+/B
+/K
+/A
+/K
+/K
+/D
+/C
+/L
+/A
+/A
+/K
+/B
+/A
+/A
+/K
+/B
+/K
+/L
+/A
+/A
+/A
+/K
+/L
+/A
+/K
+/A
+/A
+/A
+/A
+/A
+/K
+/L
+/B
+/A
+/A
+/O
+/A
+/A
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+/K
+
+
+/L
+/C
+/I
+/S
+
+
+
+
+
+
+/K
+/C
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+
+
+
+/E
+/K
+/L
+
+
+
+
+
+
+/A
+/K
+/O
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+/L
+/K
+/L
+/C
+/K
+/C
+/O
+/K
+/A
+/K
+/O
+/K
+/A
+/K
+/K
+/E
+/L
+/F
+/O
+
+/C
+/K
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+/K
+/K
+/K
+
+
+
+
+
+
+/K
+/L
+/K
+/B
+/K
+
+
+/A
+
+
+
+/L
+
+
+
+/O
+
+/L
+
+
+/K
+
+
+
+/E
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+/B
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+/A
+/K
+/D
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/D
+/C
+/K
+/K
+/M
+/J
+/C
+/M
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/A
+/K
+/K
+/C
+/C
+/M
+/O
+/O
+/J
+/S
+/F
+/A
+/B
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+/K
+/O
+/L
+/O
+/A
+/K
+/F
+/K
+/L
+/D
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+/S
+/C
+/K
+/A
+/K
+/K
+/S
+/O
+/L
+/F
+/K
+/K
+/K
+/K
+/M
+/K
+/B
+/K
+/A
+/C
+/A
+/A
+/O
+/K
+/S
+/O
+/K
+/F
+/K
+/K
+/M
+/K
+/K
+/M
+/K
+/K
+/L
+
+/K
+/K
+/K
+/F
+/M
+/S
+/K
+/K
+
+
+
+/C
+/S
+/A
+/K
+/M
+/K
+/K
+/M
+/K
+/S
+/K
+/K
+/K
+
+
+/K
+
+
+
+/M
+/K
+/J
+/M
+/F
+/K
+/B
+/K
+/M
+/K
+/B
+
+
+/C
+/K
+
+
+
+/K
+/L
+
+
+
+
+/K
+
+
+
+
+
+
+
+/L
+/O
+/K
+/L
+/K
+/K
+/B
+
+
+/B
+/L
+/K
+/L
+/L
+/L
+/K
+/L
+/A
+/L
+/L
+/K
+/A
+/K
+/A
+/B
+/L
+/A
+
+/B
+/L
+
+
+
+/L
+
+/K
+/K
+/A
+/L
+/K
+/L
+/A
+/K
+/L
+/L
+/K
+/K
+/B
+/K
+/K
+/O
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+/K
+/K
+/K
+/L
+/K
+/K
+/K
+/L
+/K
+/B
+/K
+/O
+/K
+/A
+/K
+/K
+/K
+/K
+/K
+/K
+/K
+/M
+/A
+/K
+/A
+/K
+/K
+/A
+/K
+/K
+/A
+/K
+/K
+/K
+/A
+/K
+/K
+/K
+/L
+/B
+/A
+/C
+/K
+/A
+/K
+/A
+/K
+/A
+/K
+/K
+/K
+/K
+/K
+/A
+/K
+/K
+/B
+/A
+/K
+/L
+/K
+/K
+/K
+/K
+/A
+/K
+/K
+/L
+/A
+/K
+/L
+/K
+/A
+/B
+/K
+/K
+/B
+/A
+/K
+/A
+
+/K
+/O
+/K
+/B
+/K
+/K
+/A
+/K
+/K
+/K
+/A
+/A
+/A
+/C
+/K
+/A
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/K
+/A
+/K
+/A
+/K
+/L
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+/L
+/D
+
+/K
+/K
+/K
+/L
+/O
+
+
+
+
+
+/K
+/O
+/K
+/K
+/K
+/O
+
+
+
+
+
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+/G
+/K
+/K
+/L
+/M
+/O
+/A
+/C
+/K
+/K
+/L
+/J
+/K
+/K
+/L
+/O
+/K
+/K
+/K
+/C
+/K
+/S
+/L
+/S
+/K
+
+/D
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+/O
+
+
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/B
+/C
+/K
+/K
+/B
+/K
+/S
+/A
+/O
+/B
+/C
+/K
+/O
+/C
+/K
+/K
+/K
+/S
+/O
+/C
+/K
+/K
+/C
+/C
+/K
+/M
+/C
+
+
+/K
+
+
+
+/K
+/F
+/K
+/K
+/K
+/B
+/C
+/C
+/K
+/S
+/O
+/K
+/M
+/O
+/K
+/C
+/A
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+
+
+
+/C
+/D
+/D
+/C
+/K
+/K
+/S
+/A
+/O
+/S
+/O
+/C
+/C
+/C
+/K
+/F
+/K
+/K
+/K
+/F
+/K
+/K
+/C
+/O
+/K
+/B
+/K
+/K
+/S
+/O
+/S
+/O
+/K
+/B
+/C
+/K
+/K
+/K
+/C
+/K
+/C
+/K
+/K
+/S
+/O
+/C
+/K
+/K
+/S
+/S
+/S
+/C
+/K
+/K
+/K
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/B
+/K
+/J
+/K
+/C
+/K
+/C
+/K
+/C
+/K
+/S
+/O
+/I
+/K
+/S
+/O
+/C
+/K
+/K
+/B
+/M
+/C
+/K
+/K
+/K
+/K
+/S
+/O
+/S
+/O
+/K
+/C
+/K
+/K
+/B
+/K
+/C
+/K
+/B
+/C
+/S
+/O
+/K
+/K
+/B
+/S
+/O
+/K
+/C
+/K
+/K
+/S
+/O
+/S
+/O
+/K
+/K
+/C
+/M
+/C
+/K
+/K
+/B
+/A
+/S
+/S
+/M
+/K
+/S
+/O
+/K
+/B
+/S
+/C
+/K
+/K
+/K
+/B
+
+/C
+/C
+/K
+/B
+/K
+/K
+/O
+/K
+/S
+/O
+/O
+/K
+/K
+/K
+/S
+/A
+/O
+/C
+/K
+/K
+/L
+/C
+/C
+/C
+/C
+/C
+/H
+/A
+/K
+/K
+/L
+/N
+/C
+/K
+/K
+/C
+/C
+/K
+/O
+/C
+/K
+/L
+/K
+/C
+/K
+/K
+/K
+/L
+/K
+/C
+/S
+/C
+/K
+/M
+/C
+/K
+/C
+/C
+/N
+/O
+/C
+/C
+/K
+/C
+/E
+/K
+/D
+/K
+/S
+/K
+/K
+/O
+/B
+/O
+/O
+/C
+/K
+/A
+/B
+/O
+/B
+/L
+/A
+/B
+/K
+/C
+/K
+/K
+/O
+/K
+/K
+/K
+/K
+/K
+/K
+/C
+/K
+/K
+/K
+/O
+/K
+/K
+/K
+/C
+/K
+/N
+/K
+/K
+/K
+/D
+/C
+/K
+/S
+/B
+/C
+/A
+/K
+/J
+/L
+/K
+/K
+/C
+/K
+/C
+/K
+/K
+/K
+/S
+/O
+/C
+/S
+/O
+/M
+/C
+/K
+/K
+/K
+/K
+/K
+/C
+/K
+/K
+/B
+/K
+/C
+/K
+/C
+/AK
+/A
+/C
+/K
+/A
+/K
+/K
+/C
+/S
+/A
+/O
+/D
+/A
+/K
+/K
+/S
+/O
+/L
+/K
+/K
+/K
+
+
+/K
+/K
+
+
+
+/K
+/C
+/K
+/S
+/O
+/F
+/K
+/K
+/L
+/K
+/K
+/S
+/O
+/C
+/L
+/E
+/K
+/K
+/S
+/O
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/M
+/B
+/K
+/M
+/O
+/M
+/K
+/K
+/J
+/C
+/K
+/C
+/S
+/O
+/S
+/O
+/S
+/K
+/K
+/K
+/B
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+/C
+/K
+
+
+/K
+
+
+
+/O
+/K
+/K
+/L
+/S
+/K
+/B
+/K
+/D
+/B
+/O
+/O
+/O
+/A
+/K
+/K
+
+
+
+
+
+/K
+/K
+/B
+/E
+/M
+/K
+/K
+/K
+
+
+
+
+
+/K
+/C
+/K
+/K
+
+
+/K
+/K
+/K
+
+
+
+/K
+/S
+/A
+/O
+/M
+/F
+/K
+/L
+/C
+/K
+/K
+/K
+/C
+/K
+/K
+/K
+/K
+/J
+
+/C
+/K
+/K
+/K
+/K
+/K
+/C
+/C
+/K
+/K
+/K
+/C
+/K
+/K
+
+
+/K
+
+
+
+/K
+/K
+/K
+/K
+/K
+/C
+/C
+/K
+/K
+/K
+/M
+/K
+/L
+/K
+/O
+/K
+/K
+/K
+/C
+/A
+/K
+/F
+/K
+/K
+/K
+/K
+/K
+/K
+/K
+/K
+/O
+/C
+/K
+/C
+/C
+/K
+
+
+
+
+
+/N
+/K
+/K
+/C
+/K
+/C
+/K
+/K
+/K
+/K
+/C
+
+
+
+/J
+/F
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/N
+/K
+/K
+/K
+/B
+/O
+/K
+/K
+/L
+/K
+/C
+/K
+/M
+/C
+/K
+/C
+/A
+/K
+/O
+/K
+/S
+/K
+/C
+/S
+/M
+/K
+/K
+/C
+/S
+/A
+/K
+/K
+/K
+/K
+
+
+/K
+/L
+
+
+
+/J
+/C
+/K
+/B
+/K
+/K
+/K
+/K
+/L
+/K
+/K
+/K
+/A
+/K
+/C
+/K
+/K
+/C
+/K
+/K
+/S
+/C
+/K
+/K
+/C
+/S
+/O
+/C
+/M
+/K
+/L
+/K
+/C
+/K
+/K
+/K
+/J
+/K
+/C
+/S
+/A
+/O
+/K
+/K
+/B
+/L
+/C
+/L
+/E
+/K
+/C
+/S
+/M
+/K
+/K
+/K
+/B
+/K
+/L
+/K
+/K
+/K
+/K
+
+
+
+
+
+/C
+/K
+/K
+/S
+/C
+/K
+/A
+/C
+/C
+/K
+/K
+/S
+/M
+/C
+/K
+/K
+/C
+/K
+/C
+/S
+/O
+/J
+/K
+/C
+/K
+/A
+
+
+/S
+/K
+/K
+/K
+
+
+
+/K
+/L
+/K
+/K
+/K
+/K
+/K
+/C
+/K
+/K
+/K
+/K
+
+
+/K
+/K
+
+
+
+
+
+
+
+
+/C
+/D
+
+/K
+/K
+/K
+/K
+/K
+/C
+/K
+/C
+/K
+/K
+/K
+/C
+/K
+/C
+/K
+/B
+/J
+/K
+/B
+/K
+/M
+/B
+/C
+/K
+/B
+/C
+/K
+/K
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/C
+/K
+/C
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/O
+
+
+
+
+
+
+/D
+/D
+/C
+/C
+/S
+/D
+/S
+/K
+/E
+/K
+/K
+/O
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/D
+/C
+/A
+/C
+/J
+/B
+/K
+/E
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+/K
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+/C
+/K
+/S
+/B
+/K
+/A
+/C
+/L
+
+
+
+
+
+
+
+
+
+
+
+/C
+/J
+/C
+/K
+/C
+/K
+/D
+/A
+
+/K
+/S
+/C
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/J
+/A
+
+/C
+/L
+
+
+/C
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/N
+/L
+/N
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+/K
+/B
+/C
+/A
+/S
+/A
+
+
+
+
+
+
+/J
+
+/E
+/K
+/K
+/K
+/L
+
+
+
+
+/K
+/E
+/K
+/K
+
+
+/C
+/K
+/C
+/K
+/C
+/K
+/K
+/K
+/K
+/K
+/K
+/M
+/K
+/S
+/A
+/O
+/C
+/K
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/A
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+
+/C
+
+
+
+
+
+
+
+/K
+
+/M
+/E
+/K
+/L
+
+/L
+/L
+
+
+
+
+
+
+/K
+/A
+/B
+
+
+/C
+/K
+/S
+/O
+/A
+/O
+/B
+/B
+/L
+/S
+/O
+/D
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+/K
+/L
+/B
+/K
+/E
+/K
+/K
+/C
+/A
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/N
+
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/B
+/S
+/K
+/L
+/B
+/A
+/K
+/B
+/C
+/K
+/B
+/A
+/K
+/K
+/L
+/J
+/K
+/M
+/F
+/K
+/K
+/L
+/A
+/L
+/K
+/B
+/L
+/A
+/A
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+/K
+/B
+/A
+/B
+/K
+/K
+/B
+/A
+/K
+/A
+/K
+/L
+/B
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+/D
+
+
+/C
+/C
+/K
+/C
+/E
+/K
+/K
+/L
+/K
+/E
+/K
+/L
+/AK
+/JL
+/L
+/L
+/L
+/K
+/L
+/E
+/K
+/L
+/K
+/K
+/K
+/D
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/B
+
+/K
+/M
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+/K
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+/L
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+
+
+/G
+/K
+/L
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+/J
+/S
+/C
+/K
+/M
+/F
+/K
+/K
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/A
+/A
+/A
+/K
+/A
+/J
+
+
+/K
+/K
+/A
+/A
+/A
+/A
+/A
+/K
+/J
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+/C
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/E
+/K
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+
+
+
+
+/AK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/H
+/K
+
+
+
+
+
+/L
+/S
+/O
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+/A
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+/K
+/B
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/O
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+
+
+
+
+
+
+
+
+
+/K
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+/E
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+/B
+/A
+/B
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/H
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/S
+/C
+/K
+/L
+/E
+/K
+/K
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/O
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+/L
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/H
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/L
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/X
+/L
+/O
+/K
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/K
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+/K
+/J
+
+
+/K
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+
+
+
+
+
+/L
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/B
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/A
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+
+
+
+
+
+/S
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/A
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/S
+/O
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+/K
+/L
+/E
+/K
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+/E
+/O
+/L
+/J
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/B
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/S
+/O
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/S
+/O
+/L
+/E
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/O
+/A
+/B
+/B
+/C
+/L
+/L
+/E
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+/L
+/E
+/K
+/L
+/C
+/K
+/B
+/S
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+
+
+
+
+
+
+
+/A
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/G
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+/H
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/S
+/O
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+/H
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/E
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+/O
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/H
+/K
+
+
+
+
+
+/O
+/K
+/L
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/N
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/L
+/M
+/C
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+/L
+/K
+/B
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/I
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+/M
+/K
+
+
+
+
+
+
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+/H
+/K
+/B
+
+
+
+
+
+/K
+
+/O
+/L
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+/C
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+/S
+/O
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+/S
+/O
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/G
+/K
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/K
+/O
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/S
+/O
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+/L
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+/D
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/AK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/K
+/K
+/L
+/M
+/K
+/A
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/L
+/K
+/K
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/E
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/A
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+
+
+/O
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/A
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/L
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+/S
+/O
+/E
+/K
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/H
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+/B
+/K
+/C
+/K
+/B
+/K
+/N
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+
+/AK
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/K
+
+
+
+
+
+/O
+/K
+/K
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+
+
+
+
+
+/K
+/L
+
+/S
+/O
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+/K
+/K
+/K
+/K
+/K
+/M
+/K
+/L
+/K
+/C
+/K
+/L
+/E
+/L
+/K
+/C
+/L
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+/K
+/E
+/K
+/K
+/L
+/J
+/K
+
+
+/A
+/DO
+/A
+/H
+/C
+/K
+/K
+/S
+/A
+/K
+/A
+/C
+/A
+/L
+/K
+/K
+/B
+/B
+/L
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+
+
+
+
+
+
+/B
+/D
+/E
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+/N
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+/A
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/A
+/J
+
+
+/K
+
+
+
+
+
+
+/K
+/O
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+/K
+/B
+
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+/L
+/K
+/O
+/O
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+/A
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/L
+/K
+/A
+/A
+/A
+/O
+/A
+/E
+/L
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+/L
+/K
+/L
+/E
+/L
+/L
+/K
+/F
+/K
+/K
+/K
+/C
+/K
+/K
+/L
+/K
+/K
+/O
+/K
+/L
+/E
+/L
+/C
+/K
+/L
+/C
+/K
+/L
+/A
+/M
+/O
+/M
+/K
+/L
+/K
+/K
+/C
+/K
+/O
+/K
+
+/K
+/L
+
+
+
+/A
+
+
+
+
+/C
+/K
+/C
+
+
+/K
+/K
+/K
+/D
+/S
+/O
+/E
+/K
+/K
+/L
+/L
+/K
+/M
+
+/K
+/C
+/O
+/K
+/K
+/K
+/M
+/A
+/B
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/A
+/E
+/K
+/K
+/L
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+/K
+/L
+
+
+
+
+
+
+
+
+
+/A
+/F
+/A
+/K
+/K
+/A
+/A
+/G
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+/K
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+/A
+/B
+/K
+/L
+/K
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+/L
+/K
+/B
+/L
+/M
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/L
+/L
+
+
+
+
+
+
+/E
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+/K
+/K
+/A
+/L
+/A
+/B
+/A
+/K
+/L
+/K
+/B
+/L
+/K
+/K
+/L
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+/N
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/K
+/K
+
+
+
+
+/K
+
+
+
+
+
+
+
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/L
+/K
+/K
+/N
+/A
+/K
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/A
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+
+
+
+
+
+
+/A
+/B
+/K
+/B
+
+
+
+
+
+/K
+/K
+/H
+/K
+/J
+/K
+/K
+/C
+/O
+
+
+
+
+
+
+
+/L
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/DO
+/A
+
+
+
+
+/H
+/K
+/L
+/A
+/B
+/L
+/S
+
+/L
+/K
+/B
+/E
+/K
+/L
+
+
+
+
+
+
+
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+/K
+/B
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/O
+/K
+/K
+/K
+/J
+/S
+/K
+/K
+/S
+/A
+/K
+/C
+/K
+/K
+/D
+/K
+
+
+/K
+/K
+/K
+
+/K
+
+
+/M
+/D
+
+
+
+
+
+/K
+/O
+/K
+/K
+/K
+/K
+/K
+/D
+/K
+/B
+
+
+/K
+/L
+/C
+
+/D
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+/K
+/B
+/K
+
+
+
+
+
+
+/K
+
+/L
+
+
+
+
+
+
+/E
+/K
+/K
+/K
+/M
+
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+/G
+/K
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/N
+/C
+/M
+/C
+/K
+/C
+/E
+/A
+
+
+
+
+
+/K
+/O
+/C
+/A
+
+
+
+
+
+/N
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/E
+/K
+/K
+/L
+/K
+/K
+/L
+/O
+/K
+/A
+/K
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+/L
+/K
+/A
+/S
+/O
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/A
+
+
+
+
+
+
+
+
+/B
+/L
+/K
+/L
+/C
+/K
+/K
+/E
+/K
+/L
+/M
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/O
+/G
+/S
+/O
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+/K
+/C
+/M
+/C
+/K
+/K
+/K
+/A
+/O
+/K
+/A
+/K
+/K
+/K
+/K
+/A
+/A
+/K
+/K
+/J
+/K
+/S
+/O
+/L
+/K
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+/L
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+/G
+/K
+
+
+/O
+/A
+/B
+/K
+/M
+/L
+/K
+/K
+/C
+/K
+/K
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/K
+/S
+/O
+/M
+/C
+/K
+/K
+/K
+/L
+
+/B
+
+
+
+
+
+/K
+/C
+/K
+/K
+/S
+/A
+/O
+/K
+/B
+/K
+/K
+/K
+
+
+/S
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/K
+/K
+/C
+/K
+/K
+/K
+/K
+/C
+/S
+/M
+/K
+/K
+/K
+/K
+/C
+/K
+/O
+/K
+/K
+/L
+/L
+/J
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+/S
+/O
+/E
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+
+
+
+
+
+
+
+
+
+/C
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+/K
+
+
+
+
+
+
+
+
+/O
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+/AK
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+/E
+
+
+
+
+
+/B
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/AL
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+/A
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+/K
+/B
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/A
+/B
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/C
+/K
+/S
+/O
+/G
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/S
+/O
+
+/A
+/B
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/K
+/A
+/K
+/K
+/K
+/K
+/K
+/K
+/K
+/L
+/K
+/K
+/K
+/K
+/K
+/K
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/O
+/K
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/B
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+/O
+/K
+
+
+
+
+
+
+
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/X
+/L
+/E
+/K
+/K
+/L
+/K
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+/K
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/A
+/O
+/B
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+/B
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+/S
+/O
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/H
+
+
+
+
+/A
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/S
+/O
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+/S
+/O
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/S
+/O
+/C
+
+
+
+
+/AK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+
+
+
+
+
+/L
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+
+
+
+
+
+/B
+/A
+/B
+/L
+/C
+/K
+/L
+/L
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+/S
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+/K
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/A
+/B
+/K
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+/K
+/L
+/O
+/L
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+
+
+
+
+/A
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+/S
+/O
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+
+
+
+
+/AK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+/O
+/K
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+/K
+/K
+/L
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/C
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+/K
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+/C
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+
+
+
+/S
+/O
+/L
+/B
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/B
+/S
+/O
+
+
+
+
+/AK
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+
+
+
+
+
+
+
+/K
+/S
+/O
+/G
+/K
+/L
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/C
+/K
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+/S
+/O
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+/B
+/K
+/L
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+/K
+/K
+/M
+/K
+/C
+/A
+/S
+/A
+/O
+/B
+/C
+/C
+/K
+/K
+/K
+/K
+/M
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/A
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+/C
+/C
+/K
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/H
+/K
+
+
+
+
+
+
+/S
+/O
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/AC
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+/L
+
+
+/E
+/K
+/K
+
+
+
+
+
+
+/S
+/O
+/G
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/K
+/L
+/K
+
+
+
+
+
+
+/K
+/K
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+/B
+/S
+/O
+/G
+/K
+/S
+/O
+/K
+/E
+/K
+/K
+/L
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/AK
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/H
+/K
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/G
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/O
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+/S
+/S
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+/S
+/O
+/S
+/O
+/X
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/S
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+/E
+/K
+/K
+/B
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+
+
+
+/S
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/H
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/S
+/O
+/L
+/C
+
+/AK
+
+
+
+
+
+
+
+
+
+
+
+/A
+/E
+/K
+/K
+/B
+
+
+
+
+
+/B
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/M
+/K
+/K
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/G
+/E
+/K
+/K
+/K
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+/L
+/E
+
+
+
+
+
+
+/L
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/I
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/AK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/L
+/M
+/K
+/K
+/S
+/O
+
+/A
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/H
+/K
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+/B
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/L
+/C
+/A
+
+/S
+/O
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/S
+/S
+/O
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/H
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+/B
+
+
+/K
+/B
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/H
+/K
+
+
+
+
+
+
+/S
+/O
+/A
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/A
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+
+
+
+
+
+/L
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/K
+/L
+/B
+/K
+
+
+/K
+/K
+/S
+/O
+/K
+/L
+/L
+/C
+/K
+/F
+/C
+/K
+/S
+/M
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/F
+/K
+/K
+/B
+/K
+/K
+/C
+/L
+/L
+/C
+/K
+/N
+/C
+
+/O
+/M
+/F
+/K
+/K
+/K
+/B
+/C
+/C
+/K
+/K
+/S
+/O
+/K
+/F
+/K
+/K
+/K
+/S
+/O
+/A
+
+/K
+/M
+/S
+/C
+/JO
+/K
+/B
+/E
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/B
+
+
+
+
+/K
+/L
+/A
+/K
+/B
+/O
+/K
+/S
+/A
+/O
+
+/F
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/F
+/K
+/K
+/S
+/O
+/S
+/C
+/K
+/B
+/C
+/C
+/A
+/K
+/F
+/K
+/L
+/K
+/M
+/F
+/K
+/K
+/K
+/K
+/C
+/K
+/S
+/O
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/I
+/K
+/S
+/O
+/K
+/B
+/K
+/K
+/S
+/O
+/L
+/M
+/F
+/K
+/K
+/K
+/K
+/F
+/K
+/K
+/K
+/S
+/A
+/O
+/C
+/K
+/K
+/B
+/S
+/O
+/K
+/K
+/S
+/O
+/C
+
+
+
+
+
+/A
+/L
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/F
+/K
+/S
+/B
+/C
+/C
+/K
+/K
+/S
+/O
+/K
+/K
+/K
+/C
+/K
+/S
+/A
+/O
+/S
+/O
+/F
+/K
+/K
+/K
+/K
+/K
+/C
+/K
+/C
+/K
+/S
+/A
+/O
+/M
+/L
+/K
+/K
+/J
+/F
+/K
+/K
+/S
+/O
+/M
+/F
+/K
+/K
+/B
+/B
+/L
+/A
+/M
+
+/K
+/K
+/K
+/C
+/K
+/S
+/C
+/K
+/K
+/K
+/B
+
+
+/M
+/K
+/M
+/K
+/O
+
+
+
+
+
+/M
+/K
+/C
+/O
+/J
+/K
+/B
+/C
+/K
+/K
+/K
+/K
+/C
+/K
+/K
+/K
+/L
+/K
+/S
+/O
+/M
+/K
+/S
+/K
+/B
+/K
+/S
+/O
+/C
+/K
+/F
+/K
+/K
+/L
+/C
+/K
+/K
+/S
+/O
+/K
+/K
+/B
+/F
+/K
+/S
+/O
+/K
+/F
+/K
+/K
+/S
+/O
+/J
+/S
+/O
+/F
+/K
+/K
+/K
+/K
+/K
+/L
+/K
+/K
+/S
+/O
+/K
+/S
+/O
+/K
+/S
+/O
+/C
+/K
+/K
+/C
+/K
+/K
+/K
+/L
+/K
+/K
+/K
+/K
+/S
+/L
+/K
+/K
+/L
+/C
+/C
+
+
+/K
+
+
+
+/K
+/S
+/O
+/K
+/S
+/O
+/F
+/C
+/K
+/K
+/L
+/K
+/K
+/C
+/K
+/K
+/S
+/O
+/C
+/K
+/K
+/K
+/S
+/O
+/K
+/C
+/K
+/C
+/K
+/K
+/S
+/K
+/C
+/K
+/S
+/O
+/F
+/K
+/K
+/K
+/C
+/K
+/S
+/C
+/K
+/O
+/C
+/K
+/S
+/C
+/C
+/C
+/K
+/S
+/S
+/O
+/K
+/K
+/C
+/K
+/B
+/C
+/K
+/S
+/O
+/C
+/B
+/C
+/K
+/L
+/S
+/M
+/K
+/B
+/F
+/K
+/B
+/K
+/K
+/C
+/K
+/L
+/K
+/B
+/C
+/C
+/K
+/S
+/O
+/K
+/F
+/C
+/K
+/C
+/S
+/O
+/C
+/K
+/K
+/K
+/K
+/J
+/S
+/O
+/K
+/C
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/S
+/K
+/A
+/K
+/K
+/K
+/K
+/C
+/C
+/K
+/S
+/O
+/M
+/F
+/K
+/K
+/B
+/S
+/O
+/F
+/K
+/C
+/K
+/S
+/O
+/K
+/S
+/O
+/F
+/K
+/K
+/K
+/S
+/O
+/C
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/N
+/K
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/K
+/K
+/S
+/K
+/K
+/K
+/C
+/K
+/K
+/K
+/C
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/S
+/S
+/K
+/K
+/K
+/K
+/S
+/K
+/M
+/K
+/C
+/K
+/K
+/S
+/M
+/B
+/C
+/K
+/S
+/A
+/O
+/K
+/B
+/K
+/C
+/C
+/K
+/S
+/O
+/C
+/K
+/K
+/K
+/K
+/K
+/A
+/K
+/O
+/K
+/F
+/K
+/K
+/K
+/S
+/O
+/B
+/O
+/A
+/K
+/K
+/A
+/S
+/K
+/K
+/K
+/C
+/K
+/S
+/O
+/S
+/O
+/C
+/C
+/K
+/D
+/K
+/K
+/S
+/A
+/O
+/K
+/O
+/K
+/K
+/K
+/K
+/L
+/K
+/K
+/K
+/M
+/B
+/K
+/B
+/K
+/B
+/C
+/K
+/K
+
+
+
+/C
+/K
+/L
+/K
+/K
+/S
+/O
+/K
+/K
+/K
+/K
+/D
+/S
+/O
+/A
+/K
+
+
+/A
+/O
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+
+
+
+
+/K
+
+/H
+/K
+
+
+
+
+
+
+
+
+
+/A
+/L
+/K
+/K
+/I
+/S
+/K
+/L
+/K
+/A
+/K
+/C
+/K
+/K
+/S
+/O
+/K
+/K
+/K
+/K
+/K
+/K
+/B
+/K
+/M
+/K
+/O
+/C
+/K
+/K
+/K
+/K
+/K
+/B
+/K
+/A
+/L
+/K
+/K
+/K
+/K
+
+
+
+
+
+
+/K
+/K
+/N
+
+
+/K
+
+
+
+/C
+/J
+/O
+/L
+/K
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/O
+/S
+/K
+/K
+/K
+/K
+/C
+/K
+/O
+/K
+/L
+/M
+/K
+/CD
+/K
+/S
+/O
+/A
+/C
+/C
+/L
+/C
+/K
+/K
+/K
+/S
+/K
+/C
+/K
+/O
+/K
+/L
+/K
+/C
+/S
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/J
+/K
+/J
+/C
+/K
+/S
+/O
+/D
+/K
+/C
+/K
+/K
+/C
+/K
+/C
+/J
+/O
+/C
+/KM
+/F
+/K
+/F
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+/K
+/L
+/M
+/K
+/K
+/L
+/K
+/K
+/K
+/C
+/C
+/S
+/K
+/C
+/N
+
+
+/C
+/M
+
+
+
+/O
+
+
+
+
+
+/C
+
+/K
+
+
+
+
+/O
+
+
+
+
+
+/K
+
+
+
+
+/J
+/A
+
+
+
+
+
+/M
+
+
+
+/C
+/A
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/N
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+/C
+
+/K
+/K
+/L
+/M
+
+
+/K
+
+
+/J
+/K
+/A
+/C
+
+/K
+/L
+
+/L
+/K
+/O
+/K
+/S
+/O
+/C
+/L
+/K
+/C
+/K
+/K
+/C
+/K
+/C
+/K
+
+/C
+/K
+/O
+/M
+/C
+/K
+/O
+/A
+/K
+/D
+
+/D
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+/A
+
+
+
+
+
+
+
+
+/A
+
+
+/K
+/K
+
+/C
+/A
+
+
+
+/O
+/A
+
+/L
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+/C
+/S
+/N
+/O
+
+
+/M
+/C
+/K
+/C
+/J
+/K
+/C
+/K
+
+/C
+/K
+
+
+/C
+/K
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+/C
+/A
+/S
+/O
+/S
+/C
+/N
+/C
+/K
+/S
+/K
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/A
+/K
+
+/M
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+/C
+/S
+/C
+/K
+/S
+/O
+/C
+/O
+/O
+/C
+/K
+/K
+/L
+/K
+/K
+/N
+/C
+/K
+/B
+/K
+/A
+/M
+/K
+/J
+/O
+/M
+/J
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/K
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/A
+
+/K
+/S
+/A
+/O
+/S
+/O
+
+
+/C
+/C
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+
+
+/C
+/K
+/C
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+/K
+/K
+/K
+
+/A
+
+
+/C
+/C
+/A
+/K
+/K
+/E
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+/K
+/A
+/A
+/A
+/A
+/A
+/A
+/L
+/K
+/L
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/C
+/K
+/C
+/L
+/K
+/J
+/K
+/E
+/K
+/K
+/C
+/K
+/K
+/L
+/B
+/K
+/K
+/C
+/K
+/S
+/O
+/C
+/K
+/A
+/K
+/O
+/A
+
+
+
+/O
+
+
+/J
+/C
+/A
+/C
+/K
+/C
+/K
+/K
+/K
+/L
+/K
+/K
+/C
+/M
+/K
+/K
+/K
+/S
+/O
+/M
+/C
+/J
+/A
+/K
+/C
+/K
+/J
+/C
+/K
+/N
+/K
+/F
+/S
+/O
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/S
+/O
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+/K
+/A
+/K
+
+/C
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/S
+/M
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/K
+/C
+/K
+/K
+/K
+/S
+/O
+/O
+/C
+/K
+/K
+/D
+/C
+/M
+/C
+/J
+/K
+/K
+/L
+/K
+/C
+/F
+/K
+/K
+/J
+/C
+/K
+/K
+/K
+/K
+/F
+/K
+/L
+/K
+/J
+/C
+
+
+/C
+/A
+/K
+/O
+
+
+
+
+
+
+
+
+
+/C
+
+/K
+
+
+
+
+/S
+/O
+/L
+
+
+
+
+/C
+/K
+/J
+/K
+/S
+/O
+
+
+
+/K
+/C
+/O
+
+
+/J
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/B
+/C
+/K
+/K
+/S
+/O
+/M
+/F
+/K
+/A
+/L
+/E
+/F
+/K
+/I
+/O
+/K
+/S
+/C
+/K
+/K
+/K
+/S
+/O
+/C
+/M
+/K
+/K
+/A
+/K
+/C
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+/C
+/S
+/O
+/K
+/C
+/C
+/K
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/K
+/S
+/A
+/S
+/O
+/C
+/S
+/O
+/J
+/K
+/O
+
+
+/K
+/F
+/K
+/C
+/M
+/M
+/K
+/O
+/C
+/K
+/C
+/K
+/S
+/C
+/C
+/A
+/K
+/S
+/A
+/J
+/C
+/A
+/O
+/K
+/K
+/K
+/S
+/K
+/J
+/C
+/J
+/L
+/A
+/C
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+/K
+/C
+/A
+/C
+/C
+/K
+/K
+/S
+/O
+/C
+/C
+/C
+/K
+/K
+/S
+/C
+/K
+/F
+/K
+/K
+/K
+/C
+/K
+/K
+/K
+
+
+/K
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+/J
+/K
+/K
+/K
+/C
+/K
+/M
+/F
+/K
+/K
+/C
+/K
+
+
+
+
+
+/K
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/F
+/K
+
+
+
+
+
+
+
+/D
+/S
+/A
+/O
+/C
+/L
+/K
+/C
+/K
+/A
+/C
+/C
+/K
+/J
+/C
+/K
+/M
+/K
+/M
+/L
+/K
+/C
+/D
+/A
+/D
+/K
+/L
+/K
+/C
+/C
+/L
+/K
+/C
+/S
+/C
+/C
+/E
+/K
+/K
+/K
+/K
+/K
+/K
+/B
+/S
+/K
+/C
+/S
+/O
+/K
+/K
+/K
+/G
+/K
+/C
+/K
+/A
+/J
+/K
+/E
+/K
+/S
+/O
+/K
+/C
+/A
+/M
+
+
+/K
+/K
+/C
+/K
+/J
+/K
+/E
+/K
+/K
+/C
+/K
+/C
+/K
+/K
+/S
+/O
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+/K
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/C
+/K
+/C
+/K
+/K
+/S
+/O
+/C
+/K
+/K
+/K
+/K
+/C
+/K
+/C
+/A
+/G
+/K
+/K
+/C
+/A
+/C
+/K
+/K
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+/C
+
+
+/D
+/M
+/M
+/M
+/K
+/K
+/O
+/K
+/K
+/C
+/S
+/O
+/K
+/K
+/K
+/S
+/O
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/C
+/S
+/O
+/K
+/C
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/S
+/O
+/K
+/B
+/K
+/K
+/K
+/K
+/A
+/C
+/G
+/K
+/K
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+
+
+
+/C
+/N
+/C
+/C
+/A
+/C
+/C
+/J
+/C
+
+/C
+/K
+
+
+
+
+/C
+
+/M
+
+/K
+/L
+/K
+/K
+/K
+/K
+
+
+
+
+/K
+/K
+/L
+/A
+/K
+/K
+/A
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/C
+/E
+/K
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/N
+/K
+/K
+/M
+/K
+/K
+/K
+/C
+/B
+/K
+/O
+/O
+/A
+/K
+/C
+/J
+/K
+/K
+/C
+/K
+/K
+/J
+/A
+/J
+/C
+/A
+/A
+/N
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/E
+/K
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+/S
+/O
+/J
+
+
+
+
+
+
+
+
+
+/A
+/O
+/B
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+/K
+/K
+/A
+/E
+/C
+/S
+/K
+/A
+/C
+/B
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/K
+/C
+/J
+/K
+/K
+/K
+
+/O
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+/C
+/C
+/K
+/K
+/K
+/J
+/C
+/K
+/K
+/N
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/S
+/A
+/O
+/B
+/C
+/C
+/A
+/K
+/C
+/K
+/C
+/C
+/K
+/C
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/A
+/D
+
+
+
+
+
+/K
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+/K
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+/C
+/K
+/C
+/J
+/K
+/M
+/C
+/A
+/J
+/C
+/C
+/K
+/A
+/N
+
+/D
+/K
+
+
+/A
+/B
+/K
+/D
+/C
+/J
+/C
+/M
+/C
+/C
+/K
+/K
+/C
+/K
+/L
+/D
+/C
+/K
+/J
+/M
+/N
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+/O
+/K
+/K
+/C
+/C
+/K
+/M
+/O
+/C
+/K
+/C
+/K
+/A
+/A
+/K
+/K
+/M
+/C
+/C
+/C
+/C
+/A
+/K
+/A
+/K
+/K
+/C
+/A
+/A
+/J
+/C
+/D
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/C
+/K
+/D
+/D
+/J
+/I
+/S
+/O
+
+
+
+
+/K
+/S
+/O
+/K
+/K
+/L
+/I
+/I
+/B
+/K
+/K
+/D
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/A
+/M
+/J
+/C
+/I
+/K
+/C
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/K
+/S
+/O
+/C
+/K
+/C
+/L
+/K
+/C
+/E
+/K
+/K
+/L
+/K
+/J
+/F
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/CD
+/D
+/AC
+/CD
+/D
+/C
+/N
+/K
+
+/C
+/K
+
+
+/K
+/K
+/A
+
+
+
+/D
+/CD
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/K
+/K
+/C
+/K
+/K
+/K
+/K
+/K
+/C
+/K
+/K
+/K
+/K
+/K
+/S
+/O
+/C
+/K
+/L
+/C
+/K
+/C
+/K
+/J
+/M
+
+
+
+
+
+/C
+/K
+/K
+/E
+/L
+/K
+/K
+/N
+/K
+/D
+/K
+/K
+
+
+
+
+
+/E
+/K
+/K
+/O
+/F
+/K
+/D
+/C
+/L
+/C
+/K
+/K
+/F
+/K
+/C
+/K
+/K
+/K
+/N
+/M
+/O
+/N
+/K
+/K
+/D
+/C
+/C
+/D
+/K
+
+
+
+
+
+/N
+/C
+/C
+/A
+/S
+/O
+/C
+
+/O
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/K
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/M
+/C
+/K
+/K
+/C
+/K
+/S
+/O
+/K
+/K
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/A
+/A
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+/K
+/K
+/B
+/A
+/B
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/D
+/M
+/K
+/K
+/K
+/C
+/K
+
+/C
+
+/K
+
+
+/O
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/K
+/L
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/K
+
+
+/K
+/K
+/M
+/K
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/J
+/K
+/A
+
+/C
+/K
+/K
+/K
+/C
+/K
+/C
+/K
+/K
+
+
+
+
+
+
+
+
+/N
+
+
+
+
+
+
+/J
+/A
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/C
+
+
+
+
+
+
+
+
+
+/C
+/D
+
+/O
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+/K
+/C
+/C
+/C
+/C
+/K
+/D
+/K
+/K
+
+
+/K
+/O
+
+
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+/K
+/K
+/S
+/O
+
+
+
+
+/M
+/K
+/K
+
+/A
+/K
+/B
+/K
+/B
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+/K
+/K
+
+
+
+
+
+/K
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+
+
+
+
+
+
+
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/A
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+/D
+/A
+/K
+/L
+/S
+/O
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/C
+/K
+/K
+
+
+/K
+/M
+/C
+/A
+/K
+/A
+/L
+/E
+/K
+/O
+/K
+/K
+/L
+/K
+/O
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/C
+/C
+/K
+/K
+/K
+/K
+/K
+/S
+/S
+
+
+
+
+/C
+/C
+
+
+
+
+
+
+
+
+
+
+
+/O
+/C
+
+/S
+/A
+/O
+/K
+
+
+/K
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/N
+/K
+/C
+/K
+/K
+/K
+/K
+/D
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/D
+/C
+/CD
+/D
+/C
+/A
+/A
+/E
+/K
+/K
+/K
+/D
+/J
+/S
+/O
+/K
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/CD
+/O
+
+
+/L
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/S
+/O
+
+
+
+
+
+/K
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/C
+/C
+/K
+/K
+/D
+/S
+/O
+/D
+/K
+/D
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/A
+/K
+/E
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/D
+/K
+/E
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/D
+/K
+/L
+/K
+/K
+/K
+/L
+/E
+/K
+/L
+/E
+/K
+/L
+/C
+/O
+/K
+/C
+/K
+/L
+/M
+
+/E
+/K
+/K
+/L
+
+/K
+/K
+/J
+/O
+/K
+/B
+/K
+
+
+
+
+
+
+/K
+/B
+/K
+
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/S
+/K
+/K
+/K
+/S
+/O
+/K
+/K
+/S
+/C
+/K
+/C
+/A
+/K
+/K
+/K
+/K
+/K
+/C
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/G
+/K
+/K
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/J
+
+
+
+
+
+
+/L
+/L
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/C
+/O
+/C
+/C
+/S
+/O
+/K
+/K
+/K
+/S
+/O
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/E
+/K
+/L
+/AK
+/K
+/C
+/K
+/L
+/O
+/E
+/K
+/K
+/L
+/J
+/D
+/K
+/E
+/K
+/L
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/E
+/A
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+
+
+/K
+
+/O
+/K
+/K
+/K
+/K
+
+
+
+
+
+/A
+/O
+/O
+/AK
+
+/O
+
+
+
+
+
+/K
+
+/D
+/C
+/A
+/C
+/A
+/A
+/J
+/O
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/B
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/L
+/K
+/F
+/J
+/K
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+/E
+/K
+/O
+/K
+/L
+/K
+/K
+/K
+/E
+/K
+/L
+/A
+/B
+/I
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/S
+/O
+/C
+/D
+/K
+/D
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/C
+/K
+/K
+/C
+/C
+
+/O
+/C
+/C
+/E
+/K
+/L
+/K
+/G
+/J
+
+
+/K
+/C
+/E
+/K
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+/A
+/B
+/L
+/K
+/B
+/K
+/E
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/M
+/K
+/K
+
+
+
+
+
+
+/C
+/K
+/K
+/S
+/A
+/O
+/M
+/C
+/C
+/B
+/C
+/C
+/K
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+/M
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/M
+/A
+/A
+/E
+/K
+/O
+/K
+/C
+
+/K
+/J
+
+
+
+
+/N
+
+
+
+
+
+
+
+
+
+
+/K
+/E
+/K
+/K
+/K
+/J
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+/A
+/L
+/K
+/E
+
+
+
+
+
+
+
+/C
+/K
+/K
+
+
+
+/C
+/G
+/K
+/K
+/O
+/C
+/K
+/C
+/K
+/K
+/K
+/C
+/K
+/M
+/C
+/F
+/K
+/K
+/S
+/O
+/F
+/K
+/K
+/K
+/C
+/K
+/K
+/K
+/K
+/K
+/N
+/C
+/K
+/B
+/C
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+/A
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+/D
+/M
+/C
+/K
+/O
+/K
+/K
+
+
+
+
+
+/C
+/J
+
+
+/K
+
+/A
+
+
+
+
+/K
+/S
+/O
+/A
+/K
+/F
+/S
+/O
+/K
+/K
+/K
+/K
+/C
+/S
+/O
+/A
+/C
+/K
+/K
+/L
+/M
+/A
+/J
+/K
+/K
+/S
+/C
+/C
+/C
+/K
+/C
+/K
+/C
+/K
+/K
+/K
+/C
+/S
+/A
+/O
+/C
+/K
+/K
+/L
+/B
+/K
+/C
+/K
+/L
+/K
+/C
+/F
+/K
+/S
+/O
+/K
+/S
+/K
+/K
+/M
+/O
+/C
+/C
+/G
+/K
+/E
+/C
+/K
+/L
+/K
+/K
+/C
+/K
+/L
+/K
+/K
+/L
+/K
+/L
+/M
+/C
+/K
+/K
+/K
+/B
+/K
+/S
+/O
+/D
+/A
+/K
+/B
+/K
+/C
+/K
+/K
+/C
+/K
+/C
+/C
+/K
+/K
+/S
+/O
+/K
+/B
+/K
+/K
+/C
+/K
+/L
+/K
+/S
+/O
+/A
+/C
+/K
+/S
+/A
+/C
+/K
+/B
+/S
+/O
+/K
+/C
+/S
+/A
+/O
+/B
+/C
+/S
+/O
+/F
+/K
+/K
+/K
+/K
+/C
+/K
+/K
+/S
+/C
+/C
+/S
+/C
+/C
+/K
+/S
+/A
+/O
+/K
+/C
+/K
+/S
+/A
+/O
+/C
+/K
+/B
+/K
+/S
+/N
+/K
+/O
+/C
+/L
+/K
+/K
+
+/K
+/K
+/E
+/K
+/S
+/O
+/M
+/C
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/K
+/K
+/C
+/K
+/K
+/S
+
+/C
+/K
+/K
+/K
+/L
+/M
+/O
+/J
+
+/O
+/K
+/K
+/C
+/K
+/K
+/C
+/C
+/K
+/M
+/B
+/K
+/K
+/K
+/B
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+/S
+/O
+/A
+/B
+/C
+/K
+/S
+/O
+/O
+/K
+/K
+/K
+/K
+/B
+/K
+/C
+/K
+/K
+/O
+/L
+/K
+/K
+/C
+/K
+/K
+/C
+/C
+/K
+/K
+/S
+/O
+/S
+/O
+/K
+/C
+/C
+/C
+/C
+/K
+/K
+/K
+
+/C
+/K
+/L
+/L
+/C
+/L
+/K
+
+/N
+/K
+/K
+/K
+/K
+/C
+/K
+/K
+/S
+/O
+/B
+/F
+/K
+/K
+/K
+/B
+/K
+/S
+/O
+/C
+/K
+
+
+
+
+/K
+/K
+/C
+/A
+/M
+/K
+/B
+/K
+/C
+/K
+/C
+/K
+/B
+/M
+/F
+/K
+/K
+/L
+/K
+/AK
+/S
+/A
+/O
+/C
+/K
+/K
+/K
+/K
+/K
+/K
+/K
+/S
+/A
+/O
+/C
+/K
+/M
+/C
+/C
+/K
+/K
+/S
+/O
+/K
+/B
+/C
+/K
+/K
+/S
+/O
+/K
+/K
+/B
+/K
+/S
+/O
+/K
+/K
+/S
+/O
+/M
+/C
+/K
+/K
+/S
+/O
+/K
+/M
+/C
+/K
+/K
+/K
+/K
+/K
+/C
+/K
+/L
+/C
+/F
+/K
+/K
+/K
+/K
+/K
+/S
+/O
+/C
+/K
+/C
+/K
+/K
+/S
+/A
+/O
+/C
+/K
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/JO
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/J
+
+/C
+/K
+/C
+/K
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+/K
+/S
+/O
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/C
+/K
+/L
+
+
+
+
+
+
+/L
+/K
+/F
+/D
+/K
+/S
+/O
+/K
+/K
+/S
+/O
+/F
+/K
+/K
+/C
+/C
+/K
+/K
+/K
+/C
+/K
+/K
+/K
+/B
+/K
+/D
+/C
+/C
+/K
+/S
+/O
+/K
+
+
+
+
+/L
+/L
+/L
+/K
+/C
+/L
+/D
+/C
+/K
+/O
+/K
+/C
+/K
+/K
+/K
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/C
+/C
+/C
+/S
+/C
+/I
+/K
+/S
+/O
+/K
+/C
+/K
+/K
+/C
+/S
+/O
+/A
+/K
+/C
+/K
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+/C
+/K
+/K
+
+
+/C
+/K
+/K
+/K
+/K
+/K
+/K
+/S
+/K
+/J
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+/K
+/K
+/S
+/O
+/K
+/B
+/K
+/K
+/S
+/O
+/A
+/C
+/C
+/K
+/M
+/C
+/K
+/K
+/S
+/O
+/C
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+/L
+/C
+/C
+/K
+/K
+/S
+/A
+/O
+/K
+/B
+/S
+/M
+/K
+/C
+/C
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/C
+/S
+/K
+/C
+/C
+/K
+/J
+/K
+/K
+/C
+/K
+/C
+/K
+/K
+/K
+
+/O
+/E
+/K
+
+/AK
+/C
+/K
+/C
+/K
+/K
+/K
+/S
+/O
+/S
+/O
+/K
+/K
+/C
+/K
+/K
+/S
+/O
+/B
+/K
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+/J
+
+
+/K
+
+
+/K
+
+
+
+
+/G
+/K
+
+
+/S
+/K
+/J
+/L
+/K
+/L
+/S
+/O
+/K
+/C
+/K
+/L
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/K
+/O
+/AK
+/K
+/E
+/L
+/A
+/S
+/C
+/C
+/K
+/K
+/S
+/J
+/C
+/K
+/K
+/C
+/K
+/L
+/L
+/O
+/E
+/K
+/K
+/O
+/E
+/K
+/K
+/L
+/J
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+/K
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+/C
+/A
+/K
+/C
+/K
+/K
+/K
+/C
+/M
+/K
+/K
+/K
+/C
+/K
+/B
+/C
+/K
+/K
+/L
+/K
+/K
+/K
+/K
+/C
+/K
+/K
+/K
+
+/S
+/C
+/K
+/A
+/J
+/C
+/O
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+/M
+
+
+
+/C
+/K
+
+/S
+/J
+
+/O
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+/F
+/K
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/N
+/S
+/A
+/O
+/K
+/C
+/K
+/J
+
+
+
+
+
+
+
+
+
+
+/B
+/K
+/L
+/A
+/L
+/E
+/L
+/O
+
+
+
+
+/K
+/K
+
+/K
+/D
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+/L
+
+
+
+
+
+
+
+/F
+/J
+/S
+/J
+/M
+
+
+/C
+/C
+/C
+/I
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+/K
+/K
+/K
+/S
+/A
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/K
+/K
+/B
+/K
+/C
+/K
+/K
+/K
+/C
+/E
+/K
+/L
+/C
+/L
+/K
+/K
+/D
+/C
+/K
+/A
+/S
+/A
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/K
+/A
+/G
+/K
+/A
+/B
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+/C
+/K
+
+
+
+
+/K
+/K
+
+/A
+/B
+/A
+/K
+/K
+
+
+/K
+
+
+
+/K
+/K
+/C
+
+
+/K
+
+
+
+/F
+/K
+/K
+/C
+/K
+/M
+/K
+/I
+
+/C
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+/K
+/K
+/K
+/A
+/K
+/K
+/A
+/C
+/C
+/C
+/S
+/A
+/O
+/N
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+/C
+/O
+/K
+/A
+/J
+
+/N
+/K
+
+
+/K
+
+
+
+
+
+
+
+
+/M
+/L
+/B
+/K
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+/S
+/O
+
+
+
+
+
+/K
+/S
+/O
+/E
+/L
+/J
+/A
+/L
+/K
+/C
+/K
+/C
+
+
+/K
+/C
+/C
+/S
+/K
+/C
+/K
+/C
+/K
+/K
+/K
+/K
+/B
+/K
+/E
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+/C
+/D
+/K
+/K
+/C
+/M
+/K
+/C
+/K
+/O
+/K
+/E
+/K
+/L
+/K
+/K
+/K
+/J
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/K
+/O
+/E
+/O
+/K
+/L
+
+
+/K
+/K
+/K
+
+
+
+
+/O
+
+
+
+
+
+
+/A
+/O
+
+/L
+
+
+
+
+
+/K
+/A
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/K
+/K
+/M
+
+/K
+/L
+/K
+/K
+/O
+/B
+/K
+/K
+/C
+/K
+/I
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+
+/K
+
+
+
+
+/K
+/L
+
+
+
+/K
+/D
+/K
+/K
+/K
+/C
+/K
+/K
+/J
+/L
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/M
+/K
+/C
+/L
+/A
+/B
+/L
+/K
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/E
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+/K
+/B
+/K
+/B
+/L
+/B
+/L
+/B
+/K
+/L
+/D
+
+
+/J
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+/C
+
+
+/K
+/C
+/J
+/K
+/C
+/K
+/S
+/O
+/C
+/K
+/K
+/K
+/K
+/B
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+/I
+/C
+
+
+
+
+/D
+/A
+/C
+/K
+/S
+/A
+/O
+/O
+/K
+/M
+/K
+/D
+/C
+/C
+/K
+/K
+/I
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/H
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/K
+/O
+/L
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/B
+/L
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/S
+/M
+/K
+/C
+/B
+/L
+/L
+/O
+/A
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+/O
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+/A
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+/D
+/C
+
+
+/A
+
+
+
+
+
+
+
+/K
+/K
+
+/M
+/J
+/K
+/S
+/C
+/K
+/K
+
+
+/K
+
+
+
+/K
+/K
+/D
+/K
+/C
+
+
+
+
+
+/K
+/K
+/S
+/A
+/O
+/K
+/C
+/K
+
+
+
+
+
+/A
+/C
+/K
+/K
+/S
+/O
+/K
+/C
+/K
+/K
+/K
+/K
+/K
+/J
+
+
+
+/O
+
+/O
+/K
+/E
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/M
+/K
+/K
+/K
+/B
+
+
+
+
+/K
+
+
+
+
+
+
+/C
+/C
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/C
+/S
+/O
+/C
+/K
+/L
+/K
+/C
+/A
+/K
+/D
+/D
+/L
+/S
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/I
+
+
+
+
+
+
+
+
+
+/G
+/K
+/L
+
+
+
+
+
+
+
+
+
+/L
+/K
+/J
+/A
+/K
+/O
+/E
+/K
+/L
+/K
+/K
+/A
+/K
+/K
+/K
+
+/K
+/O
+/K
+/K
+/E
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+/B
+/C
+/L
+/O
+/K
+/L
+/M
+/O
+/K
+/L
+/O
+/H
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+/A
+/L
+/O
+
+/A
+/O
+/O
+/D
+/L
+/A
+/A
+/K
+/C
+/K
+/C
+
+/K
+/L
+/J
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+/I
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+/O
+/K
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/D
+/A
+/K
+
+
+
+
+
+/AK
+/O
+
+
+
+
+
+/N
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/K
+/M
+/K
+/L
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+/K
+/K
+/K
+/J
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/E
+/K
+/K
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+/G
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/K
+/O
+/K
+/J
+/O
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/C
+/C
+/K
+/C
+/S
+/K
+/L
+/S
+/C
+/K
+/C
+/F
+
+
+
+
+
+/K
+/J
+/D
+/K
+/J
+/M
+/O
+/L
+/K
+/K
+/K
+/K
+/K
+/J
+/K
+/C
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/L
+/J
+/K
+/K
+/A
+/K
+/K
+/C
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/A
+/M
+/O
+/K
+/K
+/O
+/K
+/O
+/L
+/K
+/C
+/K
+/K
+/K
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/C
+/C
+/D
+/C
+/S
+/O
+/A
+/K
+/K
+/O
+/B
+
+
+
+
+
+/O
+/C
+
+/K
+/M
+/K
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+/K
+
+/A
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+
+/M
+/K
+/D
+/K
+/J
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/M
+/C
+/C
+/K
+/C
+/C
+/K
+/K
+/K
+/K
+
+/C
+/M
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/G
+/K
+/J
+/K
+/K
+
+
+/K
+/K
+/C
+/K
+/M
+/C
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/F
+/K
+/F
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/O
+/C
+/K
+/F
+/K
+/D
+/F
+/K
+/C
+/K
+/S
+/C
+/K
+/A
+/C
+/M
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/M
+/K
+/K
+/J
+/C
+/M
+/O
+/K
+/K
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+/K
+/K
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/E
+/O
+/K
+/K
+
+/K
+
+/A
+/B
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/A
+/A
+
+
+/K
+/A
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+/A
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+/K
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+/A
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+/M
+
+
+/S
+/O
+/G
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/J
+/K
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+
+
+
+
+
+
+/A
+
+
+/K
+/C
+/C
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+/K
+/D
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/K
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/AD
+/S
+/O
+/O
+/K
+/L
+/C
+/K
+/M
+/J
+/L
+/A
+/A
+/A
+/L
+/A
+/A
+/K
+/K
+/L
+/A
+/K
+/K
+/K
+/J
+/D
+/S
+/O
+/K
+/S
+/O
+/O
+/J
+/D
+/O
+/K
+/K
+/K
+/K
+
+
+
+
+
+
+/K
+/O
+/K
+/L
+/K
+/K
+/A
+/J
+/A
+/O
+/O
+/O
+/A
+/J
+/J
+/K
+
+
+/J
+/J
+/C
+/M
+/N
+/D
+/J
+/F
+/K
+/J
+
+
+
+/M
+/S
+/O
+/J
+/K
+
+/O
+/O
+/J
+/O
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/K
+/B
+/C
+/F
+/K
+/K
+/K
+/C
+/K
+/K
+/A
+/S
+/O
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/L
+/N
+/C
+/K
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+/K
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+
+/S
+/O
+/K
+/K
+/C
+
+/C
+/D
+/D
+/D
+/M
+
+
+
+
+
+
+
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/S
+/O
+/K
+/C
+/A
+/A
+/A
+
+
+/O
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+/K
+/L
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+/K
+/B
+/K
+/K
+/K
+/N
+/K
+/K
+
+
+/K
+/L
+/M
+/J
+/C
+/K
+/K
+/K
+/A
+/K
+/K
+/K
+/S
+/O
+/K
+/A
+/K
+/C
+/K
+/A
+/C
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/D
+/CD
+/C
+/N
+/K
+/S
+/O
+/K
+/C
+/K
+/O
+/K
+/K
+/L
+/K
+/K
+/K
+/C
+/A
+/S
+/O
+/K
+/S
+/O
+/K
+/K
+/L
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/C
+/K
+/L
+/K
+/C
+
+
+/K
+
+
+
+/C
+/K
+/C
+/C
+/K
+/A
+/B
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+/O
+/L
+
+
+
+
+
+
+/L
+/O
+/K
+
+
+
+/K
+
+
+
+
+
+/K
+/M
+/K
+/K
+/C
+/K
+/B
+/K
+/K
+/M
+/L
+/S
+/O
+/M
+/C
+/K
+/K
+/K
+/L
+/K
+/K
+/K
+/K
+/C
+/K
+/K
+/L
+/D
+/C
+/O
+/A
+/S
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/A
+/K
+/D
+/O
+/K
+/K
+/K
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/E
+/K
+/L
+/K
+/K
+/K
+/C
+/K
+/A
+/C
+/K
+/K
+/L
+/C
+/A
+/K
+/K
+/S
+/A
+/O
+/B
+/L
+/A
+/L
+/K
+/K
+/C
+/K
+/K
+/B
+/J
+/C
+/C
+/K
+/S
+/K
+/K
+/M
+/S
+/O
+/B
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+/D
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/A
+/K
+/A
+/C
+/C
+/C
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+
+
+
+
+
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+/M
+/K
+/F
+/K
+/K
+
+/K
+/C
+
+/F
+/K
+/AD
+/E
+/K
+/K
+/A
+/L
+/J
+/L
+/C
+/K
+/A
+/K
+/L
+/B
+/A
+/B
+/F
+/K
+/A
+/A
+/A
+/B
+/L
+/K
+/L
+/K
+/B
+/K
+/K
+/K
+/L
+/K
+/K
+/C
+/K
+/K
+/K
+
+
+/K
+
+
+
+/C
+/K
+/F
+/C
+/K
+/K
+/K
+/S
+/O
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+/C
+/D
+
+
+/A
+
+
+
+/A
+/L
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+/L
+/M
+/C
+/K
+/K
+
+
+
+
+
+
+/M
+
+/E
+/K
+/K
+/B
+/K
+/K
+/A
+/K
+/M
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/A
+/S
+/O
+
+
+
+
+
+/O
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+/K
+/A
+/K
+/B
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/K
+/K
+/K
+/L
+/K
+/K
+/A
+/K
+/K
+/M
+/K
+/L
+/A
+/A
+/A
+/K
+/A
+/A
+/A
+/A
+/A
+/K
+/K
+/C
+/K
+/L
+/K
+/K
+/D
+
+/K
+/K
+/K
+
+/K
+/K
+/K
+
+/C
+
+
+
+
+
+
+/O
+
+/L
+
+
+
+
+
+/M
+/K
+
+
+/A
+/B
+
+
+
+
+/O
+/L
+/M
+/K
+/O
+/K
+/C
+/L
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/O
+/K
+/K
+/O
+/K
+/B
+/L
+/B
+/E
+/K
+/K
+/K
+/D
+/O
+/A
+/K
+/C
+/K
+/K
+/O
+/K
+/A
+/K
+/K
+
+/E
+/K
+/K
+/K
+/K
+/L
+
+
+/K
+/J
+/K
+/F
+/K
+/S
+/O
+/M
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/L
+/L
+/M
+/K
+/K
+/K
+/F
+/K
+/L
+/K
+/K
+/L
+/K
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+/A
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+/K
+
+/O
+/J
+/B
+/J
+/K
+
+
+/K
+/K
+/O
+/C
+/C
+/K
+/C
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+/I
+/A
+/S
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/K
+/F
+/K
+/C
+/K
+/K
+/K
+/K
+/S
+/O
+/B
+/C
+/L
+/A
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/A
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+/C
+/K
+/K
+/C
+/J
+/K
+/K
+/C
+/K
+/S
+/C
+/K
+/M
+/A
+/A
+/A
+/C
+/A
+/K
+/J
+/K
+/K
+/K
+/K
+/D
+/K
+/C
+/K
+/K
+/K
+/K
+/C
+
+
+
+
+
+
+
+/L
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+
+
+
+
+
+
+
+/K
+/S
+/O
+/K
+/C
+/C
+/K
+/K
+/K
+/C
+/D
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+/C
+/K
+/A
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/M
+/O
+/K
+/K
+/K
+/K
+/B
+/K
+/A
+/K
+/K
+/K
+/L
+/S
+/O
+/K
+/E
+/J
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/CD
+/O
+/A
+/K
+/K
+/M
+/A
+/C
+/A
+/O
+/L
+/A
+/K
+/K
+/C
+/K
+/A
+/C
+/J
+/C
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/L
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/F
+/K
+/K
+/L
+/K
+/K
+/B
+/C
+/K
+/K
+/L
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/K
+/C
+/S
+/O
+/K
+/K
+/K
+/K
+/K
+/K
+/K
+
+/C
+
+
+/K
+/K
+/K
+
+
+
+/D
+/S
+/K
+/E
+/M
+/K
+/K
+/L
+/A
+/K
+/M
+/A
+/L
+/O
+/C
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/L
+/O
+
+
+/C
+/K
+/K
+/S
+/A
+/O
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/K
+
+
+
+
+/K
+
+
+/B
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/O
+/AK
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/C
+/D
+/K
+/K
+/M
+
+
+/K
+
+
+/O
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/B
+/S
+/O
+/M
+/M
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/N
+/O
+/K
+/K
+/K
+/B
+/J
+/K
+/C
+/K
+/D
+/K
+/E
+/K
+/K
+/K
+/A
+/K
+/J
+/K
+/K
+/E
+/K
+/L
+/J
+/K
+/K
+/A
+/C
+/M
+
+
+/C
+/K
+/K
+/S
+/O
+/S
+/O
+/C
+/K
+/C
+/K
+/K
+/C
+/D
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/M
+/K
+/L
+/K
+/E
+/K
+/D
+/C
+/D
+/C
+/D
+/A
+/D
+/L
+/K
+/L
+/C
+
+
+
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/A
+/K
+/A
+/B
+/K
+/K
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/A
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/A
+/K
+/K
+/K
+/D
+/K
+/K
+/K
+
+/L
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/C
+/K
+/B
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/S
+/A
+/K
+/A
+/D
+/M
+/O
+/K
+/K
+/A
+/K
+/C
+/K
+/S
+/O
+/K
+/S
+/O
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/A
+/O
+/D
+/K
+/K
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+/K
+
+/M
+/K
+
+
+
+
+
+/K
+/O
+/O
+/E
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+/K
+/A
+/B
+/O
+/K
+/B
+/D
+/K
+
+
+
+
+
+
+
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+/S
+/O
+/A
+/K
+/B
+/S
+/O
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/D
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/CD
+/A
+/K
+/B
+/O
+/L
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/I
+/C
+/K
+/B
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+/O
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+/K
+
+/E
+/K
+/K
+/L
+
+
+
+
+
+/B
+/K
+/O
+/K
+/M
+/O
+/L
+/K
+/B
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/L
+/L
+/K
+/D
+/A
+/K
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+/A
+/A
+
+/O
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+/O
+/K
+/K
+/L
+
+
+/A
+/K
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+/J
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/S
+/O
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+/J
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/O
+/L
+/K
+/K
+/C
+/N
+/D
+/C
+/C
+/K
+/C
+/K
+/J
+/K
+/C
+/J
+/M
+/E
+/K
+/K
+/K
+/K
+/C
+/K
+/K
+/C
+/K
+/N
+/K
+/K
+/K
+/K
+/K
+/A
+/C
+/A
+
+/C
+
+
+/C
+/S
+/O
+/M
+/C
+/K
+/B
+/C
+/K
+/C
+/K
+/S
+/K
+/N
+/C
+/C
+/K
+/K
+
+
+
+
+/K
+/K
+/L
+/L
+/K
+/K
+/K
+/K
+/E
+/M
+/K
+/K
+/C
+/K
+/S
+/O
+/K
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+/G
+/S
+/O
+/C
+/J
+/K
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+/K
+
+/B
+
+
+/C
+/A
+/M
+/C
+/K
+/K
+/K
+/C
+
+
+
+
+
+
+/M
+/L
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+/C
+/K
+/K
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/O
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/M
+
+
+
+
+
+
+/A
+/K
+/K
+/L
+
+
+
+
+
+/K
+/D
+/C
+/A
+/O
+
+/K
+/C
+/L
+/K
+/C
+/K
+/S
+/M
+/C
+/K
+/K
+/A
+/O
+/K
+/C
+/C
+/K
+/K
+/K
+/S
+/C
+/K
+/S
+/O
+/C
+/K
+/M
+/M
+/K
+/K
+/O
+/K
+/K
+/K
+/K
+/L
+/K
+/K
+/J
+/K
+/K
+/K
+/M
+/K
+/C
+/O
+/E
+/K
+/A
+/K
+/A
+/L
+/L
+/K
+/K
+/L
+/B
+/K
+/B
+/L
+/K
+/L
+/K
+/K
+/K
+/B
+/K
+/L
+/K
+/A
+/K
+/L
+/K
+/B
+/K
+/L
+/K
+/K
+/K
+/K
+/A
+/O
+/L
+/K
+/B
+/K
+/L
+/K
+/L
+/O
+/K
+/B
+/A
+/B
+/M
+/K
+/S
+/O
+/D
+
+
+/A
+/L
+/A
+/C
+/D
+/L
+/K
+/K
+/E
+/L
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+/K
+
+
+
+
+
+/K
+/A
+
+
+
+
+
+/C
+/C
+/C
+
+
+/K
+/C
+/K
+/K
+/C
+/M
+/C
+/C
+/A
+/O
+/A
+/K
+/K
+/L
+/M
+/K
+/A
+/C
+/K
+/S
+/O
+/K
+/K
+/K
+/K
+/K
+/L
+/M
+/K
+/A
+/B
+/S
+/O
+/C
+/C
+/C
+/K
+/K
+/O
+/K
+/K
+/L
+/K
+/K
+/K
+/C
+/K
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/C
+/C
+/K
+/K
+/K
+/K
+/C
+/K
+/K
+/S
+/O
+/K
+/K
+/C
+/K
+/C
+/C
+/K
+/K
+/S
+/O
+/L
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/K
+/N
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/K
+/C
+/K
+/K
+/L
+/K
+/K
+/K
+/D
+/C
+/C
+/N
+/K
+/M
+/K
+/C
+/K
+/K
+/C
+/C
+/K
+/K
+/A
+/C
+/K
+/S
+/D
+
+/K
+/K
+/C
+/K
+/S
+/A
+/O
+/K
+/K
+
+
+/K
+/K
+/L
+/D
+/C
+/I
+/A
+/S
+
+
+
+
+
+/F
+/K
+/S
+/O
+/C
+/K
+/K
+/E
+/K
+/K
+/L
+/M
+/C
+/K
+/K
+/K
+/C
+/C
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/C
+/L
+/K
+
+/K
+/A
+/K
+/K
+/K
+
+
+
+
+
+/K
+/A
+/D
+/F
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/C
+/K
+/C
+/S
+/O
+/S
+/K
+/C
+/S
+/O
+/C
+/K
+/K
+/C
+/K
+/B
+/A
+/K
+/K
+/K
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/A
+/O
+/K
+/K
+/E
+/K
+/K
+/L
+/A
+/K
+/K
+/B
+/K
+/A
+/A
+/A
+/L
+/K
+/L
+/B
+/K
+/N
+/H
+/C
+/C
+/K
+/A
+/K
+/S
+/O
+/O
+/B
+/C
+/K
+/L
+/C
+/M
+/B
+/C
+/K
+/D
+/K
+/A
+/L
+/K
+/K
+/L
+/A
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/J
+/D
+/F
+
+/K
+
+
+
+
+/K
+/K
+/K
+/K
+/C
+/K
+/K
+/S
+/O
+/M
+/C
+/K
+/K
+/K
+/B
+/O
+/K
+/L
+/K
+/K
+/J
+/S
+/O
+/K
+/C
+/A
+/B
+/K
+/K
+/O
+/K
+/C
+/K
+/K
+/K
+/C
+/K
+/K
+/C
+/K
+/C
+/K
+/D
+/C
+/C
+/S
+/K
+/D
+/C
+/A
+/K
+/K
+/L
+/S
+/K
+/K
+/O
+/L
+/S
+/O
+/L
+/K
+/K
+/M
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+/K
+/S
+/O
+/S
+/O
+/S
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/A
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/A
+/K
+/K
+/K
+/K
+/K
+/K
+/K
+/S
+/O
+/F
+/K
+/A
+/A
+/K
+/L
+/C
+/K
+/L
+/K
+/O
+/E
+/K
+/C
+/K
+/S
+/O
+/A
+/B
+/K
+/K
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/N
+/C
+/K
+/S
+/A
+/O
+/K
+/F
+/CD
+/D
+/CD
+/D
+/D
+/C
+/K
+/N
+/C
+/K
+/K
+/K
+/C
+/C
+/CD
+/N
+/C
+/BI
+/C
+/C
+/C
+/E
+/AK
+/I
+/K
+/K
+/C
+/C
+/K
+/L
+/O
+/S
+/C
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+/K
+/K
+/K
+/K
+/O
+/E
+/L
+/A
+/A
+/K
+/A
+/C
+/K
+/K
+/K
+/K
+/K
+
+/K
+/K
+/A
+/L
+/K
+/L
+/L
+/K
+/K
+/L
+/K
+/K
+/K
+/K
+/K
+/L
+/L
+/K
+/K
+/K
+/L
+/K
+/K
+/K
+/K
+/K
+/A
+/A
+/L
+/L
+/L
+/K
+/K
+/L
+/L
+/K
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+/C
+/C
+
+
+/I
+/A
+/J
+/K
+/B
+/K
+/K
+/K
+/K
+/M
+/L
+/K
+/K
+/A
+/L
+/B
+
+
+/C
+/K
+/K
+/O
+/K
+/K
+/K
+/K
+
+/K
+/K
+/J
+/C
+/K
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+/K
+/M
+/C
+
+
+
+
+/K
+/E
+/K
+/K
+/K
+
+/K
+/K
+/B
+/K
+/K
+/K
+/K
+/B
+
+
+
+/K
+/K
+/C
+/K
+/F
+/K
+/C
+/K
+
+/C
+/K
+/S
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+/I
+/C
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+/C
+/C
+
+/E
+/K
+
+
+
+
+
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/K
+/C
+/C
+/K
+/M
+/C
+/J
+/M
+/C
+/K
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+/K
+/KM
+/G
+
+
+
+
+
+/K
+
+
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/K
+/B
+/L
+/C
+/K
+/A
+
+
+
+
+
+/L
+
+/K
+/A
+
+
+
+
+
+/K
+/M
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/B
+/L
+/S
+/A
+/O
+
+/O
+/K
+/C
+
+
+/K
+/E
+/K
+/K
+/K
+/C
+/K
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+/C
+/K
+/K
+/IL
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+/C
+/A
+/C
+
+
+
+
+
+/KM
+/A
+/L
+/L
+/C
+/K
+/C
+/K
+/L
+/K
+/O
+/K
+/O
+
+
+
+
+
+/K
+
+
+/O
+
+
+
+
+
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/L
+/O
+/L
+/O
+/K
+/L
+/L
+/L
+/L
+/L
+/L
+/O
+/L
+/L
+/L
+/L
+/K
+/L
+/L
+
+
+
+
+
+/S
+/M
+/K
+/K
+/K
+/K
+/C
+/K
+/K
+/S
+/O
+/K
+/K
+/A
+/B
+/K
+/K
+/L
+/C
+/K
+/C
+/K
+/K
+/K
+/K
+/O
+/K
+/A
+/O
+/A
+/O
+/K
+
+
+/K
+/K
+/K
+
+
+
+/M
+/K
+/S
+/C
+/A
+/C
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/O
+/K
+/K
+/K
+/K
+/K
+/B
+/K
+/G
+/K
+
+/C
+/K
+/O
+/K
+/K
+
+
+
+
+
+
+/O
+
+
+
+
+
+/C
+/K
+/M
+/C
+/K
+/C
+
+
+/K
+/K
+/K
+
+
+
+
+
+
+
+/C
+/A
+/L
+/O
+/O
+/C
+/A
+/C
+/K
+/E
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/M
+/O
+/K
+/C
+/K
+/K
+/K
+/B
+/K
+/B
+/K
+/K
+/K
+/K
+/O
+
+
+/C
+/C
+/K
+/K
+/K
+/K
+/L
+/A
+/D
+/N
+
+
+
+
+
+/C
+/K
+/K
+/K
+/N
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/D
+/K
+/K
+/M
+/C
+/K
+/S
+/A
+/O
+/M
+/O
+/K
+/K
+/K
+/K
+/C
+/C
+/C
+/A
+/J
+/K
+/K
+/M
+/C
+/L
+
+/A
+/D
+/J
+/K
+/K
+/K
+/E
+/K
+/K
+/O
+/L
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+/E
+/K
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/A
+/O
+/J
+/K
+
+/K
+/K
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+/B
+
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+
+/K
+/C
+/C
+/K
+/K
+/K
+/K
+/K
+/O
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+
+
+/K
+
+
+/K
+
+
+
+
+/C
+/K
+
+
+/K
+/K
+/K
+
+
+
+/D
+/C
+/K
+/K
+/C
+/C
+/K
+/K
+/C
+/K
+/C
+/N
+/C
+
+
+
+
+
+
+
+/N
+/C
+/K
+/C
+/M
+/K
+/J
+/L
+/K
+/C
+/C
+/C
+/K
+/K
+/K
+/D
+/I
+/C
+/S
+/O
+/D
+/K
+/C
+/K
+/K
+/K
+/N
+/K
+/K
+/K
+/D
+/C
+/D
+/C
+/S
+/K
+/A
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/F
+/K
+
+
+
+/C
+/K
+/J
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+/K
+/F
+/K
+/K
+
+
+
+/K
+/K
+/S
+/O
+/M
+/F
+/K
+/K
+/F
+/K
+/K
+/K
+/L
+/K
+/B
+/A
+/F
+/B
+/A
+/B
+/K
+/K
+/L
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+/D
+/C
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+/K
+/K
+/B
+
+
+
+
+
+
+/K
+/S
+/O
+/A
+/M
+/K
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/O
+
+
+
+
+
+
+/K
+/C
+/K
+/K
+/S
+
+
+/K
+/K
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+/C
+/C
+/K
+/K
+/K
+/S
+/C
+/K
+/D
+/D
+/D
+/I
+/D
+/O
+/C
+/K
+/N
+/K
+/S
+/C
+/K
+/S
+/O
+/C
+/C
+/K
+/K
+/C
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/N
+/C
+/K
+/K
+/C
+/L
+/C
+/K
+/N
+/C
+/K
+/C
+/K
+
+/G
+/K
+/C
+/C
+/K
+/K
+/K
+/F
+/K
+/K
+/C
+/C
+/K
+/I
+/C
+/K
+
+
+
+
+
+/K
+
+
+
+/A
+/K
+/K
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+/A
+/K
+/L
+/C
+/L
+/L
+/A
+/B
+/L
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+/L
+
+
+/K
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/K
+/L
+/C
+/K
+
+/K
+/C
+/A
+/M
+/O
+
+
+
+
+
+/A
+/O
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+/A
+
+/E
+/K
+
+
+
+
+
+/K
+/B
+
+
+/K
+/B
+/K
+/O
+/K
+/C
+/K
+/S
+/O
+/M
+/K
+/K
+/K
+/B
+/K
+/I
+
+
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/E
+/K
+/K
+/L
+
+
+/S
+/K
+/K
+/K
+
+
+
+/C
+/K
+/K
+
+
+
+
+/C
+/C
+/A
+/K
+/K
+/K
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+/K
+/O
+/K
+
+/K
+/K
+
+/G
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/G
+/K
+
+
+
+
+
+
+
+/L
+/K
+
+
+/K
+/L
+/L
+/K
+/O
+/A
+/B
+/K
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+/K
+/L
+/L
+/L
+/B
+/C
+/C
+
+
+
+/A
+/O
+/K
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/M
+/O
+/K
+/L
+/B
+/O
+/L
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+/K
+/L
+/A
+/K
+/B
+
+/K
+/L
+/O
+/K
+/L
+/L
+/B
+/K
+/K
+/K
+/A
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+/A
+/K
+/K
+/L
+/L
+/K
+/K
+/K
+/A
+/L
+/L
+/K
+/K
+/A
+/B
+/A
+/O
+
+
+
+
+/K
+/K
+/K
+/K
+/B
+/K
+/K
+/K
+/K
+/K
+/K
+/K
+/A
+/K
+/B
+/A
+/A
+/B
+/L
+/K
+/L
+/B
+/K
+/K
+/K
+/K
+/K
+/K
+/A
+/A
+/K
+/L
+/B
+/K
+/A
+/L
+/A
+/K
+/K
+/K
+/K
+/K
+/K
+/A
+/B
+/K
+/L
+/L
+/K
+/L
+/K
+/O
+/K
+/C
+/K
+/O
+/K
+/K
+/K
+/B
+/L
+/K
+/K
+/K
+
+/K
+/K
+/L
+/A
+/L
+/A
+/A
+/K
+/K
+/B
+/K
+/A
+/K
+/K
+/K
+/K
+/A
+/A
+/A
+/B
+/C
+/K
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+/A
+/B
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+
+/H
+
+
+
+
+
+
+
+
+/L
+/J
+/K
+/K
+/K
+/S
+/A
+/O
+/C
+
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+/A
+/K
+/L
+/K
+/K
+/C
+/B
+/C
+/C
+/K
+/K
+/S
+/O
+/C
+/K
+/K
+/L
+/C
+/K
+/K
+/S
+/C
+/K
+/S
+/O
+/M
+/C
+/K
+/K
+/C
+/K
+/C
+/K
+/S
+/A
+/O
+/A
+/C
+/C
+/K
+/K
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/N
+/K
+/K
+/M
+/O
+/K
+
+
+
+/A
+/C
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+/K
+/L
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+/L
+/D
+/K
+/E
+/K
+/L
+/K
+/K
+/K
+/L
+
+/K
+/K
+/K
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+/N
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+/K
+/J
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/O
+
+/E
+/K
+
+
+
+
+
+/L
+/K
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/B
+/K
+
+
+/A
+/K
+/K
+/L
+/K
+/J
+/M
+/K
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+/M
+
+
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+/M
+/C
+/K
+/K
+/K
+/K
+/O
+/L
+/K
+/K
+/L
+/L
+/K
+/K
+/M
+/K
+/K
+/S
+/C
+/K
+/K
+/C
+/C
+/K
+/C
+/S
+/C
+/D
+/K
+/K
+/C
+/K
+/K
+/K
+/K
+/K
+/N
+/C
+/K
+/B
+/K
+/K
+/K
+/K
+/M
+/K
+/K
+/C
+/C
+/K
+/S
+/O
+/M
+/F
+/K
+/K
+/N
+/M
+/K
+/D
+/K
+/B
+/K
+/K
+/K
+/K
+/C
+/C
+/K
+/C
+/O
+/S
+/O
+/C
+/K
+/K
+/L
+/C
+/K
+/B
+/D
+/D
+/A
+/K
+/K
+/K
+/C
+/K
+/C
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+/K
+/K
+/B
+/K
+/C
+/C
+/K
+/J
+
+/L
+
+/K
+/K
+
+
+
+
+/O
+/E
+/K
+/K
+
+/K
+/B
+
+/D
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/C
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/C
+/K
+/K
+
+
+
+
+
+
+
+
+
+/K
+/O
+/K
+/A
+/K
+/C
+/M
+/C
+/K
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+/L
+/K
+/M
+/K
+/D
+/O
+/A
+/O
+/K
+/K
+/A
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+/C
+/C
+/K
+/S
+/O
+/B
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+/K
+/K
+/D
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/K
+/C
+/K
+/K
+/K
+/S
+/A
+/O
+/F
+/K
+/D
+/C
+/C
+/C
+/K
+/M
+/F
+/K
+/N
+/D
+/K
+/M
+/K
+/K
+/L
+/C
+/C
+/A
+/C
+/M
+/A
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+/K
+/K
+/B
+
+
+
+
+/K
+/K
+/K
+/C
+/O
+/A
+/K
+/D
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/A
+/B
+/A
+/B
+
+
+/D
+/L
+/O
+/K
+/K
+/L
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/B
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+/K
+/A
+/K
+/K
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+/O
+/K
+/L
+/O
+/K
+/K
+/B
+/C
+/K
+/K
+/C
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/O
+/C
+/K
+/K
+/J
+/E
+/K
+/K
+/O
+/C
+/K
+/L
+/K
+/C
+/C
+/O
+/C
+/C
+/K
+/K
+/S
+/C
+/L
+/D
+/K
+/S
+/O
+/K
+/C
+/O
+/K
+/K
+/K
+/K
+/C
+/K
+/A
+/K
+/B
+/D
+/K
+
+
+
+
+/C
+/A
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+/A
+/C
+/K
+/C
+/K
+/K
+/A
+/C
+/K
+/C
+/O
+/A
+/C
+/J
+
+
+
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/M
+/K
+/C
+/C
+/C
+/K
+/M
+/K
+/C
+/O
+/O
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+/K
+/K
+/C
+/K
+/A
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+/K
+/A
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+/K
+/S
+/O
+/L
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+/A
+/B
+/K
+/A
+/K
+
+/A
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+/G
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/B
+/L
+
+/L
+/K
+/N
+/E
+/K
+/K
+/K
+/K
+/J
+
+/A
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/K
+
+
+
+
+
+/A
+/L
+/B
+
+
+
+
+
+/O
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/A
+/L
+/J
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+/C
+/O
+/K
+/A
+/L
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+/G
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+/L
+/K
+/A
+/A
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+/O
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/A
+/B
+/A
+/A
+/A
+/B
+/A
+
+
+
+
+
+
+
+/K
+
+
+/O
+
+/L
+/O
+
+/K
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+
+
+
+
+
+
+/E
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/K
+/B
+/A
+/A
+/A
+/A
+/A
+/K
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+/D
+/D
+/CN
+/J
+/M
+/K
+/K
+/L
+/K
+/L
+/M
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+/A
+/B
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+/E
+/K
+/K
+/K
+/B
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+/F
+/K
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+/B
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/S
+/O
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/S
+/O
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/S
+/O
+/K
+/F
+/K
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/B
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+/S
+/O
+/C
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/S
+/O
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+/K
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/C
+/K
+/K
+/O
+/B
+/S
+/O
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+/A
+/B
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/H
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/O
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+/X
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/K
+/S
+/S
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/X
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+/K
+/S
+/O
+/E
+/K
+/K
+/C
+/K
+/O
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+/K
+/B
+/S
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/E
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/M
+
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/K
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/A
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+/C
+/S
+/O
+/E
+/K
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+/E
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/O
+
+/S
+/O
+/A
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+/A
+/B
+
+/K
+/B
+/A
+/L
+
+/K
+/S
+/K
+/S
+/O
+/L
+/K
+/B
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/L
+/S
+/A
+/O
+
+
+/C
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+/K
+
+
+
+
+/S
+/O
+/A
+/B
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+/A
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/C
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/M
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+
+
+
+
+
+/O
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/L
+
+
+
+
+
+
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+
+/K
+/K
+/M
+/K
+/K
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/N
+
+
+
+
+
+
+/C
+/S
+/O
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/C
+/S
+/O
+/E
+/K
+/K
+/B
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/A
+/O
+/O
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/C
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/S
+/O
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+/O
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+/O
+/L
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+
+
+/C
+/D
+/C
+/K
+/K
+/F
+/K
+/K
+/D
+/K
+/K
+/S
+/O
+/M
+/O
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/F
+
+/K
+
+
+
+
+
+
+
+
+
+/I
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/L
+/K
+/K
+/B
+/K
+/K
+/O
+/K
+/L
+/O
+/K
+/L
+/L
+/L
+/K
+/C
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/AK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+
+
+
+
+
+/C
+/M
+/C
+/A
+/K
+/S
+/O
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+/K
+/O
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+/H
+/K
+/S
+/O
+
+
+
+
+/A
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/K
+/L
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+/S
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/K
+/L
+/A
+/B
+/L
+
+/S
+/O
+/A
+/B
+
+
+
+
+
+
+
+
+/A
+/K
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+/S
+/O
+/K
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/K
+/L
+
+/A
+/B
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/B
+/L
+
+
+
+
+/A
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+/K
+/B
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+/S
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/I
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/A
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+/K
+/A
+/B
+/K
+/L
+/A
+/B
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/K
+/K
+/S
+/O
+/M
+/C
+/K
+/K
+/K
+/B
+/S
+/O
+/M
+/C
+/C
+/K
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/M
+/C
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/S
+/O
+
+/S
+/O
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+/B
+/K
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/K
+/C
+/A
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+/S
+/C
+/K
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/B
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+/K
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+/C
+/K
+/K
+/S
+/O
+/M
+/F
+/K
+/K
+/K
+/K
+/B
+/M
+/C
+/K
+/F
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/K
+/L
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/A
+/L
+/K
+
+/A
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+/K
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+/L
+/K
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/S
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+/B
+/K
+/K
+/K
+/K
+/K
+/B
+/A
+/A
+/K
+/B
+/K
+/K
+/B
+/A
+/K
+/K
+/K
+/K
+/A
+/B
+/A
+/K
+/L
+/K
+/A
+/K
+/L
+/K
+/K
+/A
+/K
+/A
+/A
+/K
+/A
+/A
+/K
+
+/K
+/K
+/K
+/K
+/A
+/A
+/K
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+/A
+/A
+/JL
+/K
+/B
+/A
+/B
+/K
+/O
+/K
+/B
+/K
+/L
+/B
+/K
+/B
+/K
+/B
+/K
+/L
+/K
+/L
+/K
+/L
+/L
+/K
+/B
+/A
+/L
+/K
+/L
+/K
+/K
+/B
+/K
+/K
+/A
+/A
+/L
+/A
+/K
+/K
+/K
+/K
+/C
+/C
+/C
+/A
+/A
+/K
+/K
+/B
+/A
+/A
+/A
+/A
+/M
+/K
+/K
+/B
+/A
+/A
+/A
+/L
+
+/A
+/A
+/L
+/A
+/B
+/L
+/A
+/B
+/K
+/C
+/A
+
+
+/L
+
+
+/O
+
+/K
+
+
+/B
+/K
+/B
+/K
+/K
+/A
+/A
+/B
+/K
+/A
+/K
+/K
+/A
+/A
+/A
+/B
+/K
+/K
+/B
+/K
+/B
+/K
+/K
+/A
+/B
+/A
+/A
+/A
+/A
+
+/K
+/B
+/K
+/B
+/K
+/A
+/A
+/K
+/A
+/A
+/A
+/B
+/L
+/L
+/K
+/B
+/A
+/K
+/K
+/K
+/K
+/K
+/O
+/K
+
+/K
+/A
+/K
+/A
+/K
+/K
+/K
+/O
+/K
+/K
+/K
+/K
+/A
+/B
+/C
+
+
+/K
+
+
+
+/K
+
+
+/K
+
+
+
+/C
+/C
+/C
+/K
+
+
+/K
+
+
+
+
+
+
+
+
+/S
+/A
+/K
+/C
+/K
+
+
+/K
+
+
+
+
+
+
+
+
+/K
+/L
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/K
+/A
+/B
+/B
+/L
+/A
+/A
+/O
+/L
+/B
+/K
+/B
+/A
+/B
+/A
+/A
+/A
+/A
+/L
+/B
+/A
+/K
+/O
+/A
+/B
+/A
+/A
+/A
+/B
+/A
+/A
+/A
+/A
+/A
+/A
+/B
+/A
+/A
+
+
+
+/O
+/A
+
+
+
+/B
+
+/K
+/K
+/A
+/A
+/A
+/A
+/K
+/M
+/C
+/B
+/B
+/L
+/K
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+/L
+/A
+/A
+/A
+/A
+/L
+/K
+/B
+/L
+/K
+/A
+/B
+/K
+/K
+
+
+
+
+
+
+/B
+/K
+/A
+/C
+/K
+/A
+/N
+/K
+/K
+/J
+/A
+/K
+/K
+
+
+
+/K
+/K
+/B
+/A
+/A
+/B
+/A
+/B
+/L
+/K
+/B
+
+/K
+/B
+/A
+
+/A
+/K
+/K
+/K
+/B
+/A
+/B
+/O
+/K
+/K
+/A
+/K
+/K
+/A
+/K
+/B
+/K
+/K
+/K
+/K
+/B
+/A
+/B
+/A
+/A
+
+/E
+/K
+/K
+/B
+/K
+/L
+/A
+/B
+/A
+/K
+/B
+/K
+/L
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+/L
+/A
+/B
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+/S
+/O
+
+/K
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+/L
+/A
+/B
+/L
+/B
+/A
+/S
+/A
+/A
+/A
+/A
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/A
+/O
+/A
+/B
+/A
+/A
+/A
+/A
+/A
+/A
+/B
+/S
+/A
+/L
+/K
+/A
+/J
+/A
+/A
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+/A
+/A
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+/O
+/A
+/A
+/B
+/A
+/L
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+/L
+/L
+/A
+/B
+/A
+/B
+/O
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/A
+/O
+/O
+/K
+/B
+/K
+/O
+/A
+/B
+/K
+/B
+/L
+/L
+/K
+/B
+/O
+/A
+/L
+/O
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+/K
+/K
+/S
+/O
+/A
+/A
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/K
+/K
+/A
+/L
+/K
+/L
+/B
+/A
+/K
+/K
+/A
+/B
+/A
+/L
+/B
+/L
+/A
+/K
+/K
+/B
+/L
+/K
+/B
+/K
+/K
+/B
+/K
+/A
+/K
+/K
+/B
+/K
+/K
+/K
+/A
+/B
+/K
+/K
+/K
+/K
+/B
+/K
+/B
+/A
+/A
+/L
+/K
+/B
+/K
+/A
+/A
+/A
+/A
+/K
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/A
+/B
+/A
+/B
+/K
+/B
+/A
+/B
+/K
+/A
+/A
+/A
+/A
+/K
+/A
+/A
+/A
+/K
+/A
+/A
+/B
+/A
+/O
+/A
+/A
+/B
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/B
+/A
+/A
+/A
+/A
+/B
+/A
+/K
+/B
+/L
+/A
+/B
+/A
+/A
+/B
+/K
+/B
+/O
+/A
+/A
+/B
+/A
+/L
+/A
+/A
+/B
+/A
+/A
+/A
+/A
+/K
+/A
+/B
+/B
+/K
+/B
+/K
+/B
+/A
+/A
+/A
+/A
+/A
+/B
+/A
+/K
+/A
+/A
+/A
+/A
+/A
+/A
+/K
+/A
+/A
+/A
+/K
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/AK
+/B
+/K
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/K
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/O
+/A
+/B
+/A
+/B
+/A
+/A
+/A
+/A
+/K
+/A
+/A
+/K
+/B
+/K
+/A
+/B
+/A
+/A
+/L
+/A
+/O
+/L
+/A
+/K
+/B
+/K
+/B
+/A
+/L
+/B
+/A
+/K
+/B
+/L
+/A
+/B
+/A
+/A
+/K
+/A
+/K
+/A
+/A
+/A
+/B
+/A
+/A
+/AK
+/B
+/A
+/A
+/K
+/A
+/A
+/A
+/A
+/A
+/K
+/K
+/B
+/O
+/A
+/A
+/B
+/A
+/A
+/B
+/A
+/L
+/A
+/B
+/A
+/A
+/A
+/A
+/B
+/A
+/A
+/A
+/AK
+/K
+/A
+/A
+/B
+/A
+/A
+/B
+/A
+/A
+/A
+/A
+/K
+/A
+/B
+/A
+/A
+/B
+/K
+/A
+/B
+/A
+/A
+/A
+/K
+/A
+/K
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/O
+/A
+/A
+/B
+/A
+/O
+/A
+/K
+/B
+/B
+/A
+/A
+/A
+/A
+/A
+/A
+/L
+/A
+/B
+/K
+/B
+/A
+/A
+/AK
+/A
+/B
+/K
+/B
+/A
+/A
+/L
+/A
+/A
+/A
+/A
+/A
+/L
+/A
+/A
+/B
+/B
+/A
+/A
+/A
+/A
+/A
+/K
+/A
+/A
+/A
+/B
+/A
+/A
+/B
+/A
+/K
+/A
+/B
+/A
+/A
+/A
+/B
+/A
+/B
+/K
+/K
+/K
+/K
+/A
+/A
+/K
+/A
+/K
+/B
+
+/K
+/K
+/K
+/K
+/K
+/K
+/A
+/A
+/A
+/B
+/K
+/K
+/B
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+
+
+/K
+/B
+/A
+/A
+/A
+/A
+/A
+/A
+/B
+/A
+/B
+/L
+/A
+/A
+/A
+/K
+/A
+/A
+
+
+/K
+/K
+/B
+/A
+/K
+/B
+/K
+/A
+/A
+/A
+/K
+/A
+/B
+/K
+/A
+/A
+/K
+/K
+/A
+/A
+/A
+/B
+/K
+/B
+/K
+/A
+/A
+/A
+/A
+/A
+/K
+/K
+/B
+/A
+/K
+/A
+/K
+/K
+/K
+/C
+/K
+/C
+/K
+/K
+/K
+/K
+/K
+/K
+/K
+/K
+/A
+/C
+/K
+/C
+/A
+/K
+/B
+/A
+/K
+/K
+/A
+/B
+/A
+/A
+/K
+/B
+/K
+/A
+/B
+/A
+/K
+/L
+/K
+/A
+/K
+/B
+/L
+/K
+/B
+/A
+/K
+/B
+/A
+/A
+/K
+/B
+/A
+/K
+/B
+/K
+/K
+
+/K
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+/K
+/B
+
+
+/A
+/K
+/K
+/B
+/A
+/A
+/A
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/C
+/K
+/K
+/L
+
+
+/A
+/K
+/A
+/B
+/A
+/K
+/A
+/A
+/B
+/K
+
+
+
+
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+/A
+/K
+/K
+/L
+
+/A
+
+/K
+/K
+/A
+/A
+/A
+/K
+/B
+/K
+/K
+/A
+/K
+/B
+/K
+/B
+/K
+/A
+
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/A
+/S
+/O
+/A
+/B
+/K
+/K
+/L
+/K
+/B
+/O
+/K
+/A
+/A
+/L
+/K
+/B
+/B
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/B
+/A
+/A
+/A
+/B
+/A
+/A
+/K
+/K
+/O
+/A
+/A
+/K
+/A
+/A
+/L
+/A
+/A
+/A
+/A
+/K
+/A
+
+/A
+/A
+/B
+/A
+/AK
+/A
+/A
+/B
+/A
+/A
+/K
+
+
+
+
+/K
+/B
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/K
+/B
+/A
+/A
+/A
+/A
+/K
+/B
+/A
+/A
+/A
+/K
+
+
+
+
+
+
+/B
+/A
+/K
+/A
+/K
+/A
+/A
+/B
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/K
+/O
+/A
+/K
+/A
+/A
+/A
+/B
+/A
+/B
+/A
+/A
+/L
+/B
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/B
+/A
+/B
+/A
+/A
+/A
+/B
+/A
+/B
+/A
+/B
+/A
+/A
+/A
+/B
+/A
+/B
+/A
+/L
+/A
+/B
+/A
+/A
+/A
+/L
+/A
+/A
+/B
+/A
+/A
+/A
+/K
+/B
+/A
+/B
+/K
+/B
+/L
+/A
+/A
+/A
+/A
+/A
+/A
+/B
+/K
+/B
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/B
+/A
+/A
+/B
+/A
+/L
+/K
+/A
+/A
+/B
+/A
+/A
+/A
+/A
+/A
+/A
+/K
+/L
+/A
+/A
+/K
+/B
+/A
+/A
+/B
+/A
+/A
+/C
+/K
+/M
+/A
+/A
+/C
+/A
+/A
+/A
+/A
+/B
+/A
+/A
+/A
+/A
+/K
+/B
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/K
+/A
+/A
+/A
+/K
+/AK
+/A
+/A
+/B
+/A
+/B
+/K
+/C
+/A
+/A
+/A
+/A
+/B
+/A
+/A
+/B
+/K
+/K
+/K
+/A
+/B
+/M
+/K
+/A
+/B
+/A
+/A
+/A
+/A
+/A
+/A
+/B
+/A
+/A
+/K
+/B
+/K
+/A
+/A
+/A
+/A
+/B
+/A
+/L
+/K
+/B
+/A
+/L
+/A
+/A
+/A
+/A
+/A
+/B
+/A
+/A
+/A
+/B
+/A
+/A
+/A
+/A
+/A
+/K
+
+/K
+/A
+/A
+/B
+/B
+/A
+/B
+/A
+/K
+/L
+/A
+/B
+/B
+/K
+/A
+/A
+/A
+/B
+/A
+/A
+/A
+/K
+/A
+/A
+/A
+/K
+/K
+/B
+/K
+/AK
+/A
+/B
+/A
+/AK
+/A
+/A
+/B
+/A
+/A
+/A
+/B
+/A
+/A
+/AK
+/A
+/A
+/A
+/A
+/K
+/B
+/A
+/B
+/K
+/A
+/B
+/A
+/K
+/B
+/A
+/B
+/K
+/K
+/A
+/A
+/K
+/A
+/A
+/B
+/A
+/A
+/A
+/B
+/L
+/A
+/A
+/A
+/A
+/A
+/A
+/L
+/K
+/K
+/K
+/K
+/L
+/A
+/K
+/K
+/K
+/B
+/K
+/K
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/K
+/A
+/K
+/L
+/K
+/K
+/A
+/K
+/K
+/B
+/A
+/A
+/A
+/O
+/A
+/K
+/K
+/L
+/B
+/K
+/B
+/L
+/K
+/A
+/AK
+/A
+/B
+/A
+/A
+/K
+/A
+/A
+/A
+/A
+/B
+/A
+/A
+/A
+/K
+/A
+/K
+/A
+/B
+/A
+/B
+/A
+/K
+/B
+/A
+/A
+/B
+/A
+/A
+/A
+/A
+/A
+/B
+/A
+/A
+/A
+/A
+/A
+/A
+/K
+/A
+/A
+/A
+/A
+/A
+/B
+/A
+/A
+/B
+/A
+/A
+/A
+/A
+/A
+/K
+/B
+/A
+/B
+/A
+/A
+/A
+/L
+/A
+/A
+/A
+/A
+/A
+/B
+/O
+/A
+/B
+/A
+/K
+/K
+/A
+/A
+/A
+/L
+/A
+/B
+/A
+/B
+/A
+/B
+/A
+/B
+/AK
+/A
+
+
+
+
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/A
+/A
+/A
+/B
+/K
+/A
+/K
+/K
+/B
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/B
+/K
+/B
+/A
+/A
+/B
+/K
+/B
+/A
+/L
+/A
+/A
+/K
+/B
+/A
+/A
+/O
+/K
+/B
+/A
+/A
+/A
+/O
+/A
+/L
+/K
+/A
+/K
+/B
+/L
+/K
+
+
+
+
+/K
+/B
+/K
+/A
+/B
+/A
+/A
+/B
+/A
+/K
+/B
+/L
+/A
+/L
+/A
+/A
+/A
+/K
+/K
+/B
+/A
+/A
+/K
+/B
+/A
+/A
+/O
+/L
+/A
+/A
+/B
+/K
+/B
+/A
+/A
+/A
+/K
+/A
+/K
+/B
+/K
+/O
+/K
+/K
+/B
+/K
+/K
+/B
+/K
+/L
+/K
+/B
+/K
+/K
+/K
+/B
+/A
+/A
+/A
+/A
+/A
+/B
+/A
+/B
+/A
+/A
+/A
+/A
+/B
+/A
+/K
+/B
+/A
+/B
+/O
+/A
+/A
+/B
+/A
+/B
+/A
+/B
+/K
+/A
+/A
+/A
+/A
+/B
+/A
+/B
+/A
+/B
+/A
+/A
+/B
+/A
+/A
+/A
+/A
+/K
+/A
+/A
+/B
+/A
+/A
+/A
+/A
+/K
+/B
+/A
+/A
+/A
+/A
+/B
+/K
+/A
+
+/A
+/A
+/A
+/A
+/B
+/L
+/A
+/K
+/B
+/A
+/A
+/A
+/AK
+/A
+/A
+/A
+/B
+/A
+/K
+/B
+/K
+
+/B
+/A
+/A
+/A
+/A
+/K
+/B
+/A
+/A
+/A
+/A
+/K
+/B
+/A
+/A
+/A
+/A
+/K
+/A
+/B
+/B
+/A
+/A
+/K
+/K
+/B
+/A
+/A
+/A
+/AK
+/B
+/A
+/A
+/B
+/A
+/O
+/O
+/A
+/B
+/A
+/A
+/O
+/A
+/K
+/B
+/A
+/A
+/A
+/A
+/B
+/A
+/A
+/B
+/A
+/A
+/K
+/L
+/B
+/K
+/A
+/B
+/A
+/K
+/A
+/B
+/K
+/A
+/B
+/A
+/B
+/K
+/A
+/A
+/A
+/A
+/A
+/B
+/A
+/B
+/O
+/L
+/B
+/A
+/K
+/B
+/A
+/L
+/A
+/A
+/A
+/A
+/A
+/A
+/K
+/A
+/B
+
+
+
+
+/E
+/K
+/K
+/L
+/K
+/B
+/A
+/K
+/A
+/A
+/A
+/A
+/A
+/B
+/O
+/A
+/K
+/B
+/K
+/A
+/A
+/K
+/B
+/A
+/K
+/B
+/A
+/B
+/K
+/B
+/K
+/K
+/B
+/K
+/A
+/A
+/A
+
+
+
+
+/K
+/K
+/A
+/A
+/A
+/B
+/A
+/B
+/A
+/B
+/A
+/B
+/A
+/B
+/A
+/B
+/K
+/B
+/K
+/B
+/A
+/A
+/AK
+/B
+/A
+/A
+/K
+/A
+/B
+/K
+/B
+/O
+/A
+/A
+/K
+/C
+/K
+/K
+/K
+/A
+/B
+/A
+/A
+/A
+/A
+/L
+/A
+
+
+
+/A
+/M
+/C
+/K
+/K
+/K
+/L
+/K
+/K
+/K
+/K
+/B
+/K
+/A
+/K
+/B
+/K
+/L
+/K
+/K
+/B
+/K
+/L
+/K
+/B
+/L
+/K
+/C
+/B
+/K
+/K
+/B
+/A
+/A
+/B
+/O
+/L
+/A
+/A
+/K
+/A
+/B
+/K
+/A
+/A
+/B
+/A
+/A
+/B
+/A
+/A
+/A
+/A
+/A
+/A
+/B
+/A
+/A
+/A
+/A
+/A
+/A
+/AK
+
+/A
+/B
+
+/A
+/B
+
+
+/A
+/A
+/A
+/A
+/A
+/B
+/A
+/K
+/A
+/A
+/A
+/A
+/A
+/A
+/B
+/A
+/K
+/B
+/A
+/B
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/L
+/B
+/K
+/B
+/A
+/L
+/A
+/A
+/A
+/A
+/A
+/B
+/K
+/B
+/A
+/A
+/A
+/A
+/K
+/K
+/A
+/B
+/A
+/A
+/B
+/A
+/A
+/A
+/K
+/K
+/A
+/B
+/A
+/K
+/L
+/B
+/A
+/L
+/AK
+/K
+/A
+/A
+/A
+/A
+/K
+/B
+/C
+/K
+/S
+/O
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/K
+/B
+/O
+/A
+/K
+/A
+/A
+/K
+/B
+/K
+/A
+/A
+/A
+/K
+
+
+
+
+/B
+/K
+/B
+/C
+
+
+
+
+/K
+/K
+/K
+/B
+/K
+/B
+/A
+/A
+/A
+/A
+/K
+/B
+/A
+/K
+/B
+/AK
+/A
+/K
+/K
+/K
+/A
+/B
+/A
+/A
+/A
+/K
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+/B
+/A
+/B
+/K
+/K
+/A
+/A
+/A
+/A
+/A
+/A
+
+
+
+
+
+/A
+/K
+/A
+/B
+/A
+/K
+/K
+/B
+/A
+/A
+/B
+/A
+/B
+/B
+
+
+
+
+/C
+/K
+/A
+/B
+/B
+/A
+/B
+/K
+/K
+/B
+/A
+/A
+/B
+/A
+/B
+/A
+/B
+/A
+/A
+/K
+/L
+/L
+/K
+/B
+/C
+/K
+/B
+/K
+/B
+/K
+/B
+/K
+/K
+/A
+/K
+/A
+/B
+/K
+/K
+/B
+/AK
+/A
+/B
+/B
+/A
+/B
+/A
+/A
+/A
+/B
+/A
+/A
+/K
+
+
+
+
+/K
+/B
+/A
+/A
+/K
+/B
+/K
+/A
+/L
+/AK
+/B
+/K
+/A
+/B
+/A
+/L
+/A
+/A
+/B
+/K
+/A
+/B
+/AK
+/B
+/A
+/B
+/K
+/A
+/A
+/AK
+/A
+/B
+/A
+/A
+/A
+/K
+/A
+/K
+/B
+/A
+/O
+/A
+/A
+/A
+/C
+/K
+/K
+/A
+/C
+/A
+/K
+/A
+/L
+/L
+/L
+/K
+/A
+/B
+/A
+/K
+/K
+/K
+/K
+/B
+/A
+/B
+/O
+/A
+/A
+/B
+/A
+/O
+/K
+
+/A
+/B
+/O
+/A
+/K
+/K
+
+
+
+
+/K
+/K
+/A
+/A
+/K
+/B
+/K
+/B
+/K
+/B
+/A
+/K
+/K
+/A
+/K
+/A
+/E
+/K
+/L
+/A
+/A
+/K
+/A
+/O
+/K
+/L
+/B
+/A
+/A
+/A
+/L
+/A
+/K
+/K
+/A
+/A
+/A
+/B
+/K
+/B
+/L
+/A
+/K
+/K
+/A
+/A
+/K
+/O
+/K
+/L
+/B
+/K
+/A
+/B
+/O
+/A
+/L
+/A
+/L
+/K
+/L
+/A
+/B
+/A
+/B
+/A
+/A
+/K
+/B
+/K
+/O
+/A
+/L
+/K
+/B
+/A
+/A
+/B
+/A
+/A
+/B
+/A
+/B
+/A
+/B
+/A
+/A
+/K
+/B
+/B
+/O
+/K
+/K
+/A
+/A
+/B
+/L
+/A
+/L
+/A
+/B
+/K
+/K
+/B
+/A
+/B
+/K
+/K
+/B
+/K
+/A
+/A
+/A
+/B
+/A
+/A
+/A
+/B
+/O
+/L
+/A
+/AL
+/K
+/B
+/A
+/K
+/A
+/L
+/K
+/K
+/K
+/K
+/A
+/K
+/B
+/L
+/K
+/K
+/B
+/A
+/B
+/K
+/L
+/K
+/B
+/K
+/L
+/B
+/A
+/A
+/A
+/B
+/A
+/A
+/A
+/A
+/K
+/B
+/A
+/K
+/A
+/L
+/K
+/A
+/B
+/L
+/A
+/B
+/A
+/A
+/A
+/B
+/A
+/B
+/K
+/B
+/A
+/L
+/K
+/A
+/A
+/B
+/A
+/A
+/A
+/A
+/A
+/A
+/K
+/B
+/A
+/K
+/K
+/B
+/A
+/AK
+/K
+/K
+
+
+
+
+/K
+/B
+/K
+/L
+/A
+/L
+/B
+/K
+/B
+/L
+/B
+/A
+/O
+/A
+/B
+/A
+/A
+/B
+/L
+/A
+/A
+/A
+/A
+/B
+/A
+/B
+/A
+/B
+/A
+/B
+/O
+/A
+/A
+/B
+/L
+/A
+/B
+/K
+/B
+/A
+/A
+/A
+/B
+/A
+/B
+/AK
+/A
+/B
+/B
+/A
+/A
+/A
+/K
+/A
+/A
+/K
+/A
+/O
+/A
+/B
+/K
+/A
+/A
+/A
+/O
+/A
+/A
+/B
+/A
+/B
+/K
+/B
+/O
+/A
+/A
+/K
+/A
+/B
+/A
+/B
+/C
+/K
+/A
+/A
+/A
+/B
+/A
+/A
+/K
+/A
+/B
+/A
+/B
+/K
+/A
+/A
+/A
+/K
+/A
+/B
+/K
+/A
+/B
+/A
+/B
+/A
+/B
+/K
+/C
+/K
+/S
+/O
+/C
+/B
+/J
+/C
+/K
+/A
+/K
+/L
+/A
+/A
+/B
+/K
+/B
+/A
+/A
+/B
+/K
+/A
+/A
+/A
+/K
+/A
+/A
+/K
+/A
+/K
+/A
+/A
+/K
+/A
+/C
+
+
+
+
+
+/D
+/A
+/L
+/C
+/K
+/M
+/K
+/O
+/K
+/A
+/C
+/C
+/O
+/K
+/K
+/K
+/M
+/A
+
+
+
+
+
+
+
+/L
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+/L
+
+/K
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+/B
+/K
+/B
+/K
+/B
+/K
+/A
+/L
+/O
+/K
+/M
+/K
+/K
+/A
+/K
+/A
+/K
+/AK
+/B
+/A
+/B
+/L
+/AK
+/K
+/A
+/B
+/K
+/A
+/A
+/K
+/A
+/K
+/K
+/A
+/K
+/A
+/L
+/B
+/B
+/A
+/K
+/A
+/B
+
+
+
+/A
+/K
+/K
+/B
+/K
+/K
+/A
+/K
+/A
+
+/K
+/B
+/A
+/K
+/B
+/K
+/A
+/K
+/B
+/A
+/B
+/A
+/K
+/A
+/A
+/A
+/A
+/A
+/K
+/L
+
+
+
+
+/K
+/K
+
+
+
+/L
+
+
+/K
+/A
+/O
+/L
+/K
+/B
+/K
+
+/K
+/K
+
+/C
+/K
+/K
+/C
+/S
+/O
+/K
+/L
+/C
+/H
+/M
+/K
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/K
+/O
+/K
+/L
+/L
+/A
+/B
+/A
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+/L
+/K
+/C
+/S
+/A
+/O
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/M
+/A
+
+/K
+
+/K
+
+/D
+/K
+/K
+/K
+/K
+
+
+
+/C
+/K
+/L
+/A
+/K
+/K
+/A
+/A
+/A
+/L
+/A
+/A
+/A
+/K
+
+
+
+
+
+
+
+
+
+/L
+/D
+
+/A
+/S
+/O
+/C
+/K
+/C
+/K
+/K
+/C
+/C
+/D
+/K
+/M
+/M
+/C
+/K
+/K
+/K
+/L
+
+
+
+
+
+/K
+/C
+/K
+/C
+/J
+/K
+/K
+/K
+/K
+/K
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+/B
+
+
+
+
+/C
+
+
+/A
+/A
+/O
+/C
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/K
+/C
+/K
+/L
+/K
+/K
+/L
+/C
+/K
+/L
+/K
+/K
+/A
+/L
+/A
+/K
+/K
+/L
+/L
+/A
+/K
+/A
+/A
+/A
+/L
+/K
+/K
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/K
+/L
+/K
+/A
+/L
+/A
+/A
+/A
+/A
+/A
+/A
+/O
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/L
+/B
+/A
+/A
+/C
+/A
+
+
+/A
+
+/K
+/D
+/C
+/K
+/L
+/K
+/K
+/K
+/K
+/C
+/J
+/K
+
+
+/K
+/C
+/S
+/O
+/C
+
+
+
+
+
+/C
+/K
+/K
+
+
+
+/C
+/K
+/S
+/O
+/J
+
+/K
+/M
+/K
+/S
+/K
+
+
+
+
+/K
+/L
+/K
+/K
+/K
+/K
+/K
+/C
+/K
+/S
+/O
+/B
+/L
+/K
+/K
+/M
+/A
+/K
+/S
+/O
+/K
+/O
+/D
+/G
+/K
+
+
+
+
+
+/K
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+
+
+/E
+/K
+
+
+
+
+
+/K
+/B
+/A
+/K
+/K
+/K
+/K
+/K
+/K
+/K
+/K
+
+
+/K
+/K
+/C
+/F
+/K
+/K
+/S
+/O
+/K
+/S
+/O
+/K
+/B
+
+/K
+/C
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/H
+/K
+/A
+/B
+
+
+/M
+/C
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+/C
+/C
+/A
+
+
+/A
+
+/S
+
+/K
+/S
+/O
+
+
+
+
+
+/O
+/K
+/K
+/O
+
+
+
+
+
+/C
+/S
+/A
+/O
+/K
+/D
+/K
+/M
+/C
+/A
+/D
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/K
+/K
+/K
+/K
+/K
+/K
+/A
+
+
+
+/K
+/L
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+
+/E
+/K
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+/S
+/O
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+
+
+
+
+
+
+/S
+/O
+/A
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+
+/C
+/K
+
+/A
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+/O
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/S
+/O
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/A
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+/O
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/H
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/C
+/K
+/C
+/K
+/K
+/S
+/O
+/M
+/S
+/K
+/B
+/A
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+/C
+/S
+/O
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+/C
+/CD
+/C
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+
+
+/C
+/A
+
+
+
+
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/C
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+/K
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+/K
+/L
+/B
+/C
+/S
+/O
+/C
+/L
+/K
+/M
+/O
+/K
+/L
+/C
+/S
+/O
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/A
+/O
+/A
+/M
+/E
+/K
+/H
+/K
+/K
+/B
+/L
+/O
+/B
+/S
+/A
+/O
+/K
+/K
+/A
+/B
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/B
+/S
+/O
+/S
+/O
+/S
+/O
+/S
+/A
+/O
+/S
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/K
+/J
+/K
+/B
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/O
+
+
+
+
+
+
+
+
+
+
+/S
+/K
+
+
+
+
+/S
+/O
+/K
+/K
+/S
+/O
+
+/K
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/C
+
+/AK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+
+
+
+
+
+/L
+
+/S
+/O
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+
+
+
+
+
+/L
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/A
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+/L
+/E
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/C
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/A
+/B
+/K
+/O
+/L
+/K
+/C
+/S
+/O
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+/K
+/C
+/K
+/C
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/S
+/O
+/A
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+/C
+/K
+/N
+/B
+/S
+/A
+/O
+/L
+/B
+/K
+/S
+/O
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/C
+/K
+/A
+/K
+
+
+
+
+/B
+/C
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+/C
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+/S
+/O
+/O
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/S
+/O
+/C
+/L
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+/S
+/O
+/K
+
+/AK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+/S
+/O
+/K
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+/B
+/A
+/L
+/C
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+/K
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/O
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/H
+/O
+
+
+/S
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/S
+/S
+/O
+
+/K
+/S
+/O
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+
+
+
+
+
+/A
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/B
+/S
+/O
+/C
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+/L
+/A
+/O
+/K
+/K
+/B
+/L
+/K
+/K
+/K
+/K
+/B
+/B
+/K
+/K
+/K
+/K
+/A
+/K
+/K
+/K
+/B
+/K
+/K
+/B
+/K
+/K
+/K
+/L
+/K
+/K
+/A
+/A
+/B
+/A
+/B
+/A
+/A
+/K
+/K
+/K
+/K
+/A
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+/B
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+
+
+
+
+
+/L
+
+/S
+/O
+
+
+
+
+
+
+
+
+/I
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+/H
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/C
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/O
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/C
+/K
+/AK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+/O
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/H
+
+
+
+
+
+/J
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/H
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/A
+/S
+/O
+/K
+
+
+
+/O
+/K
+/E
+/K
+/K
+/L
+/K
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/L
+/L
+
+/K
+
+/E
+/K
+/A
+/K
+/L
+/J
+
+
+/K
+/L
+
+
+
+/K
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+/C
+
+
+
+/K
+
+
+
+
+/K
+/L
+/M
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/K
+/L
+/K
+/A
+/A
+/A
+/K
+/O
+/K
+/L
+/C
+/K
+/K
+/K
+/B
+/A
+
+/M
+
+
+/E
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/A
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/A
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/H
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+/L
+
+
+/A
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+
+
+/K
+/K
+/K
+/K
+
+
+/K
+/K
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/L
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/C
+/S
+/F
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+/C
+/N
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+/S
+/O
+
+
+
+
+
+
+
+
+/CN
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/A
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+/A
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/H
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/A
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/C
+/K
+/S
+/O
+/A
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+/O
+/K
+/B
+
+
+
+
+
+/C
+/C
+/K
+/K
+
+
+/K
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/H
+
+
+
+
+
+
+/S
+/O
+/A
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+/B
+
+/K
+
+/K
+/K
+/O
+/K
+/K
+/A
+/C
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/B
+/C
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/C
+/C
+/K
+/S
+/O
+/A
+/S
+/O
+/F
+/K
+/K
+/K
+/A
+/N
+/A
+/C
+/N
+
+/K
+/C
+/C
+/K
+/K
+/M
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/K
+/K
+/K
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/N
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+/K
+/N
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/K
+/K
+/C
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/M
+/K
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/K
+/K
+/A
+/L
+/C
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+/S
+/O
+/O
+/K
+/J
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+/J
+/K
+/F
+
+
+
+
+
+/J
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+/N
+/C
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+
+/M
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+
+/K
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+/AK
+/K
+/K
+
+/C
+/K
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/S
+/O
+/K
+/O
+/K
+/B
+/C
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+/S
+/O
+
+
+
+/K
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+/A
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+/K
+/E
+/L
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+/L
+/S
+/O
+/K
+/C
+
+/K
+/B
+/F
+/K
+/K
+/K
+/K
+/K
+/K
+/S
+/O
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/AK
+/L
+/K
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+/C
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+/C
+
+
+
+
+
+
+
+
+
+/A
+/L
+/E
+/K
+
+
+
+
+/S
+/O
+/G
+/K
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+
+
+
+
+
+
+
+
+
+/C
+/K
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+/S
+/A
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/H
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/K
+/C
+/K
+/K
+
+/A
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/S
+/O
+/K
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+/C
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+/AK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+/H
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+/K
+/K
+/C
+/K
+/K
+/S
+/O
+/M
+/C
+/K
+/K
+/C
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/L
+/K
+/K
+/S
+/O
+
+
+/S
+/O
+
+
+
+
+
+
+
+/L
+
+/L
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+/B
+
+
+
+
+
+
+
+
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/O
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+
+
+
+
+
+
+
+/C
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/G
+/K
+/K
+/M
+/C
+/C
+/K
+/F
+/K
+/K
+/K
+/K
+/S
+/O
+/B
+/M
+/F
+/K
+/K
+/L
+/K
+/K
+/C
+/L
+/C
+/L
+/K
+/C
+/K
+/N
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+/K
+
+/C
+/A
+/K
+/K
+/J
+
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/C
+/K
+/K
+/K
+/B
+/K
+/K
+/K
+/C
+/S
+/A
+/O
+/B
+/K
+/K
+/I
+/E
+/K
+/L
+/A
+/M
+/A
+/L
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/K
+/K
+/C
+/K
+/K
+/S
+/O
+/A
+/K
+/N
+/J
+/K
+
+
+/K
+/A
+
+/O
+/C
+/K
+/K
+/K
+/S
+/O
+
+
+/K
+
+/K
+/K
+
+
+/K
+/K
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/O
+/O
+/O
+/K
+/K
+/K
+/K
+/K
+/K
+/B
+/C
+/C
+/K
+/K
+
+
+
+
+
+/K
+/K
+/L
+/K
+/L
+/L
+/L
+/O
+/L
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+/B
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+
+
+
+
+
+/L
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/H
+/K
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+/S
+/O
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/L
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/A
+/B
+/L
+/K
+/B
+
+/S
+/O
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/N
+
+
+
+
+
+/K
+/K
+
+/K
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+/A
+/A
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+
+
+
+
+
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+/C
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/B
+
+
+
+
+
+/L
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/S
+/O
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+/K
+/O
+/O
+/K
+/S
+/K
+/K
+/O
+/L
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+/B
+
+
+/E
+/K
+/K
+/B
+
+
+
+
+
+
+
+/K
+
+
+
+/B
+/A
+/O
+
+
+
+
+
+
+
+/K
+/A
+/B
+/O
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/B
+
+
+
+
+/O
+/K
+/C
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+/K
+/B
+/M
+/S
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+
+
+
+
+
+/L
+
+/C
+/K
+/M
+/K
+/K
+
+/J
+
+
+
+
+
+
+
+
+/A
+/K
+/K
+/L
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+
+
+
+
+
+
+
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+/E
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/S
+/O
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+/K
+/C
+/K
+/C
+/K
+
+
+/O
+/K
+/A
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/C
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/K
+/A
+/B
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/X
+
+/C
+
+/AK
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/H
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+/K
+/L
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/A
+/B
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/S
+/O
+/E
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+/B
+
+
+
+
+
+
+
+/A
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/C
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/O
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/AK
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+
+
+
+
+
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/AK
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+/B
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+
+/L
+
+/O
+
+
+
+
+
+
+
+/K
+
+
+
+/M
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+/O
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/O
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+/K
+/S
+/O
+/E
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/A
+/H
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/H
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/N
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/L
+/K
+/S
+/O
+
+
+/K
+
+
+
+
+/AK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+
+
+
+
+
+/B
+
+
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/O
+
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/S
+
+
+
+/O
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/K
+/L
+/O
+/K
+/L
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+/A
+/A
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+/A
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/O
+/K
+/K
+/L
+
+
+/M
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+/B
+
+
+
+
+
+/J
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+/O
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/B
+
+/A
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/K
+/L
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/C
+/C
+/K
+/L
+/K
+/S
+/B
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/C
+/C
+/K
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/H
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/B
+/K
+/K
+/S
+/O
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+
+
+
+
+
+
+/S
+/O
+/A
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/K
+/O
+/A
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/H
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+
+
+
+
+
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+/C
+/K
+/A
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/A
+/O
+/K
+/S
+/O
+/L
+/B
+/K
+/B
+/L
+/A
+/B
+/K
+/K
+/L
+/K
+/B
+/K
+/O
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/A
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/M
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/C
+/K
+/J
+/C
+/C
+/J
+/S
+/O
+/K
+/J
+/C
+/M
+/S
+/K
+/C
+/K
+/K
+/K
+/B
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/L
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/C
+/M
+
+
+/AK
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/G
+/K
+/K
+/C
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/S
+/O
+/J
+/L
+/K
+/B
+
+
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+/K
+/J
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/A
+/L
+/O
+/K
+/B
+/K
+
+/F
+
+
+/K
+/K
+/C
+/K
+/K
+/C
+/K
+/K
+/K
+/S
+/K
+/A
+/G
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+/C
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+/C
+/K
+/K
+
+/K
+/K
+
+
+/C
+/K
+
+
+
+
+
+
+
+/K
+/K
+
+/K
+
+
+/L
+/K
+/C
+
+/K
+/S
+
+
+
+
+/N
+
+/O
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/C
+/N
+
+/K
+
+
+
+
+
+/K
+/K
+/A
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/K
+/L
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/K
+/B
+/K
+/A
+/B
+/O
+/C
+/A
+/C
+/I
+/O
+/K
+/M
+/G
+/K
+/A
+/G
+/K
+/E
+/K
+/L
+/K
+/M
+/J
+/K
+/C
+/K
+/C
+/K
+/D
+/C
+/K
+/M
+/K
+/K
+/K
+/A
+/K
+/L
+/K
+/K
+/K
+/K
+/K
+/K
+/K
+/K
+/C
+/M
+/C
+/K
+/M
+/K
+/O
+/C
+/K
+/C
+/K
+/C
+/K
+/J
+/K
+/C
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+/K
+/K
+/K
+/K
+/C
+/K
+/L
+/C
+/K
+/K
+/C
+/K
+/M
+/C
+/K
+/K
+/C
+/M
+/C
+/C
+/K
+/C
+/C
+/K
+/C
+/K
+/L
+/C
+/K
+/S
+/J
+/K
+/S
+/O
+/O
+/J
+/M
+/K
+/K
+/C
+/K
+/K
+/B
+/C
+/A
+/K
+/C
+/K
+/L
+/C
+/M
+/O
+/C
+/K
+/C
+/K
+/K
+/C
+/M
+/K
+/C
+/S
+/C
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/C
+/K
+/B
+/C
+/K
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/C
+/K
+/C
+/M
+/K
+/K
+/C
+/S
+/A
+/O
+/O
+/K
+/K
+/C
+/M
+/M
+/N
+/K
+/K
+/M
+/C
+/C
+/K
+/M
+/C
+
+
+
+
+
+/K
+
+
+/K
+
+
+
+/C
+/C
+/C
+/C
+/S
+/O
+/S
+/O
+/K
+/S
+/O
+/C
+/K
+/J
+/M
+/C
+/K
+/M
+/C
+/K
+/S
+/O
+/J
+/J
+
+
+
+
+
+
+/AK
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+/K
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+
+
+
+
+/K
+/K
+/K
+
+/D
+/C
+/K
+/C
+/M
+/C
+/S
+/O
+/A
+/N
+/E
+/C
+/K
+/M
+/F
+/K
+/C
+/K
+/A
+/B
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/A
+/L
+/L
+/S
+/O
+/K
+/M
+/K
+/C
+/K
+/O
+/K
+/C
+/K
+/L
+/H
+/H
+/K
+/C
+/K
+/K
+/K
+/C
+/K
+/J
+/K
+/K
+/L
+/M
+/M
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/K
+/B
+/M
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/F
+/K
+/K
+/L
+/K
+/J
+/C
+/L
+/C
+/K
+/K
+/S
+/O
+/C
+/C
+/K
+/O
+/A
+/A
+/J
+/C
+/K
+/S
+/O
+/O
+/J
+/M
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/O
+/K
+
+/D
+/C
+/C
+/K
+/K
+/C
+/K
+/M
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/C
+/K
+/B
+/S
+/O
+/K
+/M
+/K
+/C
+/C
+
+
+
+
+
+
+
+
+/L
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/B
+/K
+/L
+/C
+/K
+
+
+
+
+
+
+
+
+
+/C
+/C
+/K
+/C
+/C
+/K
+/K
+/K
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/K
+/J
+
+
+
+
+
+/C
+/K
+/A
+/S
+/A
+/O
+/M
+/O
+/K
+
+/K
+/B
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+/K
+/S
+
+
+
+
+
+/K
+
+/K
+/C
+/O
+/K
+/A
+/K
+/B
+/O
+
+
+/K
+/B
+/K
+
+
+
+/C
+/K
+/A
+/O
+/K
+/B
+/C
+/K
+/K
+/C
+/K
+/K
+/L
+/K
+/M
+/K
+/K
+/K
+/K
+/L
+/O
+/C
+/C
+/C
+/K
+/O
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+/C
+/A
+/S
+/C
+/S
+/C
+/K
+/M
+/C
+/K
+/K
+/K
+/KL
+/O
+/C
+/E
+/A
+/O
+
+/K
+/K
+/O
+/K
+/K
+/A
+
+/C
+/L
+/K
+/K
+/C
+
+
+/K
+/K
+/K
+/K
+
+/K
+/K
+
+
+/C
+/C
+/M
+/K
+/B
+/K
+/K
+/K
+/K
+/N
+/C
+/C
+/K
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/C
+/C
+/K
+/C
+/K
+/K
+
+/I
+/E
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/C
+/A
+/C
+
+/K
+/J
+/C
+/C
+/K
+/K
+/S
+/O
+/S
+/K
+/K
+
+/C
+/C
+/A
+
+
+
+/O
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/C
+/K
+/C
+
+
+
+
+
+/O
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+/C
+/A
+
+/C
+/A
+/C
+/D
+/K
+/K
+/K
+/C
+/K
+/S
+/O
+/K
+/C
+/N
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/M
+/O
+/K
+/A
+/A
+/K
+/K
+/K
+/K
+/K
+/C
+/C
+/K
+/C
+/D
+/K
+/K
+
+/K
+/O
+/C
+/K
+/K
+/C
+/S
+/O
+/K
+/K
+/O
+/B
+/C
+/K
+/A
+/C
+/O
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/O
+
+/K
+
+
+
+
+/L
+
+/N
+/C
+/K
+/K
+/K
+/K
+/B
+/K
+/C
+/K
+
+/C
+/C
+/K
+/K
+/K
+/K
+/S
+/O
+
+
+/O
+
+
+
+/K
+/S
+/O
+/O
+/C
+/K
+/K
+/K
+/K
+/K
+/B
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/C
+/C
+/K
+/C
+/K
+/B
+/M
+/K
+/K
+/K
+/C
+/C
+/K
+/K
+/S
+/O
+/B
+/S
+/K
+/K
+/K
+/L
+/K
+/K
+/K
+/C
+/K
+/A
+/K
+/K
+/B
+/S
+/M
+/A
+/O
+/C
+/K
+/B
+/K
+/C
+/K
+/S
+/O
+/M
+
+
+
+
+
+
+
+/C
+/M
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/C
+
+/K
+
+/K
+/M
+/C
+/K
+/K
+
+
+/K
+/M
+/K
+/L
+
+
+/A
+/L
+/B
+
+
+
+/O
+
+
+
+
+
+
+
+
+/O
+/C
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+/O
+/K
+/K
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+
+/K
+/D
+/D
+/O
+/K
+/J
+/K
+/A
+/K
+/K
+/K
+/K
+
+/O
+/K
+/K
+/L
+
+
+
+
+
+/K
+
+
+
+/K
+/K
+/L
+/K
+
+
+/K
+/C
+/K
+/K
+/K
+/A
+/J
+
+
+/K
+/O
+/C
+/K
+/K
+
+/K
+/L
+
+
+/K
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/M
+/O
+/O
+/K
+/K
+/K
+/L
+/K
+/O
+/K
+/K
+/K
+/K
+/K
+/K
+/O
+/K
+/K
+/O
+/K
+/K
+/C
+/K
+/K
+/K
+/C
+/K
+/C
+/K
+/L
+
+
+
+/K
+/K
+
+
+/K
+/K
+/A
+/A
+/O
+/M
+/K
+/M
+/K
+/K
+/K
+/L
+/C
+/K
+/E
+/L
+/K
+
+/C
+/S
+/O
+/E
+/K
+/L
+/K
+/A
+/K
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+
+
+
+/A
+/O
+/C
+
+
+
+
+
+
+/L
+/K
+/K
+/D
+
+
+
+
+
+
+/K
+/L
+/K
+/L
+/K
+/K
+/C
+
+/B
+/K
+/K
+/K
+/O
+
+
+
+/C
+/K
+/L
+/K
+/C
+/K
+/B
+/K
+/L
+/E
+/O
+/K
+/L
+/D
+/L
+/O
+/K
+/C
+/K
+/K
+/S
+/O
+
+/C
+
+
+
+
+
+
+/O
+/K
+
+/C
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/K
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+
+
+
+
+
+
+/C
+/C
+/S
+/A
+/O
+/K
+/O
+/O
+/K
+/L
+
+
+
+
+
+
+/C
+/K
+/A
+/C
+/K
+/K
+/K
+/K
+/C
+
+/K
+/C
+/J
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+/M
+
+
+/K
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+/C
+/C
+/C
+/K
+/S
+/O
+/K
+
+/K
+/E
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+/J
+/K
+/K
+/K
+/C
+/C
+/K
+/K
+/K
+/K
+/A
+/L
+/M
+/S
+/O
+/S
+/O
+/J
+/C
+/K
+/A
+/M
+/K
+/K
+/K
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/K
+/K
+/K
+/C
+/K
+/S
+/O
+/L
+/S
+/O
+/O
+/K
+/C
+/K
+/C
+/A
+/C
+/A
+/K
+/K
+/K
+/K
+/K
+/S
+/O
+/K
+/K
+/K
+/K
+/C
+/A
+/K
+/K
+/N
+/C
+/K
+/O
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/L
+
+
+
+
+
+
+/M
+/K
+
+
+/K
+
+
+/A
+/K
+/O
+/L
+/E
+/K
+/L
+/K
+/E
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/G
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/N
+
+
+
+
+
+
+
+
+
+/L
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/C
+/C
+/K
+/A
+/K
+/B
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/A
+/C
+/K
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/M
+
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/L
+/K
+/K
+/B
+
+
+/L
+/J
+/L
+/K
+/K
+
+
+/K
+
+/K
+/N
+/K
+/O
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+/S
+/O
+/K
+/K
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/K
+/O
+
+
+
+
+
+
+/B
+/C
+
+/C
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/K
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/G
+/K
+/C
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+/O
+
+
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/B
+
+
+/F
+/F
+/S
+/O
+/L
+/S
+/O
+
+/K
+/K
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/K
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+/O
+/C
+/K
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/D
+/C
+/K
+/K
+/O
+/K
+
+
+
+/K
+
+
+/K
+/K
+/N
+/K
+/E
+
+
+
+
+
+/K
+/L
+/L
+/C
+/K
+/S
+/O
+/K
+/K
+/K
+/C
+/A
+/O
+/K
+/B
+/K
+/B
+/C
+/C
+/K
+/K
+/S
+/O
+/C
+/C
+/S
+/O
+/C
+/D
+/C
+/K
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+/C
+
+
+
+
+
+
+/K
+/K
+/C
+
+
+
+
+
+/K
+/K
+/B
+
+/K
+/A
+/A
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/F
+/K
+/D
+/K
+/C
+/A
+/C
+/K
+/K
+/B
+
+/A
+
+/L
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+/A
+/A
+
+
+
+
+
+/K
+/A
+/M
+/L
+/C
+/K
+/K
+/L
+/M
+/K
+/K
+/K
+/A
+
+
+
+
+
+
+
+
+
+/C
+/A
+/B
+/D
+/C
+/K
+/D
+
+
+/K
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+/A
+
+/K
+/A
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+/A
+/L
+/B
+/D
+/S
+/O
+/K
+/K
+/M
+/K
+/K
+/L
+/C
+/K
+
+/C
+/K
+
+
+
+/O
+
+
+
+
+
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/N
+
+
+
+
+
+
+
+
+/O
+/O
+/C
+/A
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+/K
+
+/D
+/K
+
+
+
+
+
+
+
+
+
+
+/C
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+
+
+
+
+
+/O
+/K
+/L
+/C
+
+/S
+/O
+
+
+
+
+
+
+
+
+/M
+/K
+/O
+/BK
+
+
+
+/A
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/D
+
+/G
+/K
+/L
+/K
+/K
+
+
+
+
+/K
+
+
+/O
+
+
+/K
+
+
+
+
+
+
+
+/L
+/M
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+
+
+
+
+
+/O
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/D
+/J
+/C
+/S
+/O
+/J
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+
+/K
+/A
+/B
+/K
+/L
+/K
+/K
+
+/K
+/D
+
+/K
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/A
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/L
+/B
+/K
+/B
+/M
+/K
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+/C
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+/K
+/B
+/L
+/D
+/C
+/K
+/E
+/K
+/A
+/K
+/K
+/O
+/B
+/C
+/K
+/K
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+/M
+/C
+/K
+/M
+/C
+
+
+
+
+
+
+
+
+/C
+/K
+/K
+/A
+/M
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+/C
+/S
+/O
+/A
+/B
+/S
+/O
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/A
+
+/K
+/B
+/K
+
+/D
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/S
+/O
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/A
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+/S
+/O
+
+/S
+/O
+/S
+/O
+/O
+/K
+/K
+/L
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/O
+/K
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/AK
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+
+
+
+
+
+/K
+/L
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/O
+/K
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+/B
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/O
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+/B
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+/K
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/B
+/L
+/E
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/A
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/A
+/A
+/B
+/B
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+/C
+/K
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+/K
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/B
+/K
+/B
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/L
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+/E
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+/O
+
+
+
+
+
+/K
+/L
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/K
+/C
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/S
+/O
+/K
+/G
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/X
+/O
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+/E
+/K
+/A
+/B
+/L
+/K
+/K
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+/L
+
+
+
+
+
+
+
+/S
+/O
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+/S
+/O
+/K
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+/K
+/K
+/C
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/S
+/O
+/S
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+/O
+/L
+/S
+/O
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/X
+/C
+/K
+/K
+/K
+/O
+/K
+/S
+/O
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/S
+/O
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/L
+/K
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/B
+/C
+/K
+/K
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+/S
+
+
+
+
+
+/A
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+/G
+/K
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/K
+/C
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/L
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/S
+/O
+/C
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/K
+/L
+/B
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+/S
+/O
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/K
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/O
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/L
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/L
+/C
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+/A
+/K
+/L
+/K
+
+/A
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/N
+/K
+/B
+/C
+/K
+/K
+/K
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/S
+/O
+/G
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+/S
+/O
+/K
+/K
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+/E
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/N
+/A
+/L
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/E
+/K
+/K
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/C
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+/C
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+/A
+/A
+
+/K
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+/H
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/G
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/D
+/K
+/S
+/O
+/K
+/S
+/O
+/A
+/E
+/K
+/K
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/A
+/B
+/B
+/L
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/O
+/B
+/O
+/K
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/A
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+/A
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+/A
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+/O
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+/L
+
+
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/C
+
+/K
+/S
+/O
+/K
+/K
+/K
+/B
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+/K
+/E
+/K
+/H
+/K
+/K
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+/O
+/S
+/O
+/S
+/O
+/L
+/E
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/S
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/S
+/A
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/M
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/L
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/M
+/C
+/B
+/C
+/K
+/K
+/S
+/O
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+/S
+/O
+/K
+/G
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+/L
+/L
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+/K
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+/N
+
+
+
+
+/K
+
+
+
+
+
+
+/L
+
+
+
+
+/H
+/K
+
+
+
+
+/B
+/S
+/O
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+/L
+
+/K
+
+
+/B
+
+
+
+
+
+
+/K
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/O
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/AK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+
+
+
+
+
+/K
+/B
+/L
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/L
+/S
+/O
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/E
+/K
+/K
+/S
+/O
+/A
+/L
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/O
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+/AK
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/E
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/D
+/K
+/A
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+/K
+/C
+/K
+/L
+/C
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/B
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/C
+/K
+/K
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/C
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+/K
+/S
+/O
+/K
+/K
+/S
+/O
+/C
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+/C
+/K
+/C
+/C
+/K
+/K
+/K
+/K
+/C
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/C
+/K
+/S
+/C
+/M
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+/K
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/S
+/A
+/O
+/O
+/G
+/K
+/K
+/O
+/K
+/K
+/C
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+/F
+/K
+/K
+/K
+/K
+/C
+/K
+
+
+
+
+
+
+/K
+/S
+/A
+
+/K
+/C
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+/K
+/K
+/B
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/C
+/K
+/O
+/K
+/L
+/K
+/K
+/K
+/K
+/K
+/M
+/K
+/K
+/K
+/K
+/K
+/K
+/D
+/K
+/K
+/O
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/K
+/K
+/A
+/A
+/B
+
+
+
+
+
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+
+
+
+
+
+/C
+/K
+
+
+
+/K
+/K
+
+/L
+/D
+/K
+/L
+
+
+
+
+
+
+
+/D
+/A
+/C
+/K
+/K
+
+
+
+
+/A
+/K
+/C
+/K
+/A
+/L
+/K
+/A
+/A
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/A
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/A
+/K
+/K
+/O
+/A
+/A
+/A
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/O
+
+
+
+
+
+/I
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/A
+/A
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/F
+/K
+/K
+/K
+/O
+/K
+/K
+/K
+/K
+/K
+/D
+/L
+/K
+/K
+
+
+/A
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+
+
+/C
+/K
+/O
+/K
+/L
+
+
+/K
+/A
+/B
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/C
+/A
+/A
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/A
+/C
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+/C
+/C
+/K
+/A
+/K
+/A
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/A
+/K
+/K
+/K
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+
+
+/K
+/A
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/L
+/A
+/K
+/K
+/K
+/A
+/L
+/K
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+/K
+/D
+/D
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/C
+/C
+/K
+/N
+
+/S
+/O
+/D
+
+/E
+/K
+
+
+
+
+/A
+/A
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/L
+/A
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+
+
+
+
+
+
+/K
+
+
+/K
+
+
+/K
+/C
+/K
+/S
+/O
+/N
+/B
+
+
+
+
+
+
+
+
+
+/L
+/S
+/O
+/G
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+/K
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/K
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/K
+/S
+/O
+/L
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/E
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/N
+
+/S
+/O
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/K
+/O
+/K
+/K
+/K
+/S
+/O
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/K
+/B
+/C
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/S
+/S
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/O
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+/K
+
+
+/O
+/K
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/O
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+/E
+/K
+/L
+
+
+
+/S
+/O
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+/K
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/S
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/O
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+/S
+/X
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/K
+/C
+/K
+/K
+/S
+/O
+/B
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/L
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/D
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/S
+/O
+/L
+/L
+/K
+/L
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/X
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+/K
+
+
+
+
+
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/S
+
+
+
+
+
+
+
+
+
+
+/C
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+/E
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/C
+/K
+/K
+/K
+/D
+/D
+/D
+/D
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+/O
+/O
+/K
+/B
+/D
+/K
+/C
+/K
+/J
+/K
+/B
+/C
+/C
+/K
+/O
+/J
+/A
+/C
+/A
+/A
+/C
+/K
+/S
+/O
+/C
+/K
+/L
+/K
+/K
+/O
+/C
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/C
+/K
+/K
+/C
+/A
+/C
+/K
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/L
+/E
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+
+/O
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+/K
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/L
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/E
+/K
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/B
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/O
+/K
+/L
+/K
+
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/E
+/K
+/K
+/B
+/B
+/A
+/L
+
+
+
+
+
+
+
+
+
+/C
+/C
+/C
+/L
+/K
+/K
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/O
+/O
+/K
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+
+
+
+
+
+
+
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+/S
+/O
+/G
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/CD
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+/O
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/K
+
+/K
+/O
+/K
+/B
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/A
+/B
+
+/S
+/O
+
+
+
+
+
+/K
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+/O
+/K
+/A
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/C
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+/D
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+/K
+/L
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/O
+/K
+/J
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+/K
+/J
+/K
+/B
+/C
+/K
+/B
+/N
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/O
+/L
+/K
+
+/A
+/L
+
+
+
+/C
+/K
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+/K
+/B
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+/K
+
+
+
+
+
+/L
+/B
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/A
+
+/O
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/N
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+
+
+
+
+/AK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/B
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+/O
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/J
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/O
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/A
+/B
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+/K
+/S
+/O
+/A
+/L
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/B
+/B
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/A
+/S
+/O
+/L
+/E
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+/K
+/B
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+/L
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+/C
+/K
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/M
+/K
+/A
+/K
+/K
+/A
+/B
+/K
+/K
+/L
+/A
+/L
+/K
+/B
+/K
+/O
+/K
+/B
+
+
+
+
+
+/K
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+/O
+/B
+/L
+
+/C
+/K
+/A
+/L
+
+
+
+
+
+
+/O
+/K
+/O
+/K
+/L
+/A
+/L
+/K
+/B
+/C
+/K
+/L
+/B
+/K
+/B
+/L
+/L
+/E
+/C
+/K
+/O
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+/K
+/B
+/A
+/K
+/L
+/K
+/L
+/K
+/O
+/O
+
+
+/D
+/M
+/O
+/K
+/K
+/A
+/J
+
+
+/O
+/A
+/O
+/I
+/AK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+/K
+/B
+
+/A
+/L
+/L
+/L
+/A
+
+
+
+
+
+/K
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+
+
+/K
+/K
+/K
+/D
+/I
+/O
+/K
+/C
+/K
+/S
+/O
+/M
+/K
+/K
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/J
+
+
+
+
+
+
+/E
+/L
+/L
+/K
+/O
+/K
+/O
+/E
+/K
+/E
+/K
+/K
+/S
+/O
+/J
+
+
+
+
+
+/O
+/M
+
+
+
+
+
+/N
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+/S
+/K
+/A
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+/O
+
+/K
+/K
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+/D
+/K
+/C
+/K
+
+/A
+/K
+/O
+/A
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+/K
+/K
+/L
+/H
+
+
+/K
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/K
+/S
+/O
+
+
+
+
+
+/O
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+/O
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/B
+
+
+
+
+/O
+
+/A
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/H
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/G
+/K
+/K
+/K
+/A
+/C
+/S
+/O
+/G
+
+
+
+
+/AK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/M
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+/L
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/K
+/L
+/L
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/AK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/S
+/O
+/H
+/K
+/K
+/X
+/A
+/L
+/B
+
+/E
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/G
+/K
+/K
+/K
+/K
+/K
+/K
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+/E
+
+
+
+
+
+/O
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+/K
+/K
+/L
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+/E
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+/O
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/S
+/O
+/L
+/S
+/O
+/K
+/S
+/O
+/C
+/L
+/L
+
+
+/C
+/K
+/B
+
+/K
+
+
+
+
+
+
+
+
+
+/S
+/A
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/S
+
+
+/K
+/A
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+/E
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+/E
+/K
+/B
+/L
+
+
+
+
+
+
+/S
+/O
+/C
+/K
+/B
+/A
+
+/L
+/K
+/S
+/O
+/K
+/L
+/S
+/K
+/K
+/K
+/K
+/A
+/D
+/K
+/K
+/K
+/S
+/O
+/K
+
+
+
+
+
+
+/AK
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+/K
+/B
+/L
+/A
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/A
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/K
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/K
+/K
+
+/A
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/AK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+
+
+
+
+
+/A
+/B
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/S
+/A
+/O
+/L
+/K
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/G
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/O
+/E
+/K
+/K
+/S
+/L
+/S
+/O
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+/E
+/K
+
+
+
+
+/S
+/O
+/E
+/C
+/A
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+/B
+/L
+
+
+
+
+
+/K
+/L
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+/K
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/N
+
+/A
+/B
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/L
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+/S
+/O
+/L
+/B
+/K
+/K
+/K
+/O
+/S
+/O
+
+
+/S
+/L
+/S
+/O
+/S
+/A
+/O
+/O
+/K
+/S
+/O
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/B
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+/K
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+/K
+/C
+/L
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/C
+/C
+/K
+/L
+/K
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/A
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+/K
+/S
+/A
+/S
+/O
+
+/K
+/K
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+/S
+/O
+/K
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+/X
+/L
+/S
+/O
+/K
+/K
+/L
+/K
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/A
+/O
+/A
+/L
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/K
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/K
+/B
+/S
+/O
+/S
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/O
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+
+/S
+/O
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+/S
+
+
+/S
+/O
+/S
+/O
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/S
+/A
+/O
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+/B
+/K
+/C
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/K
+/O
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+/K
+/C
+
+/AK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/L
+/L
+/M
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+/S
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/L
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+/O
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/C
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/L
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/E
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/S
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+/S
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/S
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/S
+/O
+/C
+/G
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/S
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/L
+/H
+/K
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+/A
+/L
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/X
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/C
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+/K
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/G
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/E
+/K
+/K
+/X
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+/S
+/O
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+/E
+/K
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/X
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+/F
+/K
+/X
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/S
+/O
+/L
+/S
+/O
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/A
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/J
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/AK
+
+
+
+
+/K
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/K
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+/S
+/O
+/D
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+/K
+/S
+/O
+/G
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+/A
+/K
+/A
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/S
+/O
+/K
+
+
+
+/O
+
+/C
+/K
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/O
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+/S
+/O
+
+
+
+
+/AK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+/K
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/X
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/C
+/K
+/S
+/O
+/K
+/B
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/L
+/K
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+/B
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+
+
+
+
+
+
+/S
+/O
+/A
+/L
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+/K
+/K
+/C
+/K
+/C
+/S
+/O
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+/S
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/O
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/A
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+/K
+/K
+/S
+/O
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+/H
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/A
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/C
+/K
+/A
+/B
+/S
+/O
+/A
+/L
+/S
+/O
+
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/A
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+/D
+
+
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+/O
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+/S
+/O
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/AK
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+/A
+/B
+/B
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+/B
+/K
+/X
+/B
+/O
+/K
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/O
+
+
+
+
+
+
+
+
+
+
+/C
+/S
+/O
+/E
+/K
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+/A
+/B
+/K
+/O
+/K
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/A
+/L
+/K
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+/L
+/A
+/K
+/B
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+/O
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/C
+/S
+/O
+/K
+/K
+/A
+/B
+/B
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+/O
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+/K
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/A
+/K
+/B
+
+
+
+
+
+
+
+
+/C
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/S
+/O
+/K
+/A
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+/B
+
+
+
+
+
+
+/K
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+/O
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/B
+
+
+/C
+/S
+/O
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+/L
+
+/L
+
+
+
+/B
+
+/K
+/L
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+/E
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/M
+/C
+/B
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/C
+/E
+/K
+/A
+/L
+/C
+/K
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+/S
+/O
+/L
+
+
+
+/K
+/C
+/K
+/K
+/B
+/B
+
+
+
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/C
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/CI
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/AK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/L
+/E
+/L
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/K
+/O
+
+
+
+
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/K
+
+
+
+/S
+/O
+
+/A
+/L
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+/L
+/K
+/L
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+/O
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/AK
+/B
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+/A
+/A
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+/A
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/A
+/O
+/L
+/E
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+
+
+
+
+
+
+/S
+/A
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/O
+
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+/S
+/O
+
+/S
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+/A
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/K
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/AK
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+
+
+
+
+
+/A
+/B
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+/O
+/L
+/J
+/K
+/L
+/L
+/B
+/S
+/O
+/K
+/S
+/O
+/K
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/S
+/O
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+
+
+
+
+
+/K
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+/C
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+/O
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/M
+/C
+/K
+/B
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/S
+/O
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+/O
+/K
+
+
+/A
+/S
+/O
+/K
+/C
+/K
+/K
+/L
+/K
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+/K
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+/K
+/K
+/S
+/O
+/B
+/C
+/K
+/B
+/I
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/A
+/S
+/O
+/K
+/G
+/K
+/K
+/K
+/K
+/O
+/K
+/K
+/L
+/B
+/X
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+/A
+/L
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/B
+/A
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/C
+/S
+/A
+/A
+/B
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/A
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/H
+/K
+/K
+/B
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/C
+/K
+/K
+/K
+/S
+/O
+/C
+/C
+/K
+/K
+/D
+/K
+/C
+/K
+/K
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+/K
+/B
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/N
+/K
+/A
+/B
+/J
+
+
+/K
+/B
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/K
+/E
+/K
+/K
+/B
+/A
+/O
+/K
+/B
+/L
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/L
+/K
+/A
+/O
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/A
+/S
+/K
+/O
+/K
+
+
+
+
+/S
+/O
+/L
+/K
+/L
+/K
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+
+/S
+/O
+
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+/K
+
+
+
+
+
+/C
+/K
+
+
+
+
+
+
+
+
+/O
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+/K
+/C
+/K
+/C
+/K
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/C
+/K
+/S
+/O
+/M
+/K
+/K
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/S
+/O
+/K
+/C
+/A
+/S
+/O
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+/K
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+/A
+/B
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+
+
+
+
+/S
+/O
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/N
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+/O
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/A
+/B
+/C
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+/K
+/B
+/K
+/C
+/K
+/K
+/K
+/S
+/O
+/C
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/C
+/B
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/O
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/B
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+/A
+/S
+/O
+/K
+/K
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/L
+/S
+/O
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/AK
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+/S
+
+
+
+
+
+
+
+
+/S
+/O
+/L
+/L
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/C
+
+
+
+
+/A
+/O
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/E
+/K
+/K
+
+
+
+
+/S
+/O
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/A
+/K
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/O
+/K
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+
+
+
+
+/L
+
+/A
+/B
+/K
+/L
+/K
+/L
+/C
+/K
+/C
+/K
+/B
+/K
+/K
+/L
+/B
+/K
+/K
+
+/K
+/A
+/B
+/L
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/AK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/C
+/S
+/O
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+/L
+/S
+/O
+/K
+/K
+/C
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/C
+/K
+/M
+/C
+/K
+/K
+
+
+
+
+/C
+/C
+/M
+/M
+/K
+/K
+/L
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/A
+/K
+/K
+/B
+/K
+/K
+/L
+
+
+
+
+
+/K
+/K
+
+
+
+
+/C
+/K
+/O
+/C
+/K
+/A
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+/K
+/A
+/K
+/L
+/B
+/K
+/K
+/K
+/K
+/K
+/K
+/K
+/K
+/L
+/A
+/K
+/K
+/K
+/K
+/K
+/L
+/K
+/S
+/O
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/B
+/O
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+/A
+/B
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+/A
+/A
+/L
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+/K
+/O
+/K
+/K
+
+
+/C
+/L
+/S
+/K
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+/K
+/K
+
+
+/O
+/K
+/O
+/C
+/K
+/S
+/O
+/C
+/C
+/K
+/A
+/C
+/C
+/CD
+/K
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/H
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/C
+/K
+/S
+/O
+/S
+/O
+/K
+/K
+/L
+/K
+/S
+/M
+/C
+/K
+/K
+/F
+/K
+/L
+/K
+/C
+/K
+/K
+/K
+/S
+/O
+/C
+/K
+/K
+/O
+/E
+/E
+/K
+/L
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+/K
+/A
+/C
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+/C
+/K
+/C
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/L
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/K
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/H
+
+
+
+
+
+/L
+
+/S
+/O
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/O
+/K
+/K
+/K
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/K
+/S
+/O
+/C
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/AC
+/A
+/K
+/J
+/A
+
+/J
+/CD
+/S
+/O
+
+/A
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/K
+/K
+/K
+/L
+/C
+/A
+/K
+/L
+/L
+/B
+/K
+/L
+
+
+
+
+/C
+/K
+/L
+/L
+/CD
+/C
+/J
+
+/K
+/K
+/C
+/L
+/M
+/K
+/K
+/K
+/B
+/C
+/L
+/C
+/K
+/AC
+/O
+/A
+/K
+/K
+/K
+/N
+/K
+/K
+/K
+/K
+
+/C
+/O
+/K
+/K
+/C
+/C
+/K
+/K
+
+
+/M
+/K
+/K
+/K
+
+/K
+
+
+/K
+/K
+/K
+/K
+/K
+/K
+/C
+/K
+/K
+
+
+/K
+/B
+/K
+
+
+
+/C
+/K
+/K
+/K
+/D
+/K
+/K
+/K
+
+
+/K
+/K
+/K
+
+
+
+/K
+/K
+/N
+/I
+/S
+/K
+/C
+/K
+/N
+/K
+/C
+/K
+/K
+/L
+/E
+/C
+/K
+/L
+/K
+/K
+/E
+/K
+/O
+/J
+/M
+/K
+/K
+/C
+/K
+/K
+/K
+/S
+/O
+/C
+/K
+/K
+/K
+/B
+/C
+/C
+/K
+
+
+
+
+
+
+
+
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+/K
+/B
+/L
+/K
+/A
+/K
+
+
+
+
+
+
+
+
+/C
+/L
+/S
+/O
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+/K
+/D
+/C
+/K
+/S
+/O
+/J
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/C
+/D
+/S
+/O
+/A
+/K
+/D
+/C
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+
+
+/K
+/C
+/K
+/D
+/C
+/S
+/O
+/A
+/K
+/K
+/K
+/D
+/K
+/K
+/K
+/M
+/C
+/K
+/K
+/C
+/M
+/M
+/K
+/K
+/L
+/K
+/K
+/K
+/K
+/D
+/S
+/O
+/K
+/C
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+/K
+/L
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/L
+/A
+/L
+/K
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/S
+/O
+/S
+/O
+/A
+/A
+/A
+/K
+/B
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+/D
+
+/K
+
+/G
+/K
+/S
+/O
+
+/O
+
+
+
+
+/A
+/O
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+/K
+/L
+/S
+/O
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/O
+/K
+/O
+/C
+/L
+
+/K
+/E
+/K
+/O
+/K
+/L
+/K
+/C
+/O
+/C
+/K
+/K
+/L
+/C
+/K
+/A
+/D
+/E
+/M
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+
+
+/C
+/K
+/A
+/L
+/B
+/O
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/N
+/K
+/C
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/H
+
+
+
+
+/L
+
+/K
+/L
+/K
+/L
+/K
+/K
+/K
+/L
+/K
+/L
+/A
+/L
+/A
+/K
+/K
+/L
+/O
+/K
+/L
+/K
+/L
+/L
+/K
+/A
+/K
+/K
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+/M
+/D
+/I
+/D
+/K
+/C
+/A
+/K
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/A
+/B
+/K
+/O
+/J
+/L
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+/K
+/B
+/C
+/K
+/B
+/K
+/G
+/K
+/O
+/A
+/B
+/K
+/O
+/K
+/K
+/O
+/K
+/K
+/J
+/K
+/C
+/O
+/K
+/C
+/K
+/K
+/K
+/L
+
+
+
+
+
+
+
+
+/B
+
+/K
+/L
+/O
+/K
+/K
+/B
+/E
+/A
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/K
+/A
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+/K
+
+
+
+
+
+/A
+/A
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+
+/K
+/H
+/K
+
+/K
+/C
+/L
+/H
+/H
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/K
+/K
+/K
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/N
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/O
+
+
+
+
+
+
+
+
+
+/C
+/K
+/K
+/L
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/K
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+/A
+/B
+/O
+/K
+/K
+/L
+/K
+/E
+/K
+/K
+/K
+/B
+/O
+/K
+
+
+/K
+
+/K
+/L
+/C
+/K
+/L
+/K
+
+
+
+
+
+/O
+
+/L
+
+
+
+
+
+/I
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+
+
+
+/M
+/C
+/A
+/O
+/K
+/L
+/L
+/A
+/A
+/L
+/K
+/L
+/K
+/A
+/B
+/A
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+/K
+/L
+/K
+/K
+/K
+/A
+/K
+/L
+/B
+/K
+/A
+/L
+/K
+/K
+/B
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+/C
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+
+
+/L
+/K
+/C
+/C
+/K
+/K
+/A
+
+/C
+/K
+/M
+/K
+/L
+/C
+/F
+/K
+/B
+/K
+/C
+/K
+/K
+/B
+/O
+
+
+
+
+
+/K
+/N
+/K
+/A
+/K
+/E
+/K
+/K
+/K
+/C
+/F
+
+
+
+
+
+/K
+/O
+/D
+/C
+/K
+
+
+/K
+
+
+
+/C
+/K
+/K
+/E
+/K
+/C
+/N
+/C
+/D
+/C
+/N
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+/H
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/O
+/K
+/D
+/O
+/L
+/C
+/C
+/K
+/C
+/K
+/K
+/E
+/K
+/K
+/C
+/L
+/K
+/L
+/N
+/K
+/K
+/C
+/K
+/C
+/K
+/K
+/C
+/K
+/K
+/O
+/K
+/K
+/K
+/K
+/K
+/L
+/CD
+/K
+/S
+/A
+/O
+/C
+/CD
+
+
+
+
+
+/C
+/K
+/D
+/D
+/D
+/C
+/K
+/C
+/K
+
+
+/L
+/B
+/K
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+/B
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/A
+/S
+/O
+/C
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+/B
+/S
+/O
+/L
+/A
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/C
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/L
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/C
+
+/AK
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+/S
+/O
+/L
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+/S
+/O
+/S
+/O
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+/O
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+/S
+/O
+/K
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/G
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/X
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/C
+
+/AK
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+/H
+/K
+
+
+
+
+
+/K
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/O
+/K
+
+/S
+/O
+
+
+
+
+/A
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+/H
+/K
+/B
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/H
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/S
+/O
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/H
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/A
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/G
+/K
+/K
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+/O
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+
+/K
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/H
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+
+
+
+
+
+
+
+/S
+/O
+/C
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/K
+/L
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/C
+
+/S
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+/L
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+/B
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+/I
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/AK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/S
+/O
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/N
+/A
+/S
+/S
+/O
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/K
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/K
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+/A
+
+
+
+/K
+/B
+/C
+/K
+/L
+/C
+/L
+/K
+/L
+/K
+/A
+/A
+/A
+/B
+/L
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+/S
+/O
+
+
+
+
+
+
+
+
+/K
+/A
+/K
+/B
+/C
+/G
+/K
+/K
+/K
+/K
+/B
+/K
+/C
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/A
+/O
+/L
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+/K
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+/C
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+/B
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/H
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+/K
+/X
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/A
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/S
+/O
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+/H
+
+
+
+
+
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+/K
+/M
+
+
+
+
+
+
+/C
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+/E
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+/K
+/K
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+/K
+/K
+/L
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+/L
+/C
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+
+
+
+
+
+/A
+/B
+/O
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+/H
+
+
+
+
+
+
+
+/K
+/A
+/B
+/K
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/G
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/O
+
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/S
+/O
+/E
+/K
+/G
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+/O
+/K
+/B
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/S
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+/S
+/O
+
+
+
+
+/K
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/O
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/L
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/O
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+/S
+/O
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/O
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+
+
+
+
+/AK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/A
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/S
+/A
+/O
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+/H
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/A
+/O
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/H
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/A
+
+/C
+/C
+/J
+
+
+/C
+/K
+/S
+/O
+/K
+/C
+/C
+/O
+/K
+/K
+/M
+/A
+/K
+/O
+/A
+/K
+/K
+/A
+/K
+/K
+/K
+/C
+/J
+/K
+/L
+/K
+/C
+
+
+
+/K
+
+/K
+/S
+/O
+
+
+/K
+/D
+/K
+/D
+/J
+/C
+
+/AK
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+/K
+
+/K
+
+/K
+/O
+/K
+/L
+/A
+/K
+/J
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+/I
+/K
+/K
+/K
+/C
+/S
+/O
+/K
+/K
+/M
+/F
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/A
+
+
+
+/C
+/K
+
+
+
+/O
+/L
+
+/C
+/L
+/C
+/K
+
+
+
+
+/K
+/B
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+/S
+/O
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/A
+/O
+/B
+/D
+/C
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/M
+/K
+/K
+/F
+/K
+/K
+/K
+/S
+/O
+/M
+/C
+/K
+/B
+/C
+/K
+/K
+
+/K
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/B
+/C
+/K
+/C
+/K
+/L
+/B
+/K
+/C
+/K
+/C
+/K
+/S
+/O
+/A
+/B
+/M
+/C
+/K
+/K
+/B
+/K
+/B
+/K
+/K
+/A
+/L
+
+/C
+/D
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+/O
+/C
+/M
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/C
+/K
+/S
+/K
+
+
+
+
+/K
+/C
+/K
+/K
+/S
+/O
+/K
+/C
+/K
+/A
+/O
+/M
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+/B
+/B
+/K
+/S
+/O
+/C
+/K
+/K
+/C
+/K
+/S
+/O
+/K
+/K
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/C
+/K
+/S
+/O
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/C
+/K
+/M
+/C
+/K
+/K
+/K
+/K
+/S
+/O
+/N
+/C
+/C
+/K
+/K
+/S
+/O
+/C
+/K
+/K
+/S
+/O
+/K
+/C
+/K
+/K
+/K
+/S
+/O
+
+
+
+
+
+
+/K
+/A
+/K
+/D
+/S
+/O
+/C
+/K
+/K
+/L
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+/B
+
+/K
+/S
+/O
+/C
+/K
+/K
+/K
+/B
+/K
+/C
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/I
+/S
+/O
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/C
+/S
+/O
+/K
+/F
+/K
+/K
+/K
+/C
+/K
+/K
+/K
+/E
+/K
+/L
+/A
+/A
+/J
+/K
+/A
+/K
+/C
+/J
+/C
+/K
+/C
+/K
+/K
+/K
+/S
+/A
+/O
+/B
+/C
+/C
+/N
+/K
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+/C
+/K
+/K
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/S
+/O
+/K
+/C
+/C
+/K
+/K
+/C
+/K
+/S
+/O
+/C
+/S
+/L
+/K
+/C
+/K
+/B
+/C
+/J
+/S
+/O
+/S
+/O
+
+/I
+/D
+/A
+/K
+/D
+/A
+
+/C
+/K
+/K
+
+/C
+/S
+/O
+/C
+/K
+/C
+/K
+/K
+/K
+/K
+
+/K
+/M
+/C
+/K
+/K
+/K
+/S
+/O
+/E
+
+
+
+
+
+
+
+/S
+/O
+/K
+/K
+/K
+/C
+/K
+/S
+/O
+/K
+/C
+/K
+/K
+/S
+/O
+/C
+/K
+/C
+/K
+
+
+
+
+/K
+/S
+/O
+/K
+/C
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/C
+/K
+/K
+/K
+/S
+/K
+/K
+/K
+
+/K
+/B
+/K
+/K
+/J
+/L
+/C
+/K
+/B
+
+/K
+/B
+/K
+/K
+/O
+/K
+/A
+
+
+
+/K
+/A
+/J
+/K
+/J
+/C
+/K
+/S
+/O
+/K
+/C
+/K
+/S
+/O
+/C
+/K
+/K
+/O
+/J
+/K
+/J
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+/K
+/L
+/C
+/A
+
+
+
+/J
+/S
+/A
+/O
+/K
+/K
+/B
+/C
+/A
+/K
+/K
+
+
+/K
+
+
+
+/K
+/K
+/C
+/K
+/S
+/O
+/N
+/C
+/K
+/K
+/S
+/O
+/C
+/C
+/K
+/K
+/S
+/O
+/C
+/S
+/O
+/O
+/C
+/K
+/S
+/O
+/C
+/K
+/K
+/K
+
+
+/K
+/K
+/C
+/F
+/K
+/K
+/F
+/K
+/K
+/K
+/K
+/C
+/C
+/K
+/K
+/S
+/O
+/K
+/K
+/L
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+/K
+/C
+/K
+/C
+/K
+/S
+/O
+/C
+/C
+/K
+/K
+/K
+/S
+/O
+/D
+/S
+/O
+/S
+/O
+/K
+/L
+/C
+/K
+/K
+/C
+/K
+/K
+/K
+/K
+/K
+/B
+/K
+/K
+/K
+/C
+/K
+/K
+/K
+/K
+/K
+/C
+/K
+/B
+/L
+/K
+/K
+/C
+/S
+/O
+/C
+/C
+/C
+/C
+/K
+/K
+/K
+/S
+/O
+/K
+/C
+/K
+/K
+/K
+/K
+/S
+/O
+/C
+/K
+/K
+/C
+/K
+/K
+/L
+/K
+/M
+/S
+/O
+/C
+/N
+/K
+/K
+/K
+/C
+/K
+/K
+/K
+/S
+/O
+/A
+/B
+/C
+/K
+/S
+/O
+/K
+/K
+/K
+/C
+/K
+/K
+/K
+/K
+/B
+/K
+/A
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/S
+/A
+/K
+/B
+/C
+/C
+/K
+/K
+/S
+/O
+/B
+
+
+
+
+
+
+
+
+
+/A
+
+/AK
+
+
+
+/C
+/K
+/K
+/M
+/O
+/E
+/K
+/L
+/A
+/A
+/B
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+
+/K
+/A
+/K
+/L
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+/K
+/B
+
+
+
+
+
+
+
+
+/K
+/E
+/K
+/O
+/K
+/K
+/L
+/J
+/AK
+/K
+/K
+/K
+/K
+/C
+/K
+/L
+/C
+/K
+/L
+/L
+/K
+/K
+/K
+/C
+/S
+/O
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+/K
+/K
+/D
+/K
+/M
+/K
+/K
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/D
+/D
+/A
+/A
+/B
+/S
+/O
+/A
+/K
+/S
+/O
+/K
+/C
+/K
+/K
+/O
+
+/S
+/O
+
+/S
+/O
+
+
+
+
+/K
+/A
+/K
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+/K
+/K
+/K
+
+/C
+/K
+/B
+/N
+/D
+/A
+
+
+
+
+/E
+/K
+/L
+/C
+/A
+/K
+
+
+/C
+/K
+/K
+/K
+/L
+/K
+/C
+/K
+/K
+/S
+/O
+/K
+/K
+/J
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/O
+/K
+/L
+
+
+/D
+/A
+/K
+/C
+/A
+/K
+/K
+/K
+/K
+/L
+/J
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/AK
+/J
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+/K
+
+
+
+/K
+/L
+/K
+
+/E
+/K
+/K
+
+
+
+
+
+
+
+/KL
+/K
+/L
+/A
+/A
+/C
+/L
+/A
+/L
+/K
+
+/O
+/K
+/O
+/K
+/K
+/L
+/K
+/K
+/L
+/A
+/O
+/K
+/B
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+/K
+/A
+/L
+/O
+/K
+/A
+/L
+/C
+/K
+/K
+/K
+/K
+/C
+/C
+/A
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/I
+/K
+/M
+/C
+/I
+/K
+/K
+/K
+/K
+/K
+/L
+/C
+/K
+/K
+/K
+/K
+/A
+/K
+/D
+/C
+/S
+/O
+/C
+/K
+/C
+/K
+/M
+
+/K
+
+
+
+
+/K
+/K
+/B
+/J
+/D
+/K
+/K
+/C
+/K
+/J
+/M
+/O
+/K
+/K
+/C
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+/C
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+/K
+
+
+/K
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+/K
+/K
+/K
+/K
+/K
+/K
+/N
+/K
+/C
+/K
+/I
+/A
+/K
+/B
+/L
+
+/A
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+
+/O
+/C
+/C
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+
+/C
+/A
+/A
+/A
+/K
+/K
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+/E
+/K
+/K
+/L
+/K
+
+
+
+
+
+
+/K
+/E
+/K
+/L
+/K
+/K
+/K
+/O
+/K
+/E
+/K
+/K
+/K
+/C
+/K
+/G
+/K
+/L
+/CD
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/L
+
+
+
+
+/D
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+/C
+/L
+/K
+/K
+/D
+/K
+/A
+/K
+/L
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/C
+/A
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+/M
+/M
+/S
+/O
+/K
+/K
+/A
+/L
+/O
+/A
+/C
+/K
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/O
+
+/J
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/L
+/M
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+/E
+/K
+
+
+
+
+
+/D
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/A
+/A
+
+
+
+/A
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/AC
+
+/C
+/C
+/K
+/K
+/E
+
+/K
+
+
+
+
+
+/AK
+/O
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+
+
+
+
+
+/L
+
+
+/L
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+
+
+/D
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+/K
+/K
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+
+
+
+
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+
+
+
+
+/S
+/O
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/A
+/C
+/S
+/O
+/C
+/K
+/K
+/O
+/C
+/K
+/K
+/K
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+/M
+
+
+
+
+
+/L
+
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/K
+/M
+/C
+/D
+/D
+/A
+/L
+/K
+/K
+/L
+/K
+/L
+/K
+/C
+/K
+
+/D
+/C
+/K
+/N
+/K
+/M
+/K
+/K
+/K
+/K
+/K
+/K
+/M
+/L
+/A
+/C
+/O
+/L
+/C
+/K
+/C
+/L
+/J
+/K
+/K
+/C
+/K
+/S
+/O
+/A
+/K
+/C
+/K
+/M
+
+
+
+/M
+/K
+/K
+/K
+/L
+/L
+/L
+/K
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/L
+/O
+/K
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/L
+/A
+/L
+/M
+/K
+/B
+/A
+/A
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+/L
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/L
+/A
+/L
+/B
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/L
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+/L
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/L
+/K
+/B
+/L
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/L
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/O
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+/K
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/L
+/K
+/B
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+/O
+/K
+/O
+/K
+/K
+/L
+/B
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+
+
+
+/A
+/L
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/A
+/B
+/O
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+/L
+
+
+/K
+/K
+/B
+/K
+/L
+/L
+/C
+/C
+/M
+/K
+/A
+/D
+/K
+/C
+/K
+/K
+/C
+
+
+/A
+/O
+/C
+/O
+/J
+/E
+/K
+/K
+/K
+
+/S
+/O
+/K
+/O
+/C
+/K
+/D
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+/D
+/K
+/C
+/E
+/M
+/A
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/J
+/C
+/K
+/C
+/K
+/K
+/O
+/M
+/C
+/M
+/C
+/K
+/C
+/L
+/K
+/K
+/K
+/A
+/K
+/L
+/K
+/K
+/K
+/K
+/M
+/K
+/B
+/K
+/K
+/K
+/KL
+/M
+/K
+/L
+/C
+/K
+/K
+/S
+/A
+/O
+/C
+/K
+/O
+/K
+/K
+/B
+/C
+/K
+/A
+/C
+/J
+/K
+/K
+/I
+/D
+/D
+/J
+/C
+/D
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/K
+/A
+/B
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/M
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/B
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/K
+
+
+/K
+/E
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+/O
+/K
+/L
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+/A
+/S
+/O
+/B
+/A
+/K
+/F
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+/L
+/K
+
+
+
+
+/A
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+/K
+
+/K
+
+
+/M
+
+
+/O
+/L
+
+/K
+/E
+
+
+
+
+/K
+
+/M
+/K
+/K
+/B
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+/K
+/K
+/L
+/A
+/A
+/A
+/K
+/A
+/A
+/A
+/A
+/A
+/A
+/C
+/A
+/K
+/A
+/A
+
+
+/A
+
+
+
+
+
+
+/A
+
+
+
+/B
+
+
+/K
+/A
+/A
+/K
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/K
+/C
+/C
+/K
+/C
+/K
+/B
+/O
+/A
+/L
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/C
+/N
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/E
+/A
+/O
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/E
+/K
+/K
+/O
+/C
+/K
+
+/A
+/B
+/S
+/O
+/C
+/K
+
+
+
+
+
+/K
+
+/E
+/K
+/K
+/S
+/O
+/L
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/A
+
+
+
+
+/E
+/K
+/O
+
+/C
+/L
+/K
+/L
+/C
+/K
+
+/K
+/K
+/L
+/J
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+/B
+/O
+
+
+
+
+
+/L
+/M
+
+
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/K
+/K
+/A
+/L
+/A
+/L
+/D
+/K
+/A
+/K
+/O
+/K
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+
+/K
+/L
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/K
+/L
+/B
+
+
+
+
+/K
+/A
+/B
+/L
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+/C
+/J
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/M
+/K
+/K
+/A
+/O
+/A
+/O
+/K
+/L
+/K
+/K
+/K
+/N
+/A
+/K
+/O
+/L
+/A
+/L
+/B
+/O
+/A
+/A
+/L
+/K
+/K
+/K
+/A
+/B
+/K
+/L
+/K
+/K
+/K
+/K
+/K
+/K
+
+
+
+
+
+/C
+/L
+/K
+/O
+/K
+/K
+/B
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+/S
+/O
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/B
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/S
+/O
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+/K
+/B
+/A
+/B
+
+
+/K
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/L
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/L
+/K
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+/E
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/X
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+/S
+/O
+
+/S
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/A
+/O
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+/L
+/A
+/L
+/K
+/B
+/X
+/L
+/K
+/B
+/K
+/L
+/K
+/B
+/O
+/L
+/B
+/K
+/B
+/C
+/K
+/K
+/I
+/K
+/K
+/M
+/L
+/M
+/O
+/K
+/I
+/K
+/I
+/K
+
+/K
+
+
+
+/C
+/K
+/K
+/S
+/O
+/K
+/M
+/K
+/K
+/L
+
+
+
+
+
+
+/K
+
+/K
+/L
+
+
+
+
+
+/K
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+/O
+
+/C
+/K
+/J
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/L
+
+
+
+
+
+
+/L
+/K
+/O
+/J
+/L
+
+
+/K
+/K
+/O
+/M
+/O
+/K
+/K
+/K
+/K
+/K
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+/K
+/K
+/C
+/K
+
+
+/K
+
+
+
+/N
+/C
+/M
+/K
+/A
+/L
+/L
+
+/D
+
+/D
+
+
+/G
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/N
+/K
+/K
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/E
+/C
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+/K
+/I
+/I
+/K
+/D
+/K
+
+/D
+
+
+
+/K
+
+
+/C
+/K
+/B
+/D
+/D
+/K
+/C
+/K
+/K
+/L
+/K
+/C
+/K
+/K
+/C
+/K
+/O
+/K
+
+
+
+
+
+/C
+/K
+/K
+/K
+/K
+/B
+/C
+/K
+/C
+/S
+/O
+/K
+/A
+/K
+
+
+/K
+/A
+/A
+/M
+/K
+
+
+/L
+/K
+/K
+/C
+/M
+/O
+/C
+/K
+/K
+/M
+/K
+/J
+/L
+/K
+/K
+/K
+/K
+/C
+/K
+
+/C
+/L
+/B
+/B
+/L
+
+/E
+/K
+/L
+
+/K
+/O
+/M
+/K
+/K
+/N
+
+/C
+/K
+/C
+/K
+/K
+/C
+/K
+/K
+/M
+/A
+/L
+/C
+/C
+/K
+/K
+/L
+/K
+/K
+/K
+/K
+/B
+/K
+/C
+/K
+
+/K
+/B
+
+
+
+/O
+/K
+/L
+/C
+/C
+/K
+/L
+/K
+/K
+/M
+/K
+/A
+/C
+/K
+/K
+/K
+/M
+/C
+/J
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+/K
+/J
+/K
+/K
+
+
+/C
+/O
+/C
+/K
+/K
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/S
+/O
+/C
+/K
+/C
+/K
+/L
+/K
+
+
+
+
+
+/K
+
+
+
+/C
+/K
+
+/A
+/L
+/C
+/A
+/K
+/B
+/C
+
+/K
+/J
+
+/C
+
+
+
+/C
+/C
+/K
+/K
+/K
+/K
+/C
+/A
+/K
+/K
+/A
+/C
+/M
+/O
+
+/C
+/K
+/S
+/A
+/O
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+
+
+
+/A
+/O
+/K
+/K
+/L
+
+
+
+
+
+
+/J
+
+
+
+
+
+
+/D
+
+
+
+
+
+/K
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/J
+
+
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+/L
+
+
+
+
+
+
+
+/L
+/M
+/O
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/G
+/K
+
+/L
+/K
+/K
+/K
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+/K
+/A
+/A
+/A
+/L
+/A
+/A
+/A
+/A
+/A
+
+
+
+
+
+/A
+
+
+
+
+/K
+/A
+/K
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+/K
+/C
+/K
+/S
+/O
+/C
+/K
+/K
+/B
+/C
+/A
+/K
+/A
+/K
+/K
+/K
+/C
+/K
+/S
+/O
+/K
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/I
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+/A
+
+
+
+
+/K
+/A
+/A
+/M
+/C
+/K
+
+/C
+/C
+/K
+
+
+/K
+/C
+/K
+/K
+/S
+/O
+/M
+/K
+/C
+/K
+/K
+/C
+/K
+/B
+/K
+/C
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+
+/C
+/C
+/K
+/C
+/K
+/K
+/B
+/C
+/K
+/S
+/O
+/O
+/C
+/K
+/K
+
+
+/K
+/C
+/A
+/M
+/A
+/L
+/N
+/C
+/K
+/M
+/C
+/K
+/K
+/C
+/C
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+/K
+
+
+
+
+/A
+/K
+/N
+
+
+
+/C
+/K
+/J
+/L
+/K
+
+
+
+/K
+/A
+/A
+
+/L
+/S
+/O
+/M
+/A
+
+/K
+
+/C
+/K
+
+
+/K
+
+
+
+/C
+/K
+/K
+/B
+
+/K
+
+
+
+
+/K
+/C
+/K
+/C
+/K
+/K
+/C
+/K
+/C
+/S
+/O
+/K
+/K
+/C
+/C
+/K
+/K
+/K
+/K
+/K
+/C
+/K
+/K
+/S
+/A
+/O
+/M
+/K
+/K
+/B
+/C
+
+
+/A
+/A
+/A
+/A
+/C
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+
+
+
+
+
+
+
+
+/S
+/O
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+/L
+/K
+
+
+
+
+
+/K
+/K
+/E
+/K
+/L
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/C
+/K
+/M
+/K
+/K
+/K
+/K
+
+
+/K
+/K
+/S
+/O
+/K
+/K
+/K
+/K
+/B
+/A
+/K
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/B
+/K
+/C
+/O
+/K
+/C
+/K
+/L
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+/L
+/L
+
+
+
+
+
+
+/K
+/L
+/K
+/K
+/M
+/O
+/D
+/N
+/K
+/C
+/K
+/K
+/A
+/D
+/C
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/K
+/C
+/K
+/M
+/K
+/S
+/O
+
+/L
+/K
+/K
+/S
+/O
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/C
+/S
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/N
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/D
+/J
+/C
+/K
+/K
+/C
+/O
+/M
+/K
+/K
+/B
+/D
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/K
+/L
+/N
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+/K
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/K
+/L
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/D
+/K
+/S
+/O
+/O
+/D
+/K
+/M
+/S
+/O
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/S
+/O
+/K
+/O
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+
+/AK
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+/S
+/O
+/A
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+/S
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/A
+/S
+/O
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+/L
+/A
+/S
+/O
+
+
+
+
+/K
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+/O
+/K
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/A
+/C
+/K
+/K
+/N
+
+/L
+/K
+/C
+/K
+/K
+/B
+/K
+/K
+/B
+/K
+/O
+/K
+/C
+/K
+/K
+/K
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/D
+/K
+/C
+/K
+/L
+/L
+/K
+/L
+/K
+/D
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/I
+/BI
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/N
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+
+
+
+
+
+/O
+
+
+
+
+
+
+/A
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+
+/B
+
+
+
+
+/K
+
+
+
+/S
+/O
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/B
+/K
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+/K
+
+
+
+/K
+
+/K
+/A
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+/C
+/L
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+/K
+/K
+/A
+/S
+/O
+/C
+/K
+/K
+/K
+/K
+/D
+/I
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/D
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/O
+/K
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/B
+/K
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+/O
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+/A
+/B
+/A
+/K
+/L
+/K
+/B
+/K
+/L
+/A
+/A
+/K
+/A
+/K
+/B
+/K
+/A
+/K
+/L
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/O
+
+
+
+
+
+/K
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+/K
+/K
+
+
+
+
+
+/L
+/A
+/L
+/O
+/A
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/M
+/M
+/K
+/C
+/C
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/L
+
+/K
+/E
+/K
+/K
+/K
+/L
+/C
+/L
+/K
+/K
+/K
+/L
+/O
+/K
+/L
+/K
+/L
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/M
+/B
+/K
+/K
+/L
+/C
+/K
+/J
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/J
+/C
+/K
+/AK
+/O
+/K
+/K
+/K
+/K
+/K
+/B
+/K
+/L
+/A
+/L
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+/A
+/K
+/K
+
+
+/AK
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/K
+/A
+/C
+/K
+/E
+
+/K
+/O
+/K
+/K
+/K
+/K
+/K
+/K
+/A
+/L
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/L
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+/S
+/O
+/L
+/K
+/K
+/A
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/A
+/A
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+/B
+
+
+
+
+
+
+
+
+/S
+/O
+/O
+/O
+/O
+/K
+/K
+/O
+/C
+/K
+/K
+/K
+/A
+/L
+/K
+/K
+/K
+/B
+/L
+/L
+/L
+/L
+
+/S
+/O
+/K
+/A
+/B
+/C
+/E
+/K
+/K
+/L
+/K
+/A
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+/AK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/A
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/D
+/A
+/K
+/K
+/J
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+/K
+/L
+/L
+/K
+/O
+
+
+
+
+
+/O
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+
+
+
+
+
+/B
+/K
+/A
+/K
+/D
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/O
+/B
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/S
+/O
+/E
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+/L
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/C
+/C
+/A
+/K
+/K
+/A
+/K
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+/L
+/A
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+/S
+/O
+/K
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/C
+/K
+/A
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+/O
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/B
+/S
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/H
+/K
+
+
+
+
+/K
+
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+/L
+/K
+/K
+/A
+
+/C
+/K
+
+
+
+/AK
+
+
+
+/M
+/K
+/K
+/K
+/L
+/M
+/K
+/E
+/L
+/D
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+/K
+/L
+
+/S
+/O
+/K
+/L
+/K
+/K
+/O
+/O
+/K
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/A
+/B
+/S
+/O
+/K
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/I
+
+/A
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/A
+/B
+/A
+/N
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/DO
+/C
+/A
+/A
+/K
+/K
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/A
+/B
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/L
+
+
+
+
+
+
+/K
+/L
+
+
+
+/O
+
+
+
+
+
+/H
+/K
+
+
+
+
+/C
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+
+/AK
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+
+
+
+
+
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+/L
+/S
+/O
+/C
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+/B
+/K
+/O
+/K
+/A
+/K
+/B
+/K
+/B
+/D
+/D
+/K
+/B
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+/S
+/O
+/K
+/B
+/C
+/C
+/K
+/A
+/D
+/C
+/K
+/S
+/O
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+/C
+
+
+/A
+/O
+/C
+/O
+/K
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+/I
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/L
+/D
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+/L
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/CD
+/K
+/K
+/J
+/K
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+/J
+/K
+/A
+/O
+/K
+/K
+/K
+/K
+/B
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/K
+/M
+/K
+/A
+/C
+/K
+/A
+
+
+/L
+
+/K
+/D
+/O
+/C
+/K
+/C
+/E
+/K
+/K
+/A
+/B
+/C
+/C
+/K
+/K
+/K
+
+
+/AK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+/M
+/K
+
+
+/K
+/S
+/O
+/B
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+
+
+
+
+
+/O
+/K
+/L
+/A
+/K
+/E
+/K
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/M
+/K
+/L
+/C
+/K
+/M
+/A
+/K
+/C
+/K
+/C
+/K
+/K
+/K
+/K
+/C
+/K
+/S
+/O
+/C
+/K
+/N
+/K
+/K
+/L
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/C
+/K
+/K
+/O
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/C
+/K
+/M
+/A
+/D
+/S
+/O
+/G
+/K
+/K
+/O
+/K
+/A
+/D
+/I
+/K
+/M
+/K
+/C
+/K
+/K
+/K
+/K
+/L
+/K
+/K
+/C
+/K
+/I
+/C
+/K
+/K
+/K
+/K
+/S
+/O
+/M
+/C
+/K
+/K
+/K
+/B
+
+
+/S
+/O
+/M
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/K
+
+
+
+
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/A
+/MN
+
+
+
+
+
+/K
+
+
+
+
+/K
+
+
+/I
+/O
+/K
+/J
+/S
+/O
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+/L
+/K
+/K
+
+
+/S
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+
+
+
+
+
+
+
+
+/K
+
+
+/K
+/M
+
+
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/N
+/K
+/K
+/K
+/K
+/C
+/N
+/C
+/K
+/K
+/N
+/N
+/K
+/F
+/K
+/K
+/K
+/K
+/S
+/O
+
+/D
+
+
+/K
+
+
+
+
+/K
+/C
+/C
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+
+
+
+
+
+/K
+/O
+/K
+/B
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/D
+/K
+/C
+/K
+/K
+/S
+/A
+/O
+/C
+/K
+/C
+/B
+/K
+/K
+/S
+/O
+/K
+/B
+/D
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+/N
+/C
+
+/I
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/K
+/K
+/B
+/K
+/S
+/O
+/K
+/C
+/K
+/K
+/M
+/C
+/K
+/K
+/M
+/C
+/K
+/K
+/K
+/N
+/C
+/K
+/O
+/B
+/A
+/K
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+/S
+/O
+/O
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+/B
+
+
+
+
+
+/A
+/B
+
+
+
+
+/K
+/O
+/K
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+/D
+/S
+/O
+/K
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/L
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+/S
+/O
+/K
+/C
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/C
+/S
+/K
+/K
+/B
+/D
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/A
+/D
+/K
+/F
+/K
+/F
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/B
+/S
+/O
+/S
+/O
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/K
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/S
+/O
+/C
+/K
+/S
+/O
+/K
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+/A
+/K
+/K
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/A
+/B
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+/L
+/A
+/L
+/A
+/L
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+
+/K
+/K
+/K
+/K
+/K
+/K
+/L
+/M
+/K
+/O
+/C
+/K
+/K
+/K
+/K
+/L
+/A
+/K
+/K
+/K
+/K
+/M
+/K
+/K
+/L
+/K
+/O
+/K
+/K
+
+/K
+/O
+/L
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/S
+/O
+/K
+/A
+/D
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/B
+/L
+
+/S
+/O
+
+
+
+
+
+
+
+
+/D
+/K
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/A
+/B
+/O
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+/S
+/O
+/K
+/C
+/K
+/K
+/S
+/O
+/C
+/B
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/O
+/K
+/K
+/K
+/L
+/O
+/B
+/C
+/K
+/B
+/L
+
+/AL
+
+/D
+/C
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+/C
+/L
+/C
+/C
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/A
+/M
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+
+/K
+
+
+
+
+
+/L
+/K
+/O
+/K
+/K
+/B
+/K
+/L
+/K
+/K
+/K
+/K
+/K
+/K
+/K
+/K
+/K
+/L
+/K
+/K
+/A
+/K
+/B
+
+/K
+/M
+/K
+/B
+/D
+/C
+/S
+/A
+/O
+/A
+/K
+/J
+/K
+/K
+/KL
+/L
+/M
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/C
+/O
+/K
+/K
+/K
+/K
+/K
+/K
+/B
+/K
+/C
+/C
+/K
+/L
+/C
+/C
+/K
+/K
+/L
+/K
+/C
+/K
+/K
+/K
+/O
+/K
+/E
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+
+
+
+
+
+
+
+
+/D
+/A
+/A
+
+/A
+/K
+/A
+/L
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/N
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+/K
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+/O
+/D
+
+
+
+
+
+
+
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/K
+/L
+/K
+/C
+/K
+/S
+/O
+/K
+/K
+/K
+/C
+/L
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/BK
+/K
+/S
+/O
+/C
+/J
+/K
+/K
+/K
+/K
+/C
+/K
+/C
+/K
+/S
+/O
+/K
+/C
+/K
+/K
+/K
+/C
+/K
+/S
+/O
+/B
+/C
+
+
+
+
+
+/L
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/C
+/D
+/K
+/C
+/K
+/S
+/O
+/C
+/K
+/K
+/K
+/K
+/A
+/L
+/C
+/C
+/K
+/S
+/O
+/C
+/K
+/K
+/K
+/A
+/A
+/B
+/S
+/O
+/K
+/L
+/S
+/O
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/B
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/L
+/K
+/L
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+/A
+/K
+/K
+/A
+/C
+
+/O
+
+
+/C
+
+/O
+
+
+/M
+/K
+
+
+/K
+/B
+/K
+
+/K
+/A
+/C
+/K
+/L
+/C
+/C
+/E
+/K
+/D
+/E
+/K
+/L
+/K
+/K
+/L
+/O
+/K
+/K
+/K
+/M
+/K
+/K
+/K
+/A
+/S
+/O
+/J
+/K
+/A
+/C
+/K
+/K
+/C
+/K
+/K
+/C
+
+
+/K
+/K
+
+
+
+/C
+/O
+/K
+/A
+/K
+/D
+/K
+/K
+/D
+/K
+/M
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/C
+/K
+/K
+/A
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+/N
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+/S
+/O
+/B
+
+
+
+
+
+
+
+
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/K
+
+/K
+/K
+/K
+/K
+/K
+/O
+/K
+/O
+/K
+
+
+
+
+
+
+/K
+/L
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+
+
+
+
+/K
+
+
+/K
+/L
+
+
+/O
+/L
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/E
+/K
+/K
+/S
+/K
+/L
+
+
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/K
+/K
+
+/O
+/K
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/K
+/B
+/M
+
+
+/K
+/K
+/K
+
+
+
+/K
+/K
+/K
+/D
+/A
+/L
+/K
+/B
+/A
+/B
+/L
+/K
+/K
+/O
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/M
+/L
+/A
+/O
+/K
+/K
+/K
+/M
+/S
+/O
+/L
+/K
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/C
+/D
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+/I
+/I
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+/K
+/C
+/A
+/K
+/A
+/C
+/C
+/K
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/A
+
+
+
+/A
+/B
+/O
+
+
+/K
+/C
+
+
+/L
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+/K
+/L
+
+
+
+
+
+
+/B
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/E
+/K
+/K
+/L
+/S
+/O
+
+
+/L
+/O
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+
+/K
+/K
+/M
+/K
+/S
+/A
+/O
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/O
+/L
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+/K
+/K
+/B
+
+/D
+/K
+/J
+/K
+/K
+/M
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+/S
+/O
+/O
+
+
+/D
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/F
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+/M
+
+
+
+
+
+
+/K
+/A
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+/A
+/L
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/E
+/K
+/K
+/L
+/A
+/K
+/L
+/K
+/C
+/C
+/D
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+/D
+/K
+/K
+/K
+/K
+/M
+/K
+/A
+/K
+/J
+/L
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+/K
+
+
+/M
+/C
+/A
+/F
+/K
+/D
+/S
+/O
+/I
+/K
+/K
+/C
+/K
+/S
+/O
+/M
+/C
+/K
+/K
+/B
+/C
+/K
+/A
+/C
+/K
+/A
+/K
+/K
+/K
+/S
+/O
+/K
+/K
+/C
+/K
+/S
+/A
+/O
+/K
+/K
+/K
+/K
+/C
+/N
+/O
+/K
+/K
+/C
+/C
+/K
+/C
+/K
+/K
+
+
+/K
+
+
+
+/K
+/L
+/K
+/K
+/O
+/K
+/L
+/B
+/K
+
+
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+/B
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+
+
+
+
+
+
+
+
+
+
+/J
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+/C
+/A
+/L
+/K
+/F
+/C
+/K
+/A
+/K
+/C
+/C
+/C
+/K
+/C
+/K
+/K
+/C
+/K
+/S
+/O
+/K
+/O
+/K
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/AK
+
+/M
+/M
+/K
+/N
+/K
+/K
+/D
+/K
+/C
+/C
+/C
+/K
+/K
+/C
+/K
+/C
+/K
+/D
+/K
+/M
+/O
+/A
+/S
+/O
+/E
+/S
+/K
+/L
+/K
+/A
+/K
+/K
+/K
+/K
+/B
+/C
+/A
+/K
+/A
+/S
+/O
+/K
+/K
+/C
+/C
+/K
+/C
+/K
+/B
+/K
+/K
+/C
+/J
+/S
+/O
+/C
+/K
+/K
+/A
+/C
+/A
+/O
+/L
+/A
+
+
+
+/D
+/K
+/L
+/K
+/K
+/B
+/K
+/A
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/O
+
+
+
+
+
+/K
+
+
+
+
+/K
+
+
+
+/K
+
+
+
+
+
+/O
+/O
+/K
+/K
+/K
+/B
+/C
+/K
+/K
+/D
+/C
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/B
+/S
+/O
+/K
+/K
+/S
+/O
+/M
+/K
+/B
+/K
+/O
+/K
+/K
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+/L
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/K
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/O
+/S
+/O
+/K
+/L
+/O
+/C
+/K
+/K
+/K
+/C
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/K
+/L
+/S
+/O
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/E
+/K
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/F
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/K
+/M
+/S
+/O
+/H
+/K
+/G
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+/B
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+/S
+/O
+/S
+/O
+/H
+/K
+/L
+
+
+
+
+
+
+
+
+
+/L
+/K
+/C
+
+
+
+
+/AK
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+/K
+
+/K
+/K
+/M
+/K
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/K
+/B
+/C
+/S
+/O
+/K
+/S
+/O
+
+
+
+
+/K
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+/E
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+/K
+/B
+/L
+
+/A
+/L
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/K
+/S
+/A
+/O
+/B
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+/E
+/K
+/L
+/L
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/C
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/K
+/K
+/K
+/B
+/K
+/B
+/K
+
+/S
+/O
+/L
+/S
+/O
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+
+
+
+
+
+/M
+/K
+
+
+
+
+
+/B
+/K
+/K
+/S
+/O
+
+
+
+
+
+
+/M
+
+
+
+
+
+
+/A
+/K
+/C
+/L
+/L
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/L
+/S
+/O
+/L
+/E
+/K
+/K
+/B
+/A
+/B
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+/H
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/E
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+/K
+
+
+
+
+
+
+
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/L
+/B
+/S
+/O
+/X
+/L
+/E
+/K
+/S
+/O
+/L
+/E
+/K
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+/L
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+/K
+/C
+/K
+
+
+
+
+
+
+/K
+/C
+/A
+/C
+/K
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+/L
+/A
+/M
+/K
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/K
+
+
+/A
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/A
+/K
+/B
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+
+
+
+
+/K
+/O
+/K
+/L
+/K
+/O
+/AK
+/M
+/K
+/A
+/L
+/K
+/B
+/O
+/L
+/O
+/K
+/E
+/S
+/O
+/O
+
+
+/L
+
+/AK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+
+
+
+
+
+/B
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+/L
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+/L
+/M
+/M
+/O
+/K
+
+
+
+
+
+
+
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+/K
+/L
+/B
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+/K
+/L
+
+
+/O
+/K
+/S
+/O
+/S
+/O
+/D
+/O
+/K
+/B
+/O
+
+
+
+
+/K
+/J
+/L
+
+
+
+
+
+/S
+/O
+/C
+
+
+
+
+
+/O
+
+
+
+/M
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/C
+/K
+/C
+
+
+
+
+
+/J
+
+
+
+
+
+/K
+/K
+/B
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+/O
+/B
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/C
+/K
+/K
+/A
+/K
+/J
+/K
+/A
+/N
+/K
+/D
+/K
+/K
+/D
+/D
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/F
+
+/K
+/J
+/A
+/B
+/M
+/O
+/C
+/A
+/C
+/K
+/K
+/K
+/K
+
+/F
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/O
+
+
+
+
+
+/C
+/M
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+/K
+/K
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+/A
+/O
+/L
+/B
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+/L
+
+
+
+
+
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/E
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/B
+/C
+/K
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/O
+/K
+/L
+
+
+
+
+/K
+
+
+
+
+
+
+
+/O
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+/K
+
+
+
+
+
+
+
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/H
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/L
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+/S
+/O
+/L
+/S
+/O
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/K
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+/A
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+/A
+/B
+/M
+/L
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/L
+
+
+
+
+
+
+
+
+/A
+/K
+/K
+/B
+/K
+/C
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/J
+/K
+/L
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/K
+/A
+/K
+/B
+/C
+/K
+/K
+/C
+/K
+/C
+/K
+/K
+/C
+/S
+/O
+/M
+/C
+/K
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/C
+/K
+/K
+/C
+/M
+/K
+/K
+/M
+/A
+/C
+/K
+/S
+/K
+/J
+/K
+/K
+/K
+/L
+/C
+/K
+/C
+/J
+/C
+/K
+/S
+/C
+/K
+/K
+/C
+/K
+/K
+/K
+/K
+/K
+/D
+/O
+/L
+/K
+/K
+
+
+/AL
+/O
+
+/D
+/K
+/K
+
+/A
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/D
+/L
+/K
+/L
+/K
+/K
+/L
+/K
+/C
+/A
+/B
+/L
+
+/K
+/C
+/K
+
+
+
+/J
+/C
+/K
+
+/S
+/O
+/K
+/J
+/M
+/C
+/A
+/N
+/A
+/K
+/S
+/O
+/D
+/O
+/K
+/K
+/K
+/B
+/A
+/S
+/O
+
+/C
+/C
+/C
+/A
+/B
+/C
+/C
+/C
+/K
+/M
+/E
+
+/C
+/K
+
+/D
+/A
+/K
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/K
+/C
+/K
+/K
+/F
+/C
+/S
+/O
+/C
+/K
+/K
+/A
+/S
+/O
+/K
+/K
+/K
+/C
+/K
+/K
+/L
+/C
+/M
+/A
+/D
+/C
+/C
+/A
+/A
+/K
+/J
+/A
+/O
+/C
+/A
+/K
+/S
+/O
+/G
+/K
+/C
+/K
+/K
+/K
+/C
+/K
+/K
+/C
+/C
+/K
+/K
+/K
+/L
+/S
+/O
+/K
+/K
+
+/K
+/C
+/A
+/K
+/C
+/K
+/K
+
+/K
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+/K
+/C
+/K
+/K
+/K
+/K
+/C
+/K
+/C
+/K
+/K
+/K
+/D
+/L
+/K
+/M
+/K
+/K
+/J
+/O
+/A
+/K
+/S
+/O
+/K
+/C
+
+/K
+/K
+/C
+/K
+/K
+/N
+/N
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+/K
+
+
+
+
+
+
+/L
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+/K
+
+/K
+/A
+/L
+/L
+/L
+/K
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/K
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/C
+/L
+/K
+/N
+
+
+/C
+/A
+/L
+/K
+/C
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+
+
+/K
+
+
+
+
+/C
+
+/L
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/N
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+/K
+
+/L
+
+/A
+/A
+/A
+/K
+/O
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/CO
+/C
+/K
+/M
+/C
+/K
+/K
+/O
+/A
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+/C
+/D
+/C
+/K
+/L
+/K
+/A
+
+
+
+
+
+/A
+/K
+/K
+/K
+/K
+/K
+/L
+/A
+
+/D
+
+/J
+/K
+/K
+/C
+/K
+/K
+/K
+/K
+/C
+/K
+/S
+/O
+/C
+/K
+/K
+/K
+/K
+/K
+/J
+/E
+
+/C
+/K
+/K
+/K
+/K
+/K
+/C
+/K
+
+
+
+
+/K
+/N
+/K
+/D
+/A
+/C
+/K
+/K
+/C
+/K
+/K
+/D
+/C
+/K
+/S
+/A
+/O
+/K
+/C
+/K
+/C
+/K
+/K
+/K
+/C
+
+/I
+/C
+/K
+/C
+/K
+/K
+/L
+/A
+/D
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/K
+/K
+/J
+/L
+/C
+/K
+/K
+
+
+
+
+/N
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/L
+/E
+
+
+
+/C
+/M
+/E
+/K
+/O
+/J
+
+/O
+/K
+
+/K
+/O
+/K
+/K
+/N
+/J
+/C
+/K
+/K
+/A
+/K
+/K
+/C
+/M
+/D
+/K
+/C
+/K
+/B
+/K
+/K
+/K
+/S
+/L
+/A
+/K
+/D
+/K
+/B
+/K
+/C
+/K
+/K
+/J
+/K
+/K
+/L
+/M
+/A
+/K
+/N
+/C
+/O
+/C
+/K
+/K
+/K
+/D
+/K
+/C
+/A
+/C
+/K
+/K
+
+
+/K
+/K
+/K
+
+
+
+/K
+/S
+/O
+/O
+/K
+/K
+/K
+/B
+/K
+/C
+/K
+/K
+/K
+/K
+/E
+/K
+/K
+/L
+/K
+/S
+/J
+/C
+/C
+/K
+
+/D
+/K
+/A
+/C
+/K
+/K
+/K
+/C
+/K
+/S
+/O
+/K
+/K
+/K
+
+
+
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+/K
+/M
+/C
+/K
+/K
+/K
+/K
+/K
+/D
+/O
+/C
+/K
+/C
+/C
+/C
+/K
+/C
+/K
+/K
+/K
+/C
+/K
+/A
+/K
+/K
+/K
+/K
+/C
+/K
+/K
+/K
+/L
+/C
+/K
+/C
+/K
+/D
+/K
+/K
+/N
+/A
+/K
+/K
+/C
+/C
+/K
+/A
+/J
+/C
+/C
+/K
+/K
+/A
+/B
+/C
+/K
+/K
+/A
+/C
+/S
+/O
+/M
+/F
+/K
+/K
+/C
+/A
+/O
+/C
+/K
+/C
+/K
+/K
+/S
+/O
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/L
+
+
+/C
+/L
+
+/L
+/L
+/K
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+/L
+/D
+/S
+/O
+/J
+/A
+/C
+/C
+/L
+/A
+/K
+/S
+/O
+/C
+/K
+/K
+/K
+/K
+/N
+/K
+/K
+/C
+/A
+/C
+/J
+
+
+
+
+
+
+/K
+
+/C
+
+
+
+
+/K
+/K
+
+
+/C
+/K
+
+
+/K
+/K
+/K
+
+
+
+/K
+/D
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+/K
+/C
+/C
+/K
+/K
+/A
+/N
+/K
+/J
+/C
+/C
+/K
+/K
+/D
+/S
+/O
+/K
+/S
+/O
+/E
+/K
+/A
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/K
+/K
+/K
+/A
+/O
+/K
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/C
+/A
+/K
+
+/K
+/K
+/D
+/C
+/K
+/S
+/O
+/K
+/B
+/A
+/C
+/K
+/K
+/S
+/O
+/D
+/K
+/M
+/C
+/K
+/S
+/O
+/C
+/S
+/O
+/M
+/K
+/K
+/B
+/K
+/K
+/N
+/K
+/L
+/C
+/C
+/J
+/M
+/C
+/A
+/L
+/K
+/K
+/A
+/C
+/K
+/A
+/K
+/K
+/K
+/C
+/K
+/S
+/A
+/O
+/C
+/K
+/D
+/K
+/C
+/A
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/K
+
+/K
+/S
+/O
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+/K
+/L
+/B
+
+
+/A
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/K
+/K
+/S
+/O
+/C
+
+/C
+/G
+/K
+
+
+
+
+
+/K
+
+
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+
+
+
+
+
+/B
+/K
+/B
+/B
+
+
+/K
+
+/K
+
+/L
+
+
+
+
+/D
+/K
+/K
+/K
+/K
+/O
+/A
+/E
+/K
+/O
+/O
+/H
+
+
+/K
+/K
+
+
+
+/C
+/K
+/K
+/B
+
+/J
+/C
+/K
+/B
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+/M
+/C
+/K
+/D
+/K
+/K
+/J
+/D
+/C
+/K
+/B
+/I
+/K
+/A
+/O
+/K
+/K
+/K
+/A
+/N
+/C
+/C
+/F
+/C
+/K
+/C
+/D
+/C
+/S
+/O
+
+
+/A
+/O
+
+
+
+
+/K
+
+
+
+
+/K
+/L
+
+/B
+
+
+
+
+
+
+/K
+/A
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+/K
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+
+
+
+
+/L
+
+/K
+/B
+/K
+/C
+/C
+/K
+/A
+/B
+/O
+/K
+/K
+/A
+/K
+/S
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+/K
+/K
+/K
+/K
+/K
+/A
+/K
+/K
+/C
+/C
+/M
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+/M
+/A
+/K
+/M
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/K
+/C
+/E
+/A
+/K
+/K
+/C
+
+
+/AK
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+
+
+/C
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+/A
+/C
+/K
+/L
+/L
+/K
+/S
+/O
+/D
+/K
+/D
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/D
+/C
+/K
+/C
+/K
+/M
+/C
+/M
+/L
+
+
+
+
+
+
+
+/K
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+
+
+
+
+/K
+/L
+
+
+
+
+
+
+/K
+
+/K
+/A
+/B
+
+/K
+/K
+/C
+/K
+/S
+/O
+/K
+
+
+
+
+
+/K
+/M
+/O
+/K
+/K
+/K
+/K
+/K
+/B
+/M
+/C
+/K
+/K
+/K
+/B
+/K
+
+
+/K
+
+
+
+
+
+/L
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+/D
+/S
+/O
+/S
+/O
+/M
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/C
+/K
+/C
+/K
+/F
+/K
+/K
+/K
+/D
+/S
+/O
+/K
+/L
+/O
+/K
+/KM
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/O
+
+
+/K
+/C
+/K
+/C
+/K
+/K
+/D
+/K
+/K
+/K
+/S
+/O
+/K
+/K
+/K
+/K
+/S
+/O
+/K
+/C
+/K
+/K
+/K
+/S
+/A
+/O
+/K
+/S
+/O
+/K
+/K
+/K
+/C
+/C
+/K
+/S
+/O
+/S
+/O
+/C
+/K
+/C
+/S
+/O
+/C
+/C
+/K
+/C
+/S
+/O
+/C
+/K
+/K
+/S
+/O
+/C
+/K
+/K
+/M
+/D
+/L
+/K
+/D
+/K
+/K
+/C
+/C
+/K
+/J
+/A
+/K
+/K
+/J
+/S
+/O
+/K
+/K
+/K
+/C
+/C
+/K
+/O
+/D
+/L
+/K
+/K
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/A
+/K
+/K
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/O
+/K
+/K
+/K
+/K
+
+
+
+/A
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/A
+/O
+/K
+/B
+/A
+/B
+/C
+/I
+/C
+/M
+/C
+/D
+/K
+/K
+/S
+/O
+/L
+/C
+/D
+/C
+/A
+/C
+/S
+/O
+/K
+/K
+/F
+/K
+/K
+/C
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+/C
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+/K
+/A
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/K
+/S
+/O
+/A
+/K
+/O
+/K
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+/K
+/A
+/O
+/O
+/O
+/A
+/C
+/K
+/C
+/K
+/K
+/K
+/B
+/K
+/C
+/A
+/K
+/K
+/K
+/K
+/K
+/K
+/K
+/K
+/K
+
+/K
+/K
+/K
+/L
+
+
+
+
+
+/K
+
+/K
+/L
+/K
+
+
+
+/K
+
+
+
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/L
+/K
+/LN
+/K
+
+
+
+
+
+
+
+/L
+
+/D
+/K
+/A
+/L
+/K
+/C
+/C
+/K
+/O
+/A
+/K
+/A
+/K
+
+
+
+
+/L
+
+
+
+
+
+/K
+/O
+
+
+
+
+/K
+
+
+
+/A
+/C
+/K
+/K
+/L
+/K
+/N
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+/K
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+/L
+/A
+/K
+/K
+/O
+/C
+/J
+/C
+/C
+/C
+/K
+/C
+/J
+/C
+/K
+/K
+/K
+/C
+/K
+/C
+/A
+/C
+/C
+/C
+/A
+/K
+/K
+/K
+/K
+/L
+/K
+
+/K
+/K
+/L
+
+
+
+/K
+/I
+/L
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+/K
+/C
+/K
+
+/C
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+/K
+/K
+/K
+/K
+
+/K
+
+/K
+/C
+/K
+/C
+/A
+/A
+/A
+/C
+/K
+/K
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+/S
+/O
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/K
+/K
+/M
+/K
+/D
+/D
+/O
+/C
+/K
+/A
+/B
+/K
+/K
+/K
+/C
+/C
+/C
+/C
+/C
+/D
+/K
+/S
+/O
+/K
+/S
+/O
+/O
+/K
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/K
+/C
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/C
+/K
+/L
+/O
+/K
+/M
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+/A
+/B
+/O
+/A
+/L
+/K
+/C
+/D
+
+
+
+
+
+/K
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+/A
+/A
+/K
+/A
+/A
+/A
+/A
+/B
+/A
+
+
+
+
+
+
+/K
+/K
+
+
+
+
+
+
+/B
+/L
+/A
+/B
+/L
+/K
+/B
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/D
+/K
+/S
+/O
+/S
+/O
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+/D
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+/K
+/G
+
+
+/K
+/O
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/K
+/K
+/K
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/CD
+/O
+/J
+/A
+/K
+/K
+/A
+/B
+/K
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+/A
+
+/A
+/B
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/K
+/A
+/A
+/K
+/A
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+/O
+
+/K
+/S
+/O
+/K
+/K
+/K
+/K
+/K
+/D
+/K
+/L
+/K
+/K
+/I
+
+
+
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+/C
+/K
+/K
+/C
+
+
+/K
+/O
+/A
+/C
+/K
+/K
+/C
+/K
+/L
+/L
+/M
+/K
+/L
+/K
+/K
+
+/K
+/S
+/O
+/K
+/S
+/O
+/J
+/S
+/A
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/D
+/K
+/K
+/A
+/A
+/C
+/C
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+
+
+
+
+
+
+
+
+
+
+/F
+/K
+/K
+
+
+
+
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/K
+
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+/C
+
+/K
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/L
+/K
+/A
+/K
+/E
+/K
+/K
+/K
+/L
+/A
+/K
+/K
+/B
+/D
+/S
+/O
+/K
+/L
+/K
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/B
+/L
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+
+
+
+
+
+/L
+/K
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+/O
+
+
+
+
+
+
+
+
+/G
+/K
+/L
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/O
+/S
+/O
+/L
+/E
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+/K
+
+
+
+
+/K
+/E
+/K
+/K
+
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+/A
+
+
+
+
+
+
+
+
+
+/K
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+/A
+/A
+/A
+/K
+/B
+/C
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+/C
+/E
+/K
+/K
+/M
+/J
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+/L
+
+
+
+/O
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+/K
+/K
+/K
+/L
+/K
+/O
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/C
+/K
+/L
+/L
+/K
+/K
+/K
+/A
+/K
+/S
+/O
+/K
+/A
+/B
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+/J
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+/M
+/C
+/C
+
+
+/A
+/B
+
+
+
+
+/L
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/G
+/K
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/D
+/AC
+/A
+/C
+/C
+
+
+
+
+
+/K
+/C
+/K
+/C
+/KM
+/A
+/G
+/E
+/K
+/L
+/O
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/L
+/M
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+/M
+
+
+
+/A
+/L
+
+/K
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+
+
+
+
+
+/L
+
+/S
+/O
+
+
+
+
+
+
+
+
+/O
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+/K
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/C
+/K
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/L
+/B
+/K
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/A
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+/K
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+/O
+/K
+
+/A
+
+
+
+
+
+
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/L
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/X
+/C
+
+
+
+
+/AK
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/L
+/K
+
+
+/K
+/K
+/B
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/L
+/S
+/O
+
+
+
+
+
+
+
+
+
+/K
+/L
+
+/A
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/L
+/B
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/A
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/H
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+/I
+/D
+/D
+
+/A
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/I
+/K
+/L
+/K
+/C
+
+/C
+
+/AK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/C
+/K
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+/C
+/K
+/K
+/S
+/O
+/D
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+/N
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+/H
+/K
+
+
+
+
+/S
+/O
+/K
+/S
+/O
+/C
+/A
+/B
+/C
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/L
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/L
+/S
+/O
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+/E
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+/B
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/AK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+/K
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+/K
+/C
+/A
+/O
+/A
+/A
+/L
+/C
+/K
+/O
+/K
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/H
+/K
+
+
+
+
+
+
+/S
+/O
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+/K
+/L
+/S
+/O
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+
+
+
+
+
+/O
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+/O
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/E
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/N
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+/O
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/A
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/L
+/K
+/B
+/O
+/K
+/S
+/O
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+/B
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/A
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/K
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/K
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/M
+/B
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+/C
+/A
+/B
+/L
+/O
+
+/C
+/K
+/S
+/O
+/K
+/A
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+/H
+/K
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/B
+/C
+/K
+
+
+/S
+/O
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/H
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/AL
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+/L
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+/K
+/B
+
+
+
+
+
+/L
+
+/S
+/O
+/A
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/K
+/E
+/K
+/K
+/K
+/K
+/L
+/K
+/K
+/S
+/O
+/A
+/A
+/B
+/O
+/K
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/H
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+/H
+/K
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/C
+/K
+/K
+/C
+/A
+/A
+/K
+/S
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+/K
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/L
+
+/B
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/A
+/K
+/S
+/O
+/O
+/K
+/C
+/A
+/B
+/L
+/O
+/O
+
+
+
+/K
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+/K
+/M
+/K
+
+/A
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+/S
+/O
+/S
+/O
+/H
+/K
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/H
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+/K
+
+/A
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/H
+/K
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/M
+/K
+/A
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+/C
+
+/K
+/B
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+/O
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+/M
+/C
+/K
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+/A
+/O
+/K
+/B
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+/A
+/B
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/O
+/C
+
+/AK
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/B
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+/L
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+/H
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+/L
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+
+
+
+
+
+/K
+/M
+/C
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/M
+/F
+/K
+/K
+/B
+/K
+
+
+
+
+
+/L
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+/K
+/L
+/K
+/K
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/F
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+/K
+/K
+
+
+
+/A
+
+
+
+
+/A
+/K
+/O
+/E
+/K
+/K
+/L
+
+
+
+
+
+/AC
+/O
+/L
+/O
+/K
+/L
+/K
+/A
+/B
+/L
+/B
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+/M
+/K
+
+
+
+
+
+/K
+
+/E
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+/L
+/K
+/A
+/B
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/M
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/D
+/C
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+/K
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+/L
+/K
+/L
+/K
+/F
+/K
+/K
+/C
+/K
+/S
+/O
+/K
+/K
+/K
+/K
+/S
+/O
+/C
+/K
+/M
+/C
+/C
+/K
+/K
+/K
+/C
+/A
+/C
+/K
+/D
+/A
+/C
+/K
+/M
+/N
+/K
+/C
+/K
+/L
+/D
+/J
+/A
+/C
+/K
+/K
+/C
+/C
+/K
+/K
+/S
+/O
+/K
+/C
+/K
+/K
+/D
+/K
+/A
+/S
+/O
+/C
+/C
+/D
+/K
+/D
+/C
+/K
+/A
+/S
+/O
+/I
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/F
+/K
+/K
+/S
+/O
+/K
+/K
+/S
+/O
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/K
+/K
+/C
+/S
+/O
+/M
+
+
+
+
+
+
+/K
+/K
+/K
+/B
+/J
+/S
+/O
+/K
+/C
+/K
+/K
+/L
+/K
+/K
+/C
+/K
+/K
+/B
+/J
+/C
+/C
+/K
+/C
+/K
+/C
+/L
+/D
+/C
+/K
+/C
+/A
+/K
+/C
+/C
+/M
+/K
+/K
+/S
+/O
+/L
+/K
+
+
+/K
+/K
+
+
+
+/K
+/C
+/C
+/K
+/K
+/K
+/A
+/D
+/A
+/K
+/K
+/S
+/A
+/O
+/K
+/D
+/K
+/K
+/C
+/C
+/K
+/S
+/O
+/K
+/C
+/A
+/K
+/O
+/L
+/K
+/K
+/K
+/M
+/C
+/K
+/K
+/B
+/S
+/O
+/K
+/S
+/O
+/M
+/C
+/K
+/K
+/C
+/M
+/A
+
+/K
+/C
+/K
+/M
+/C
+/K
+/K
+/K
+/C
+/O
+/K
+/K
+/B
+/K
+/C
+/C
+/K
+/D
+/K
+/K
+/C
+/K
+/C
+/K
+/C
+/M
+/C
+/K
+/K
+/K
+/D
+/C
+/M
+/K
+/J
+/C
+/C
+/A
+/D
+/C
+/K
+/C
+/K
+/M
+
+
+
+
+
+/D
+/C
+/K
+/M
+/J
+/C
+/K
+/C
+/C
+/K
+/K
+/S
+/O
+/C
+/K
+/L
+
+
+
+/K
+/K
+/D
+/D
+/C
+/K
+/C
+/O
+/C
+/M
+/C
+/K
+/K
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/N
+/L
+/K
+/K
+/K
+/K
+/K
+/K
+/C
+/K
+/N
+/K
+/K
+/C
+/K
+/K
+/B
+/K
+/S
+/O
+/C
+/K
+/K
+/J
+/A
+/O
+/K
+/K
+/K
+
+
+/K
+/K
+/K
+
+
+
+/K
+/C
+/K
+/K
+/K
+/K
+/K
+/K
+/K
+/K
+
+
+
+
+
+
+/K
+
+/C
+/K
+/C
+/K
+/S
+/O
+/K
+/B
+/C
+/K
+/K
+/K
+/C
+/M
+/K
+/K
+/K
+/K
+/K
+/K
+/C
+/K
+/K
+/C
+/J
+/C
+/K
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+/K
+/K
+/L
+/K
+/C
+/S
+/O
+/A
+/K
+/J
+/K
+/K
+/K
+
+
+/K
+/K
+
+/K
+
+
+/C
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+/K
+/S
+/O
+/A
+/S
+/O
+/N
+/K
+/O
+/K
+/K
+/D
+/A
+/A
+/C
+/K
+/C
+/K
+
+/S
+/O
+/C
+/K
+
+/A
+/C
+/M
+/K
+/A
+/K
+/S
+/O
+/L
+/K
+/K
+/B
+/K
+/D
+/S
+/K
+/C
+/K
+/K
+/A
+/K
+/L
+/D
+/K
+/K
+/D
+/C
+/KM
+/J
+/K
+/C
+/K
+
+
+/K
+
+
+
+/K
+/O
+/D
+/O
+
+
+/D
+/C
+/K
+/A
+/K
+/J
+/D
+/C
+/J
+/L
+/K
+/K
+/L
+/D
+/A
+/K
+/A
+/K
+/N
+/D
+/D
+/K
+/O
+/K
+/B
+/K
+/C
+/K
+/D
+/K
+/K
+/K
+/K
+/D
+/K
+/K
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/J
+/D
+/A
+/C
+/K
+
+
+
+
+
+/D
+/K
+/K
+/C
+/K
+/K
+/K
+/K
+/C
+/C
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/D
+/J
+/K
+/K
+/C
+/K
+/K
+/C
+/C
+/C
+/C
+/K
+/S
+/O
+/K
+/O
+/K
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+/I
+/D
+/C
+/K
+/C
+/K
+/D
+/D
+/K
+/A
+/K
+/O
+/K
+/K
+/K
+/K
+/A
+/K
+/C
+/K
+/K
+/K
+/K
+/C
+/J
+/C
+/K
+/K
+/S
+/O
+/M
+/C
+/C
+/K
+/K
+/K
+/B
+/C
+/K
+/S
+/O
+/K
+/A
+/S
+/O
+/L
+/K
+/S
+/O
+/S
+/O
+/K
+/S
+/O
+/K
+/S
+/O
+/K
+/C
+/K
+/D
+/S
+/O
+/C
+/D
+/L
+/K
+/K
+/K
+/C
+/C
+/K
+/C
+/C
+/K
+/C
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/J
+/C
+/D
+/K
+/K
+/C
+/K
+/S
+/O
+/K
+/K
+/K
+/K
+/K
+/C
+/N
+/K
+/C
+/K
+/L
+/K
+/K
+/E
+/K
+/C
+/K
+/K
+/N
+/K
+/K
+/C
+/C
+/C
+/K
+/C
+/K
+/D
+/O
+/C
+/C
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+/K
+/K
+/K
+/K
+/K
+/K
+/L
+/K
+/K
+/K
+/K
+/C
+/K
+/C
+/C
+/K
+/B
+/K
+/K
+
+
+/K
+/K
+/K
+
+
+
+/K
+/A
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/C
+/K
+/K
+/K
+/C
+/K
+/L
+/M
+/K
+/K
+/K
+/D
+/C
+/K
+/L
+
+/D
+
+/L
+
+
+/M
+/K
+/K
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/C
+/K
+/K
+/K
+/A
+/S
+/D
+/C
+/B
+/K
+/K
+/K
+
+
+/K
+
+
+
+/K
+/A
+/K
+/D
+/K
+/K
+/B
+/D
+/C
+/M
+/S
+/O
+/K
+/C
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/J
+/K
+/K
+/K
+/D
+/K
+/K
+/D
+/K
+/A
+
+
+
+
+
+
+/K
+/C
+/K
+/A
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+/K
+/C
+/K
+/K
+/K
+/K
+/K
+/K
+/K
+/B
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/D
+/C
+/K
+/K
+/C
+/K
+/K
+/C
+/K
+/K
+/K
+/K
+/M
+/C
+/S
+/O
+/S
+/O
+/C
+/K
+/K
+/D
+/K
+/I
+/K
+/C
+/C
+/M
+/C
+/K
+/K
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+/S
+/O
+/O
+/I
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/J
+/A
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+/C
+/C
+
+
+
+/A
+/O
+/C
+
+
+
+
+
+
+
+/K
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/M
+/K
+/K
+/C
+/K
+/J
+/A
+/K
+/D
+/J
+/K
+/K
+/O
+/M
+/M
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+/K
+/K
+/C
+/M
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+/C
+/M
+/C
+/K
+
+/O
+/M
+/O
+/L
+/K
+/K
+/M
+/C
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/D
+/S
+/O
+/S
+/O
+/C
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/K
+/C
+/K
+/K
+/K
+/M
+/J
+/A
+/C
+/C
+/M
+/K
+/C
+/K
+/C
+/K
+/K
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/O
+/K
+/A
+/B
+/D
+/K
+/K
+/S
+/O
+/K
+/O
+/F
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/C
+/K
+/C
+/K
+/K
+/K
+/C
+/D
+/C
+/C
+/K
+/K
+/M
+/K
+/L
+/D
+/K
+/C
+/K
+/K
+/B
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/B
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+
+
+/J
+/C
+/K
+/S
+/O
+/K
+/K
+/B
+/K
+/M
+/C
+/I
+/I
+/C
+/K
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+/K
+/K
+/M
+/M
+/K
+/K
+/S
+/O
+/K
+/S
+/O
+/K
+/K
+/B
+/K
+/K
+/C
+/C
+/C
+/K
+/A
+/K
+/K
+/D
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/A
+/C
+/J
+/K
+
+
+
+/L
+/K
+/C
+/C
+/C
+/M
+
+
+
+/C
+/K
+/K
+/K
+/A
+/L
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/K
+/S
+/O
+/K
+/A
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/CO
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+/O
+
+
+
+
+
+/L
+
+
+
+
+/L
+/K
+/C
+/K
+/K
+/C
+/K
+/K
+
+/D
+/K
+/N
+/M
+/C
+/D
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+/C
+/C
+/K
+/K
+/K
+/C
+/K
+/K
+/C
+
+
+
+/C
+
+
+/K
+
+
+
+/C
+/K
+/K
+/C
+/K
+/K
+/C
+/K
+/K
+/M
+/K
+/O
+/J
+/A
+/C
+/C
+/K
+/K
+/K
+/C
+/S
+/O
+/O
+/C
+/J
+/K
+/A
+/K
+/C
+/K
+/C
+/A
+/S
+/O
+/K
+/K
+/B
+/K
+/C
+/A
+/C
+
+
+/K
+/K
+/K
+
+
+
+/C
+/K
+/CD
+
+
+/K
+/K
+/L
+
+
+
+
+/K
+/K
+/B
+/K
+/K
+/K
+/K
+/D
+
+/C
+/K
+/K
+/K
+/K
+/S
+/O
+/F
+/K
+/K
+/K
+/B
+/L
+/K
+/K
+/K
+/C
+/C
+/K
+/C
+/S
+/O
+
+
+
+
+
+/CN
+
+
+
+
+
+/C
+/K
+/K
+/K
+/K
+/K
+/K
+/C
+/K
+/K
+
+
+/K
+/K
+/K
+
+
+
+/C
+/K
+
+
+/K
+
+
+
+/K
+/K
+/N
+/K
+/C
+/C
+/C
+/C
+/K
+/K
+/E
+/L
+/C
+/K
+/K
+/K
+/K
+/K
+/K
+/K
+
+/D
+/A
+/B
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+
+
+/K
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+/K
+/B
+/K
+/O
+/C
+/K
+/K
+/K
+/K
+/K
+/K
+/K
+/K
+/C
+/C
+/J
+/C
+/A
+/C
+/K
+/K
+/S
+/K
+/B
+/K
+/K
+/K
+/K
+/A
+/L
+/D
+/A
+/K
+/S
+/O
+/K
+/K
+/J
+/K
+/K
+/C
+/K
+/S
+/O
+/M
+/O
+/K
+/C
+/K
+/K
+/D
+/C
+/K
+/C
+/K
+/K
+/K
+/K
+/K
+/K
+/O
+/K
+/K
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+
+/K
+/C
+/A
+/K
+
+
+/K
+/K
+/K
+
+
+
+/K
+/D
+/C
+/K
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+/K
+/K
+/L
+/B
+/A
+/B
+/K
+/I
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+/O
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+/K
+/L
+/B
+/B
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/O
+/K
+/K
+/J
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+/K
+/L
+/K
+/C
+/E
+/K
+/K
+/K
+/K
+/L
+/J
+/A
+/D
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+/E
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/CI
+/K
+/C
+/S
+/O
+/C
+/K
+/C
+/A
+/C
+/C
+/S
+/O
+/A
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+
+/D
+/K
+/J
+/C
+/K
+/O
+/J
+/D
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+
+
+
+/D
+
+/L
+/K
+/K
+/N
+/K
+/K
+/O
+/K
+/C
+/K
+/K
+
+
+
+/K
+/K
+/K
+/K
+/K
+/K
+/K
+/O
+/K
+/C
+/C
+/K
+/K
+/K
+/K
+/S
+/O
+/B
+/K
+/M
+/F
+/C
+/L
+/C
+/S
+/A
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/C
+/K
+/K
+/O
+/C
+/K
+/K
+/K
+/C
+/C
+/K
+/B
+/C
+/K
+
+
+/C
+/C
+/K
+/C
+/L
+/A
+/L
+/C
+/A
+/C
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/S
+/O
+/D
+/K
+/C
+/C
+/K
+/K
+/L
+/K
+/C
+/K
+/C
+/C
+/B
+/L
+/K
+/A
+/A
+/D
+/A
+/K
+
+
+
+
+
+/A
+/O
+/O
+/K
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+
+
+/K
+/O
+
+
+
+/E
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+/C
+/O
+/K
+/O
+
+
+
+
+
+
+
+
+
+/O
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/O
+/A
+/K
+/J
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+/K
+/A
+/K
+/K
+/D
+/A
+/O
+/A
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+/M
+/K
+/K
+/L
+/A
+/K
+/D
+/K
+/K
+/S
+/A
+/O
+/A
+/K
+/K
+/K
+/K
+/K
+/K
+/K
+/S
+/O
+/C
+/F
+
+
+
+
+
+/J
+/K
+/K
+/C
+
+
+/K
+/K
+/K
+
+
+
+/O
+/C
+/K
+/N
+/K
+/K
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/A
+/B
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+/K
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+
+
+
+
+
+
+
+
+
+/A
+/B
+/L
+
+
+
+
+
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+/A
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+
+
+
+
+
+
+
+/K
+/K
+/S
+/M
+/F
+/K
+/K
+/K
+/B
+/B
+/C
+/K
+/C
+/K
+/K
+/C
+/K
+/C
+/K
+/K
+/K
+/K
+/E
+/K
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/D
+/A
+/A
+/K
+/K
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+/M
+/K
+/K
+/C
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/C
+/I
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+
+
+
+/K
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+/O
+/K
+/O
+/L
+/K
+
+
+
+/M
+/L
+
+
+/K
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/L
+/A
+/E
+/K
+/K
+/L
+
+/E
+/K
+/O
+/K
+/K
+/L
+/L
+/K
+/M
+/A
+/A
+/B
+
+
+/K
+/C
+/K
+/K
+/A
+/J
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+/O
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+/B
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+/K
+/O
+/L
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+/L
+/K
+/B
+/K
+/B
+/K
+
+
+
+
+
+
+
+/A
+/B
+
+/O
+
+
+/L
+
+
+
+/AK
+/B
+
+/L
+/C
+/A
+/B
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+/K
+/E
+/K
+
+
+
+
+/L
+
+/K
+/K
+/K
+/B
+/A
+/B
+/L
+
+/C
+/A
+/A
+/S
+/O
+/K
+/C
+/K
+/K
+/C
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+/AK
+/O
+
+
+/D
+/F
+/K
+/K
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/E
+
+
+
+
+
+/B
+/K
+/A
+
+
+
+/O
+/C
+/D
+/N
+/K
+/K
+/K
+/K
+/S
+/O
+/M
+/M
+/K
+/B
+/S
+/O
+/C
+/K
+/S
+/O
+
+
+/K
+/K
+/K
+/K
+/C
+
+
+
+/K
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/C
+
+
+
+
+/O
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/C
+/K
+
+
+
+
+/K
+
+
+
+/C
+/K
+/F
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/E
+/K
+/K
+
+
+
+
+
+
+
+/A
+/A
+/B
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/D
+/A
+/C
+/C
+/K
+
+
+
+/C
+/K
+/K
+/C
+/K
+/K
+/K
+/S
+/S
+/A
+/O
+/K
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+
+
+
+
+
+/K
+/K
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/J
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/J
+/A
+/K
+/K
+/K
+/E
+/K
+/K
+/K
+/A
+/K
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+
+/A
+/N
+/C
+/C
+/C
+/K
+
+
+/N
+/K
+/A
+/N
+/C
+/K
+/K
+/S
+/O
+/A
+/C
+/M
+/O
+/K
+/B
+/D
+/C
+/A
+/C
+/K
+/K
+/N
+/M
+/K
+/M
+/C
+/K
+/D
+/K
+/A
+/A
+/O
+/D
+/K
+/L
+/M
+/A
+
+
+
+/K
+/S
+/O
+/C
+/K
+/C
+/K
+/K
+/C
+/A
+/K
+/K
+/K
+/C
+/S
+/O
+
+
+/K
+
+
+
+/K
+/K
+/K
+/A
+/C
+/K
+/C
+/A
+/A
+
+/K
+/S
+/O
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/S
+/O
+/N
+/D
+/A
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/S
+/O
+/S
+/O
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+/K
+/L
+/S
+/O
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/B
+/K
+/B
+
+
+
+/K
+/L
+/C
+/M
+/A
+/J
+/A
+
+/K
+/K
+/O
+
+
+
+/C
+/K
+/S
+/O
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+/A
+/A
+/S
+/O
+/K
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/I
+/A
+/D
+/K
+/M
+/K
+
+/M
+/K
+/K
+/C
+/D
+/O
+/C
+/D
+/C
+/K
+/O
+/K
+/B
+/L
+/M
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/D
+/M
+/C
+/K
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/K
+/D
+/A
+/K
+/O
+/E
+/K
+/L
+/A
+/J
+/M
+/A
+/B
+/K
+/K
+/K
+/K
+/B
+/O
+/K
+/B
+/D
+/C
+/A
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/K
+/K
+/A
+
+
+/D
+/A
+
+/C
+/J
+/A
+/K
+/S
+/O
+/L
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+/A
+
+/C
+/D
+/K
+/K
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/O
+
+/K
+/K
+
+/O
+/K
+
+/K
+
+
+/O
+/L
+/B
+/K
+/B
+/K
+/C
+/A
+/J
+/C
+/J
+/J
+/D
+/A
+/B
+/K
+/O
+/K
+/L
+/S
+/O
+/A
+/O
+
+/J
+
+/A
+/A
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/A
+/A
+/K
+/M
+/K
+/A
+/A
+/M
+/A
+/L
+/A
+/A
+/A
+/L
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+/A
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+/K
+/E
+/M
+/K
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/J
+/K
+/C
+/K
+/K
+/O
+/E
+/K
+/A
+/K
+/C
+/M
+/K
+/K
+/K
+/O
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+/K
+/L
+
+
+
+
+
+/K
+/A
+/L
+
+/K
+/K
+/K
+/L
+/M
+/A
+/A
+/K
+/A
+/K
+/C
+/L
+/K
+/L
+/L
+/K
+/K
+/K
+/C
+/K
+/A
+/A
+/A
+/L
+/K
+/A
+/O
+/L
+/K
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/K
+/K
+/K
+/K
+/O
+/K
+/L
+/K
+/K
+/J
+
+
+
+
+
+
+/L
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+/A
+/AB
+/S
+/O
+/S
+/O
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/L
+/A
+/B
+/L
+/K
+/K
+/C
+
+/K
+/L
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/B
+/L
+/K
+/A
+/K
+/K
+/O
+/K
+/C
+/K
+/O
+
+
+
+
+/K
+
+
+/O
+
+
+
+
+
+
+/L
+
+
+/L
+/A
+/B
+/K
+/A
+
+/O
+/A
+/K
+/K
+/K
+/K
+
+/K
+/K
+/L
+
+
+
+
+
+/K
+/K
+/K
+
+
+
+
+
+
+/L
+/K
+/A
+/K
+/K
+/K
+/O
+
+
+/K
+/L
+/K
+/A
+/K
+
+/K
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+/L
+/A
+/A
+/A
+/A
+/L
+/K
+/L
+/K
+
+
+
+/K
+/K
+
+/K
+/K
+/A
+
+/K
+/K
+/A
+/A
+/K
+/K
+/O
+/K
+/S
+/O
+/E
+/L
+/A
+/B
+/L
+/O
+/K
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/E
+/K
+/N
+/J
+/L
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/K
+/K
+/A
+/L
+/O
+/K
+
+
+/C
+/E
+
+
+
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+/K
+/K
+/O
+/D
+/C
+/A
+/D
+/C
+
+/C
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+
+
+/AD
+/S
+/O
+/A
+/D
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/S
+/C
+/K
+/M
+
+
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/H
+/K
+
+
+
+
+
+/L
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/C
+/K
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+
+
+
+
+
+
+
+
+
+/L
+
+/K
+/C
+/K
+/K
+/K
+/K
+/B
+/K
+/L
+/B
+/K
+/O
+/K
+
+
+/A
+/A
+/O
+/M
+/K
+/K
+/K
+/E
+/K
+/K
+/O
+/K
+/K
+/L
+/M
+/D
+/J
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/C
+/M
+/K
+/O
+/O
+/A
+/O
+
+
+/D
+/A
+/M
+/K
+/K
+/B
+/K
+/L
+/S
+/O
+/C
+/M
+/O
+
+
+
+
+
+
+/L
+/A
+/L
+/L
+/L
+/L
+/K
+/O
+/L
+/K
+/L
+/M
+/L
+/D
+/L
+/L
+/J
+/K
+/L
+/I
+/B
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/M
+/K
+/K
+/O
+/D
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/A
+
+
+
+
+/O
+/J
+/K
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/M
+/A
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+/A
+/K
+/K
+/L
+
+
+
+
+/K
+/K
+/L
+
+/L
+/K
+/B
+
+/K
+/B
+/C
+/S
+/O
+/C
+/S
+/O
+/A
+/B
+/K
+/B
+/L
+/S
+/O
+/C
+/A
+/K
+/K
+
+
+
+
+/A
+/B
+
+
+/K
+/L
+
+
+
+
+
+/K
+/O
+
+
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/B
+
+/M
+/K
+/B
+/L
+/M
+/K
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/K
+/K
+/L
+
+
+/K
+/K
+/K
+/L
+/K
+/K
+
+
+
+
+/K
+/L
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/K
+/K
+/L
+/S
+/C
+/O
+/J
+/C
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/C
+/L
+/J
+/D
+
+
+
+
+
+
+
+/K
+/A
+/K
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+/K
+
+/K
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/K
+/C
+/S
+/O
+/J
+/K
+/S
+/O
+/E
+
+
+/C
+/K
+/S
+/O
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+/K
+/L
+/M
+/D
+/C
+/J
+/C
+/K
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+/K
+/F
+/C
+/K
+/K
+/C
+/O
+/N
+/D
+/A
+/B
+/C
+/K
+/S
+/O
+/C
+/K
+/K
+/D
+/K
+/A
+/D
+/K
+/E
+/K
+/K
+/K
+/L
+/K
+/C
+/A
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/S
+/O
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+/K
+/C
+/M
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/D
+
+
+/J
+/K
+/N
+/C
+/K
+/C
+/A
+/K
+/D
+/D
+/K
+/F
+/K
+/K
+/K
+/A
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/K
+/C
+/M
+/K
+/K
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/K
+/C
+/K
+/K
+/L
+/K
+/K
+/D
+/K
+/K
+/K
+/K
+/K
+/K
+/L
+/M
+/K
+/M
+/K
+/L
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/N
+/C
+/D
+/C
+/K
+/K
+/M
+
+/K
+
+
+
+
+
+/D
+/C
+/A
+/J
+/A
+/C
+/K
+/D
+/D
+/C
+/K
+/B
+/K
+/A
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/C
+/C
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+/K
+/K
+/L
+
+
+
+
+/K
+
+/K
+/L
+
+
+/K
+/K
+/K
+
+/K
+/L
+
+
+
+
+/K
+
+
+
+
+
+
+
+/L
+/K
+/K
+/O
+/A
+/K
+/K
+/K
+/K
+/C
+/K
+/O
+/K
+/O
+/K
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+/K
+
+
+/L
+
+
+/K
+/S
+/O
+/S
+/O
+/I
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/C
+/K
+/K
+/G
+/K
+/K
+/L
+/K
+/K
+
+
+
+
+
+
+
+/L
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+/K
+/K
+/K
+
+/K
+
+
+/K
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/K
+
+/J
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+/L
+
+
+/J
+/K
+/C
+/O
+/S
+/O
+/D
+/A
+/K
+/A
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/O
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/L
+/A
+/K
+/A
+/A
+/L
+/A
+/K
+/K
+/A
+/A
+/A
+/A
+/A
+/A
+/K
+/K
+/K
+/L
+/K
+
+
+
+/A
+/C
+/S
+/A
+/O
+/O
+/N
+
+
+
+
+/D
+/K
+/K
+/J
+/M
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/B
+
+
+
+
+
+
+
+
+
+
+/C
+/O
+/J
+
+
+/C
+/S
+/O
+/L
+/D
+/J
+/J
+/K
+/M
+/M
+/A
+/C
+/K
+/O
+/L
+/K
+/K
+/S
+/O
+/S
+/O
+/L
+/A
+/K
+/C
+/K
+/S
+/A
+/O
+/K
+/K
+/D
+/D
+/D
+/C
+/D
+/C
+/K
+/S
+/A
+/O
+/K
+/O
+/K
+/D
+/C
+/K
+/K
+/L
+/D
+/K
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+/C
+/C
+/K
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+/A
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/C
+/K
+/C
+/D
+/M
+/C
+/K
+/K
+/K
+/D
+/S
+/O
+/A
+/C
+/A
+/A
+/D
+/C
+/C
+/C
+/C
+/K
+/K
+/K
+
+
+/J
+/L
+/S
+/O
+/L
+/K
+/K
+/J
+/C
+/D
+/N
+/S
+/O
+/F
+/K
+/K
+/C
+/D
+/K
+/S
+/O
+/K
+/C
+/K
+/K
+/D
+/C
+/S
+/O
+/K
+/D
+/A
+/C
+/K
+/A
+/D
+/D
+/K
+/C
+/K
+/C
+/M
+/S
+/O
+/K
+/K
+/L
+/K
+/D
+/C
+/D
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/K
+/K
+/C
+/D
+/A
+/D
+/K
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+/C
+/O
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+/D
+/K
+/O
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+/K
+/C
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/C
+/A
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/H
+/K
+/C
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+/K
+/K
+
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/K
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/D
+/K
+/A
+/S
+/A
+/O
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+/S
+/O
+/K
+/F
+/D
+/C
+/K
+/S
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/A
+/L
+/K
+/CD
+/K
+/B
+/K
+/K
+/K
+/K
+
+/B
+/L
+/K
+/C
+/A
+/B
+
+
+
+
+
+/C
+/S
+/A
+/O
+/L
+/C
+/K
+/K
+
+
+
+/C
+/D
+/A
+
+
+
+
+
+
+/K
+/L
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+/N
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+/A
+/D
+/D
+/K
+/K
+/L
+/D
+
+
+
+/D
+
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/C
+/A
+/C
+/D
+/A
+/K
+/C
+/K
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/A
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+
+
+/D
+/C
+/C
+/A
+/O
+/K
+/S
+/O
+/K
+/K
+/O
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+/A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/C
+/K
+/A
+/A
+
+
+
+
+
+
+
+
+
+
+/A
+/A
+/A
+/B
+/K
+/C
+/K
+/N
+/K
+/D
+/N
+/K
+/O
+/J
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/L
+/O
+/E
+/K
+/C
+/I
+/I
+/K
+/I
+/K
+/K
+/M
+/K
+/L
+/M
+/K
+/K
+/L
+/K
+/L
+/K
+/K
+/L
+/K
+/M
+/K
+/M
+/O
+/K
+/D
+/K
+/K
+/C
+
+/K
+/K
+/O
+/J
+/K
+
+
+/K
+
+
+
+
+
+
+
+
+
+/J
+/K
+/L
+/K
+/B
+/K
+/K
+/K
+
+/K
+/F
+/K
+/KL
+/K
+/L
+/K
+/S
+/O
+/C
+/M
+/O
+/J
+/K
+/K
+/K
+/K
+/F
+/K
+/F
+/K
+/S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+
+/K
+/A
+/K
+/K
+
+/M
+/C
+/K
+/E
+/A
+/K
+/K
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+/K
+/C
+/A
+
+/S
+/O
+
+
+
+
+
+
+
+
+/K
+/E
+/A
+/K
+/C
+/D
+
+/S
+/O
+
+
+
+
+/K
+
+
+/O
+
+
+
+
+
+
+/I
+
+
+/K
+/K
+/A
+/A
+/B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/A
+
+
+
+
+
+
+
+
+/S
+/O
+
+
+
+
+/A
+/L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/D
+/K
+/M
+/A
+/K
+/B
+
+
+
+
+
+
+
+
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+/N
+/K
+/C
+/K
+
+/M
+/K
+/K
+/K
+/K
+/C
+/A
+/E
+/K
+/K
+/AK
+/A
+/O
+/AD
+/K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/J
+/M
+/K
+/L
+/K
+/L
+/K
+/B
+/K
+
+
+
+
+
+
+
+
+/A
+/K
+/B
+
+
+/K
+/M
+/K
+/C
+/L
+/O
+/J
+
+
+/K
+/L
+/K
+/K
+/D
+/J
+/K
+/K
+/K
+/C
+/K
+/K
+/A
+/A
+
+
+
+
+
+
+
+
+
+/B
+/A
+/K
+/K
+/K
+/S
+/O
+/B
+/K
+/L
+/K
+/A
+/K
+/C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/L
+/K
+/L
+/A
+/A
+
+
+
+
+
+
+
+
+
+/K
+
+
+
+
+
+
+
+
+
+
+/L
+/C
+/A
+/C
+
+
+
+
+
+
+/L
+/K
+/S
+/O
+/S
+/O
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/K
+/K
+/D
+/C
+/O
+/K
diff --git a/l10n-bg/mobile/android/chrome/browser.properties b/l10n-bg/mobile/android/chrome/browser.properties
new file mode 100644
index 0000000000..7848f61f94
--- /dev/null
+++ b/l10n-bg/mobile/android/chrome/browser.properties
@@ -0,0 +1,44 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Popup Blocker
+
+# In Extension.jsm
+
+
+# LOCALIZATION NOTE (password.logins): Label that will be used in
+ # Web Console API
+stacktrace.anonymousFunction=<анонимна>
+stacktrace.outputMessage=Следа на стека в %S, функция %S, ред %S.
+timer.start=%S: хронометър пуснат
+
+# LOCALIZATION NOTE (timer.end):
+# This string is used to display the result of the console.timeEnd() call.
+# %1$S=name of timer, %2$S=number of milliseconds
+timer.end=%1$S: %2$S мс
+
+# Site settings dialog
+
+# In ContextualIdentityService.jsm
+
+# LOCALIZATION NOTE (userContextPersonal.label,
+# userContextWork.label,
+# userContextShopping.label,
+# userContextBanking.label,
+# userContextNone.label):
+# These strings specify the four predefined contexts included in support of the
+# Contextual Identity / Containers project. Each context is meant to represent
+# the context that the user is in when interacting with the site. Different
+# contexts will store cookies and other information from those sites in
+# different, isolated locations. You can enable the feature by typing
+# about:config in the URL bar and changing privacy.userContext.enabled to true.
+# Once enabled, you can open a new tab in a specific context by clicking
+# File > New Container Tab > (1 of 4 contexts). Once opened, you will see these
+# strings on the right-hand side of the URL bar.
+# In android this will be only exposed by web extensions
+userContextPersonal.label = Личен
+userContextWork.label = Служебен
+userContextBanking.label = Банкиране
+userContextShopping.label = Пазаруване
+
diff --git a/l10n-bg/mobile/android/chrome/passwordmgr.properties b/l10n-bg/mobile/android/chrome/passwordmgr.properties
new file mode 100644
index 0000000000..903cc492be
--- /dev/null
+++ b/l10n-bg/mobile/android/chrome/passwordmgr.properties
@@ -0,0 +1,20 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# String will be replaced by brandShortName.
+saveLogin=Бихте ли желали %S да запомни тази регистрация?
+rememberButton=Запазване
+neverButton=Никога
+
+# String is the login's hostname
+updatePassword=Обновяване на запазената парола за %S?
+updatePasswordNoUser=Обновяване на запазената парола за тази регистрация?
+updateButton=Обновяване
+dontUpdateButton=Отказ
+
+userSelectText2=Изберете коя регистрация да бъде обновена:
+passwordChangeTitle=Потвърждение на смяна на парола
+
+username=Потребителско име
+password=Парола
diff --git a/l10n-bg/mobile/android/mobile/android/aboutConfig.ftl b/l10n-bg/mobile/android/mobile/android/aboutConfig.ftl
new file mode 100644
index 0000000000..de6db7c484
--- /dev/null
+++ b/l10n-bg/mobile/android/mobile/android/aboutConfig.ftl
@@ -0,0 +1,28 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+config-toolbar-search =
+ .placeholder = Търсене
+config-new-pref-name =
+ .placeholder = Име
+
+config-new-pref-value-boolean = Булева
+config-new-pref-value-string = Низ
+config-new-pref-value-integer = Целочислен
+
+config-new-pref-string =
+ .placeholder = Въведете низ
+config-new-pref-number =
+ .placeholder = Въведете число
+config-new-pref-cancel-button = Отказ
+config-new-pref-create-button = Създаване
+config-new-pref-change-button = Промяна
+
+config-pref-toggle-button = Превключване
+config-pref-reset-button = Нулиране
+
+config-context-menu-copy-pref-name =
+ .label = Копиране на името
+config-context-menu-copy-pref-value =
+ .label = Копиране на стойността
diff --git a/l10n-bg/mobile/android/mobile/android/geckoViewConsole.ftl b/l10n-bg/mobile/android/mobile/android/geckoViewConsole.ftl
new file mode 100644
index 0000000000..44316273b8
--- /dev/null
+++ b/l10n-bg/mobile/android/mobile/android/geckoViewConsole.ftl
@@ -0,0 +1,22 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Web Console API (in GeckoViewConsole.sys.mjs)
+
+console-stacktrace-anonymous-function = <анонимна>
+# Variables:
+# $filename (String): Source file name
+# $functionName (String): JavaScript function name
+# $lineNumber (String): The line number of the stacktrace call
+console-stacktrace = Следа на стека в { $filename }, функция { $functionName }, ред { $lineNumber }.
+# Variables:
+# $name (String): user-defined name for the timer
+console-timer-start = { $name }: хронометър пуснат
+# This string is used to display the result of the console.timeEnd() call.
+#
+# Variables:
+# $name (String): user-defined name for the timer
+# $duration (String): number of milliseconds
+console-timer-end = { $name }: { $duration } мс
diff --git a/l10n-bg/mobile/chrome/region.properties b/l10n-bg/mobile/chrome/region.properties
new file mode 100644
index 0000000000..8848ea3f81
--- /dev/null
+++ b/l10n-bg/mobile/chrome/region.properties
@@ -0,0 +1,27 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE: REVIEW_REQUIRED
+# Please do not commit any changes to this file without a review from the
+# l10n-drivers team (this includes en-US). In order to get one, please file
+# a bug, add the "productization" keyword and CC l10n@mozilla.com.
+
+# Increment this number when anything gets changed in the list below. This will
+# cause Firefox to re-read these prefs and inject any new handlers into the
+# profile database. Note that "new" is defined as "has a different URL"; this
+# means that it's not possible to update the name of existing handler, so don't
+# make any spelling errors here.
+gecko.handlerService.defaultHandlersVersion=1
+
+# The default set of protocol handlers for mailto:
+gecko.handlerService.schemes.mailto.0.name=Yahoo! Mail
+gecko.handlerService.schemes.mailto.0.uriTemplate=https://compose.mail.yahoo.com/?To=%s
+gecko.handlerService.schemes.mailto.1.name=Gmail
+gecko.handlerService.schemes.mailto.1.uriTemplate=https://mail.google.com/mail/?extsrc=mailto&url=%s
+
+# This is the default set of web based feed handlers shown in the reader
+# selection UI
+browser.contentHandlers.types.0.title=My Yahoo!
+browser.contentHandlers.types.0.uri=https://add.my.yahoo.com/rss?url=%s
+
diff --git a/l10n-bg/netwerk/necko.properties b/l10n-bg/netwerk/necko.properties
new file mode 100644
index 0000000000..430bbb107f
--- /dev/null
+++ b/l10n-bg/netwerk/necko.properties
@@ -0,0 +1,74 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#ResolvingHost=Looking up
+#ConnectedTo=Connected to
+#ConnectingTo=Connecting to
+#SendingRequestTo=Sending request to
+#TransferringDataFrom=Transferring data from
+
+3=Търсене на %1$S…
+4=Свързване с %1$S…
+5=Заявка до %1$S…
+6=Прехвърляне на данни от %1$S…
+7=Свързване с %1$S…
+8=Прочетен е %1$S\u0020
+9=Записан е %1$S
+10=Изчакване на %1$S…
+11=Търсене на %1$S…
+12=Здрависване по TLS с %1$S…
+13=Здрависването по TLS с %1$S завършено…
+
+RepostFormData=Тази страница е пренасочена към ново място. Бихте ли желали данните от попълнения формуляр да бъдат изпратени натам?
+
+# Directory listing strings
+DirTitle=Индекс на %1$S
+DirGoUp=По-горна папка
+ShowHidden=Показване на скритите обекти
+DirColName=Име
+DirColSize=Размер
+DirColMTime=Последна промяна
+DirFileLabel=Файл:
+
+SuperfluousAuth=На път сте да се впишете в „%1$S“ с потребителско име „%2$S“, но там не се изисква удостоверяване. Това може да е опит за измама.\n\n„%1$S“ ли е страницата, която желаете да посетите?
+AutomaticAuth=На път сте да се впишете в „%1$S“ с потребителско име „%2$S“.
+
+TrackerUriBlocked=Ресурсът с адрес „%1$S“ е спрян, защото е включено ограничаването на съдържание.
+UnsafeUriBlocked=Ресурсът с адрес „%1$S“ беше блокиран от поверителното разглеждане.
+
+# As part of dynamic state partitioning, third-party resources might be limited to "partitioned" storage access that is separate from the first-party context.
+# This allows e.g. cookies to still be set, and prevents tracking without totally blocking storage access. This message is shown in the web console when this happens
+# to inform developers that their storage is isolated.
+
+# LOCALIZATION NOTE (CookieAllowedForOriginByStorageAccessAPI): %2$S and %1$S are URLs.
+# LOCALIZATION NOTE (CookieAllowedForOriginByHeuristic): %2$S and %1$S are URLs.
+# LOCALIZATION NOTE (CookieAllowedForFpiByHeuristic): %2$S and %1$S are URLs.
+
+# LOCALIZATION NOTE(CookieRejectedNonRequiresSecure): %1$S is the cookie name. Do not localize "sameSite=none" and "secure".
+# LOCALIZATION NOTE(CookieRejectedNonRequiresSecureForBeta): %1$S is the cookie name. %2$S is a URL. Do not localize "sameSite", "sameSite=none" and "secure".
+# LOCALIZATION NOTE(CookieLaxForced): %1$S is the cookie name. Do not localize "sameSite", "lax" and "sameSite=lax".
+# LOCALIZATION NOTE(CookieLaxForcedForBeta): %1$S is the cookie name. %2$S is a URL. Do not localize "sameSite", "lax" and "sameSite=lax", "sameSite=none".
+# LOCALIZATION NOTE: %1$S is cookie name. Do not localize "sameSite", "lax", "strict" and "none"
+
+# LOCALIZATION NOTE(CookieRejectedNonRequiresSecure2): %1$S is the cookie name. Do not localize "SameSite=None" and "secure".
+# LOCALIZATION NOTE(CookieRejectedNonRequiresSecureForBeta2): %1$S is the cookie name. %2$S is a URL. Do not localize "SameSite", "SameSite=None" and "secure".
+# LOCALIZATION NOTE(CookieLaxForced2): %1$S is the cookie name. Do not localize "SameSite", "Lax" and "SameSite=Lax".
+# LOCALIZATION NOTE(CookieLaxForcedForBeta2): %1$S is the cookie name. %2$S is a URL. Do not localize "SameSite", "Lax" and "SameSite=Lax", "SameSite=None".
+# LOCALIZATION NOTE(CookieSameSiteValueInvalid2): %1$S is cookie name. Do not localize "SameSite", "Lax", "Strict" and "None"
+# LOCALIZATION NOTE (CookieOversize): %1$S is the cookie name. %2$S is the number of bytes. "B" means bytes.
+# LOCALIZATION NOTE (CookiePathOversize): %1$S is the cookie name. %2$S is the number of bytes. "B" means bytes.
+# LOCALIZATION NOTE (CookieSchemefulRejectForBeta): %1$S is the cookie name. %2$S is the hostname.
+# LOCALIZATION NOTE (CookieSchemefulReject): %1$S is the cookie name. %2$S is the hostname.
+# LOCALIZATION NOTE (CookieRejectedByPermissionManager): %1$S is the cookie response header.
+# LOCALIZATION NOTE (CookieRejectedInvalidCharName): %1$S is the cookie name.
+# LOCALIZATION NOTE (CookieRejectedInvalidDomain): %1$S is the cookie name.
+# LOCALIZATION NOTE (CookieRejectedInvalidPrefix): %1$S is the cookie name.
+# LOCALIZATION NOTE (CookieRejectedInvalidCharValue): %1$S is the cookie name.
+# LOCALIZATION NOTE (CookieRejectedHttpOnlyButFromScript): %1$S is the cookie name.
+# LOCALIZATION NOTE (CookieRejectedSecureButHttp): %1$S is the cookie name.
+# LOCALIZATION NOTE (CookieRejectedThirdParty): %1$S is the cookie response header.
+# LOCALIZATION NOTE (CookieRejectedNonsecureOverSecure): %1$S is the cookie name.
+# LOCALIZATION NOTE (CookieRejectedExpired): %1$S is the cookie name.
+# LOCALIZATION NOTE (CookieRejectedForNonSameSiteness): %1$S is the cookie name.
+
diff --git a/l10n-bg/security/manager/chrome/pipnss/nsserrors.properties b/l10n-bg/security/manager/chrome/pipnss/nsserrors.properties
new file mode 100644
index 0000000000..2bcaba643c
--- /dev/null
+++ b/l10n-bg/security/manager/chrome/pipnss/nsserrors.properties
@@ -0,0 +1,331 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+SSL_ERROR_EXPORT_ONLY_SERVER=Не може да се осъществи сигурна комуникация. Партньорът не поддържа висококачествено шифроване.
+SSL_ERROR_US_ONLY_SERVER=Не може да се осъществи сигурна комуникация. Партньорът изисква неподдържано висококачествено шифроване.
+SSL_ERROR_NO_CYPHER_OVERLAP=Не може да се осъществи сигурна комуникация. Няма общи алгоритми за шифроване.
+SSL_ERROR_NO_CERTIFICATE=Не може да се намери сертификата или ключа, необходим за удостоверяване.
+SSL_ERROR_BAD_CERTIFICATE=Не може да се осъществи сигурна комуникация. Сертификатът на партньора е отхвърлен.
+SSL_ERROR_BAD_CLIENT=Сървърът получи лоши данни от клиента.
+SSL_ERROR_BAD_SERVER=Клиентът получи лоши данни от сървъра.
+SSL_ERROR_UNSUPPORTED_CERTIFICATE_TYPE=Неподдържан вид на сертификат.
+SSL_ERROR_UNSUPPORTED_VERSION=Партньорът използва неподдържана версия на протокол за сигурност.
+SSL_ERROR_WRONG_CERTIFICATE=Провалено клиентско удостоверяване: частният ключ в базата данни с ключове не съвпада с публичния ключ в базата данни със сертификати.
+SSL_ERROR_BAD_CERT_DOMAIN=Не може да се осъществи сигурна комуникация с партньора: поисканото име на домейн не съвпада със сертификата на сървъра.
+SSL_ERROR_POST_WARNING=Неразпознат код на грешка на SSL.
+SSL_ERROR_SSL2_DISABLED=Партньорът поддържа само версия 2 на SSL, която е блокирана локално.
+SSL_ERROR_BAD_MAC_READ=SSL получи запис с неправилен код за удостоверяване на съобщение (MAC).
+SSL_ERROR_BAD_MAC_ALERT=SSL докладва неправилен код за удостоверяване на съобщение (MAC).
+SSL_ERROR_BAD_CERT_ALERT=Партньорът на SSL не може да провери вашия сертификат.
+SSL_ERROR_REVOKED_CERT_ALERT=Партньорът на SSL отхвърли вашия сертификат като анулиран.
+SSL_ERROR_EXPIRED_CERT_ALERT=Партньорът на SSL отхвърли вашия сертификат като с изтекъл срок.
+SSL_ERROR_SSL_DISABLED=Не може да се осъществи връзка: SSL е деактивиран.
+SSL_ERROR_FORTEZZA_PQG=Не може да се осъществи връзка: партньорът на SSL е в друг домейн FORTEZZA.
+SSL_ERROR_UNKNOWN_CIPHER_SUITE=Поискан бе неизвестен комплект за шифроване на SSL.
+SSL_ERROR_NO_CIPHERS_SUPPORTED=Няма активирани комплекти за шифроване в тази програма.
+SSL_ERROR_BAD_BLOCK_PADDING=SSL получи запис с лошо допълване на блок.
+SSL_ERROR_RX_RECORD_TOO_LONG=SSL получи запис, надвишаващ максималната разрешена големина.
+SSL_ERROR_TX_RECORD_TOO_LONG=SSL се опита да изпрати запис, надвишаващ максималната разрешена големина.
+SSL_ERROR_RX_MALFORMED_HELLO_REQUEST=SSL получи лошо конструирано съобщение за ръкостискане Hello Request.
+SSL_ERROR_RX_MALFORMED_CLIENT_HELLO=SSL получи лошо конструирано съобщение за ръкостискане Client Hello.
+SSL_ERROR_RX_MALFORMED_SERVER_HELLO=SSL получи лошо конструирано съобщение за ръкостискане Server Hello.
+SSL_ERROR_RX_MALFORMED_CERTIFICATE=SSL получи лошо конструирано съобщение за ръкостискане Certificate.
+SSL_ERROR_RX_MALFORMED_SERVER_KEY_EXCH=SSL получи лошо конструирано съобщение за ръкостискане Server Key Exchange.
+SSL_ERROR_RX_MALFORMED_CERT_REQUEST=SSL получи лошо конструирано съобщение за ръкостискане Certificate Request.
+SSL_ERROR_RX_MALFORMED_HELLO_DONE=SSL получи лошо конструирано съобщение за ръкостискане Server Hello Done.
+SSL_ERROR_RX_MALFORMED_CERT_VERIFY=SSL получи лошо конструирано съобщение за ръкостискане Certificate Verify.
+SSL_ERROR_RX_MALFORMED_CLIENT_KEY_EXCH=SSL получи лошо конструирано съобщение за ръкостискане Client Key Exchange.
+SSL_ERROR_RX_MALFORMED_FINISHED=SSL получи лошо конструирано съобщение за ръкостискане Finished.
+SSL_ERROR_RX_MALFORMED_CHANGE_CIPHER=SSL получи лошо конструиран запис Change Cipher Spec.
+SSL_ERROR_RX_MALFORMED_ALERT=SSL получи лошо конструиран запис Alert.
+SSL_ERROR_RX_MALFORMED_HANDSHAKE=SSL получи лошо конструиран запис Handshake.
+SSL_ERROR_RX_MALFORMED_APPLICATION_DATA=SSL получи лошо конструиран запис Application Data.
+SSL_ERROR_RX_UNEXPECTED_HELLO_REQUEST=SSL получи неочаквано съобщение за ръкостискане Hello Request.
+SSL_ERROR_RX_UNEXPECTED_CLIENT_HELLO=SSL получи неочаквано съобщение за ръкостискане Client Hello.
+SSL_ERROR_RX_UNEXPECTED_SERVER_HELLO=SSL получи неочаквано съобщение за ръкостискане Server Hello.
+SSL_ERROR_RX_UNEXPECTED_CERTIFICATE=SSL получи неочаквано съобщение за ръкостискане Certificate.
+SSL_ERROR_RX_UNEXPECTED_SERVER_KEY_EXCH=SSL получи неочаквано съобщение за ръкостискане Server Key Exchange.
+SSL_ERROR_RX_UNEXPECTED_CERT_REQUEST=SSL получи неочаквано съобщение за ръкостискане Certificate Request.
+SSL_ERROR_RX_UNEXPECTED_HELLO_DONE=SSL получи неочаквано съобщение за ръкостискане Server Hello Done.
+SSL_ERROR_RX_UNEXPECTED_CERT_VERIFY=SSL получи неочаквано съобщение за ръкостискане Certificate Verify.
+SSL_ERROR_RX_UNEXPECTED_CLIENT_KEY_EXCH=SSL получи неочаквано съобщение за ръкостискане Client Key Exchange.
+SSL_ERROR_RX_UNEXPECTED_FINISHED=SSL получи неочаквано съобщение за ръкостискане Finished.
+SSL_ERROR_RX_UNEXPECTED_CHANGE_CIPHER=SSL получи неочаквано съобщение за ръкостискане Change Cipher Spec.
+SSL_ERROR_RX_UNEXPECTED_ALERT=SSL получи неочакван запис Alert.
+SSL_ERROR_RX_UNEXPECTED_HANDSHAKE=SSL получи неочакван запис Handshake.
+SSL_ERROR_RX_UNEXPECTED_APPLICATION_DATA=SSL получи неочакван запис Application Data.
+SSL_ERROR_RX_UNKNOWN_RECORD_TYPE=SSL получи запис с неизвестен вид съдържание.
+SSL_ERROR_RX_UNKNOWN_HANDSHAKE=SSL получи неочаквано съобщение за ръкостискане от неизвестен вид.
+SSL_ERROR_RX_UNKNOWN_ALERT=SSL получи предупреждаващ запис с неизвестно описание на предупреждението.
+SSL_ERROR_CLOSE_NOTIFY_ALERT=Партньорът на SSL затвори връзката.
+SSL_ERROR_HANDSHAKE_UNEXPECTED_ALERT=Партньорът на SSL не очакваше полученото от него съобщение за ръкостискане.
+SSL_ERROR_DECOMPRESSION_FAILURE_ALERT=Партньорът на SSL не можа успешно да декомпресира получения от него запис на SSL.
+SSL_ERROR_HANDSHAKE_FAILURE_ALERT=Партньорът на SSL не може да съгласува приемлив набор от параметри на сигурността.
+SSL_ERROR_ILLEGAL_PARAMETER_ALERT=Партньорът на SSL отхвърли съобщението за ръкостискане поради неприемливо съдържание.
+SSL_ERROR_UNSUPPORTED_CERT_ALERT=Партньорът на SSL не поддържа вида сертификати, които получи.
+SSL_ERROR_CERTIFICATE_UNKNOWN_ALERT=Партньорът на SSL има неуточнен проблем с получените от него сертификати.
+SSL_ERROR_GENERATE_RANDOM_FAILURE=SSL се натъкна на проблем в генерирането на случайни числа.
+SSL_ERROR_SIGN_HASHES_FAILURE=Данни, необходими за проверка на вашия сертификат, не можаха да бъдат цифрово подписани.
+SSL_ERROR_EXTRACT_PUBLIC_KEY_FAILURE=SSL не можа да извлече публичния ключ от сертификата на партньора.
+SSL_ERROR_SERVER_KEY_EXCHANGE_FAILURE=Неуточнена грешка при обработката на ръкостискането на SSL Server Key Exchange.
+SSL_ERROR_CLIENT_KEY_EXCHANGE_FAILURE=Неуточнена грешка при обработката на ръкостискането на SSL Client Key Exchange.
+SSL_ERROR_ENCRYPTION_FAILURE=Шифроващият алгоритъм за масови данни се провали в избрания комплект за шифроване.
+SSL_ERROR_DECRYPTION_FAILURE=Дешифроващият алгоритъм за масови данни се провали в избрания комплект за шифроване.
+SSL_ERROR_SOCKET_WRITE_FAILURE=Грешка при опит за запис на шифровани данни в използвания сокет.
+SSL_ERROR_MD5_DIGEST_FAILURE=Грешка при хеширане с MD5.
+SSL_ERROR_SHA_DIGEST_FAILURE=Грешка при хеширане с SHA-1.
+SSL_ERROR_MAC_COMPUTATION_FAILURE=Грешка при изчисляване на MAC.
+SSL_ERROR_SYM_KEY_CONTEXT_FAILURE=Грешка при създаване на контекст за симетричен ключ.
+SSL_ERROR_SYM_KEY_UNWRAP_FAILURE=Грешка при разопаковане на симетричен ключ в съобщение Client Key Exchange.
+SSL_ERROR_PUB_KEY_SIZE_LIMIT_EXCEEDED=SSL на сървъра се опита да използва публичен ключ с по-високо ниво на сигурност отколкото позволява комплекта за шифроване, разрешен за експорт от САЩ.
+SSL_ERROR_IV_PARAM_FAILURE=Кодът на PKCS11 не можа да направи параметър от IV.
+SSL_ERROR_INIT_CIPHER_SUITE_FAILURE=Грешка при инициализиране на избрания комплект за шифроване.
+SSL_ERROR_SESSION_KEY_GEN_FAILURE=Клиентът не можа да генерира сесийни ключове за сесията на SSL.
+SSL_ERROR_NO_SERVER_KEY_FOR_ALG=Сървърът няма предложен ключ за опитания алгоритъм за обмяна на ключове.
+SSL_ERROR_TOKEN_INSERTION_REMOVAL=Токен на PKCS#11 беше вмъкнат или премахнат, докато операцията все още беше в ход.
+SSL_ERROR_TOKEN_SLOT_NOT_FOUND=Не можа да се намери токен на PKCS#11, който да извърши изисквана операция.
+SSL_ERROR_NO_COMPRESSION_OVERLAP=Не може да се осъществи сигурна комуникация. Няма общи алгоритми за компресиране.
+SSL_ERROR_HANDSHAKE_NOT_COMPLETED=Не може да се инициира друго ръкостискане на SSL, докато текущото ръкостискане все още е в ход.
+SSL_ERROR_BAD_HANDSHAKE_HASH_VALUE=От партньора са получени неправилни хеш стойности на ръкостискането.
+SSL_ERROR_CERT_KEA_MISMATCH=Даденият сертификат не може да се използва с избрания алгоритъм за обмяна на ключове.
+SSL_ERROR_NO_TRUSTED_SSL_CLIENT_CA=Няма удостоверител на сертификати, на който да се доверяваме за клиентското удостоверяване по SSL.
+SSL_ERROR_SESSION_NOT_FOUND=Клиентският сесиен идентификатор на SSL не е намерен в склада за сесии на сървъра.
+SSL_ERROR_DECRYPTION_FAILED_ALERT=Партньорът не можа да дешифрира полученият от него запис на SSL.
+SSL_ERROR_RECORD_OVERFLOW_ALERT=Партньорът получи запис на SSL, който е по-дълъг от позволеното.
+SSL_ERROR_UNKNOWN_CA_ALERT=Партньорът не признава и не се доверява на CA-то, който е издал вашия сертификат.
+SSL_ERROR_ACCESS_DENIED_ALERT=Партньорът получи валиден сертификат, но достъпът беше отказан.
+SSL_ERROR_DECODE_ERROR_ALERT=Партньорът не можа да декодира съобщение за ръкостискане на SSL.
+SSL_ERROR_DECRYPT_ERROR_ALERT=Партньорът докладва за грешка в проверка на подпис или в обмяна на ключове.
+SSL_ERROR_EXPORT_RESTRICTION_ALERT=Партньорът докладва несъвместимост на договарянето с регулациите за експорт на САЩ.
+SSL_ERROR_PROTOCOL_VERSION_ALERT=Партньорът докладва несъвместима или неподдържана версия на протокола.
+SSL_ERROR_INSUFFICIENT_SECURITY_ALERT=Сървърът изисква шифри, които са по-сигурни от поддържаните от клиента.
+SSL_ERROR_INTERNAL_ERROR_ALERT=Партньорът докладва за своя вътрешна грешка.
+SSL_ERROR_USER_CANCELED_ALERT=Потребителят на партньора прекъсна ръкостискането.
+SSL_ERROR_NO_RENEGOTIATION_ALERT=Партньорът не позволява предоговаряне на параметрите по сигурността на SSL.
+SSL_ERROR_SERVER_CACHE_NOT_CONFIGURED=Сървърният склад за SSL не е настроен и не е изключен за този сокет.
+SSL_ERROR_UNSUPPORTED_EXTENSION_ALERT=Партньорът на SSL не поддържа изисканото разширение hello на TLS.
+SSL_ERROR_CERTIFICATE_UNOBTAINABLE_ALERT=Партньорът на SSL не можа да получи вашия сертификат от подадения URL.
+SSL_ERROR_UNRECOGNIZED_NAME_ALERT=Партньорът на SSL няма сертификат за исканото име по DNS.
+SSL_ERROR_BAD_CERT_STATUS_RESPONSE_ALERT=Партньорът на SSL не можа да получи отговор от OCSP за неговия сертификат.
+SSL_ERROR_BAD_CERT_HASH_VALUE_ALERT=Партньорът на SSL докладва за грешна стойност на хеш на сертификат.
+SSL_ERROR_RX_UNEXPECTED_NEW_SESSION_TICKET=SSL получи неочаквано съобщение за ръкостискане New Session Ticket.
+SSL_ERROR_RX_MALFORMED_NEW_SESSION_TICKET=SSL получи лошо конструирано съобщение за ръкостискане New Session Ticket.
+SSL_ERROR_DECOMPRESSION_FAILURE=SSL получи компресиран запис, който не можа да се декомпресира.
+SSL_ERROR_RENEGOTIATION_NOT_ALLOWED=Не е позволено предоговаряне в този сокет на SSL.
+SSL_ERROR_UNSAFE_NEGOTIATION=Партньорът опита ръкостискане в стар стил, който е потенциално уязвим.
+SSL_ERROR_RX_UNEXPECTED_UNCOMPRESSED_RECORD=SSL получи неочакван некомпресиран запис.
+SSL_ERROR_WEAK_SERVER_EPHEMERAL_DH_KEY=SSL получи слаб краткотраен ключ Diffie-Hellman в съобщение за ръкостискане Server Key Exchange.
+SSL_ERROR_NEXT_PROTOCOL_DATA_INVALID=SSL получи невалидни данни за разширение NPN.
+SSL_ERROR_FEATURE_NOT_SUPPORTED_FOR_SSL2=SSL възможност неподдържана за връзки с SSL 2.0.
+SSL_ERROR_FEATURE_NOT_SUPPORTED_FOR_SERVERS=SSL възможност неподдържана за сървъри.
+SSL_ERROR_FEATURE_NOT_SUPPORTED_FOR_CLIENTS=SSL възможност неподдържана за клиенти.
+SSL_ERROR_INVALID_VERSION_RANGE=Невалиден диапазон на версии на SSL.
+SSL_ERROR_CIPHER_DISALLOWED_FOR_VERSION=Партньорът на SSL избра комплект за шифроване, който не е позволен за избраната версия на протокола.
+SSL_ERROR_RX_MALFORMED_HELLO_VERIFY_REQUEST=SSL получи лошо конструирано съобщение за ръкостискане Hello Verify Request.
+SSL_ERROR_RX_UNEXPECTED_HELLO_VERIFY_REQUEST=SSL получи неочаквано съобщение за ръкостискане Hello Verify Request.
+SSL_ERROR_FEATURE_NOT_SUPPORTED_FOR_VERSION=SSL възможност неподдържана за тази версия на протокола.
+SSL_ERROR_RX_UNEXPECTED_CERT_STATUS=SSL получи неочаквано съобщение за ръкостискане Certificate Status.
+SSL_ERROR_UNSUPPORTED_HASH_ALGORITHM=Партньорът на TLS използва неподдържан алгоритъм за хеш.
+SSL_ERROR_DIGEST_FAILURE=Грешка при хеширане.
+SSL_ERROR_INCORRECT_SIGNATURE_ALGORITHM=Указана е неправилна сигнатура на алгоритъм в цифрово подписан елемент.
+SSL_ERROR_NEXT_PROTOCOL_NO_CALLBACK=Разширението за договаряне на следващ протокол е включено, но обратното повикване беше прекъснато преди да бъде нужно.
+SSL_ERROR_NEXT_PROTOCOL_NO_PROTOCOL=Сървърът не поддържа протокол, който клиентът обявява в разширение ALPN.
+SSL_ERROR_INAPPROPRIATE_FALLBACK_ALERT=Сървърът отхвърли ръкостискането, защото клиентът понижи версията на TLS до такава, която не се поддържа от сървъра.
+SSL_ERROR_WEAK_SERVER_CERT_KEY=Сертификатът на сървъра има публичен ключ, който е твърде слаб.
+SSL_ERROR_RX_SHORT_DTLS_READ=Няма достатъчно място в буфера за запис на DTLS.
+SSL_ERROR_NO_SUPPORTED_SIGNATURE_ALGORITHM=Настроен е неподдържан алгоритъм за подпис на TLS.
+SSL_ERROR_UNSUPPORTED_SIGNATURE_ALGORITHM=Партньорът използва неподдържана комбинация от подпис и алгоритъм за хеширане.
+SSL_ERROR_MISSING_EXTENDED_MASTER_SECRET=Партньорът се опита да продължи без правилно разширение extended_master_secret.
+SSL_ERROR_UNEXPECTED_EXTENDED_MASTER_SECRET=Партньорът се опита да продължи с неочаквано разширение extended_master_secret.
+SEC_ERROR_IO=Получи се входно-изходна грешка по време на удостоверяване по сигурността.
+SEC_ERROR_LIBRARY_FAILURE=грешка в библиотеката по сигурност.
+SEC_ERROR_BAD_DATA=библиотека по сигурност: получени грешни данни.
+SEC_ERROR_OUTPUT_LEN=библиотека по сигурност: грешка в големината на изхода.
+SEC_ERROR_INPUT_LEN=библиотеката по сигурност получи грешка във големината на входа.
+SEC_ERROR_INVALID_ARGS=библиотека по сигурност: невалидни аргументи.
+SEC_ERROR_INVALID_ALGORITHM=библиотека по сигурност: невалиден алгоритъм.
+SEC_ERROR_INVALID_AVA=библиотека по сигурност: невалиден AVA.
+SEC_ERROR_INVALID_TIME=Неправилно форматиран низ за време.
+SEC_ERROR_BAD_DER=библиотека по сигурност: неправилно форматирано съобщение, кодирано с DER.
+SEC_ERROR_BAD_SIGNATURE=Сертификатът на партньора има невалиден подпис.
+SEC_ERROR_EXPIRED_CERTIFICATE=Сертификатът на партньора е с изтекъл срок на валидност.
+SEC_ERROR_REVOKED_CERTIFICATE=Сертификатът на партньора е анулиран.
+SEC_ERROR_UNKNOWN_ISSUER=Издателят на сертификата на партньора е непознат.
+SEC_ERROR_BAD_KEY=Публичният ключ на партньора е невалиден.
+SEC_ERROR_BAD_PASSWORD=Въведената парола по сигурността е грешна.
+SEC_ERROR_RETRY_PASSWORD=Новата парола е въведена неправилно. Моля, опитайте отново.
+SEC_ERROR_NO_NODELOCK=библиотека по сигурност: няма nodeblock.
+SEC_ERROR_BAD_DATABASE=библиотека по сигурност: лоша база данни.
+SEC_ERROR_NO_MEMORY=библиотека по сигурност: грешка при заделяне на памет.
+SEC_ERROR_UNTRUSTED_ISSUER=Издателят на сертификата на партньора е отбелязан като недоверен от потребителя.
+SEC_ERROR_UNTRUSTED_CERT=Сертификатът на партньора е отбелязан като недоверен от потребителя.
+SEC_ERROR_DUPLICATE_CERT=Сертификатът вече съществува във вашата база данни.
+SEC_ERROR_DUPLICATE_CERT_NAME=Името на изтегления сертификат се дублира със съществуващ сертификат от вашата база от данни.
+SEC_ERROR_ADDING_CERT=Грешка при добавяне на сертификат към база данни.
+SEC_ERROR_FILING_KEY=Грешка при попълване на ключа за този сертификат.
+SEC_ERROR_NO_KEY=Частният ключ за този сертификат не може да бъде намерен в базата от данни от ключове
+SEC_ERROR_CERT_VALID=Сертификатът е валиден.
+SEC_ERROR_CERT_NOT_VALID=Сертификатът не е валиден.
+SEC_ERROR_CERT_NO_RESPONSE=Библиотека за сертификати: Няма отговор
+SEC_ERROR_EXPIRED_ISSUER_CERTIFICATE=Сертификатът на издателя на сертификата е с изтекъл срок на валидност. Проверете датата и часа на вашата система.
+SEC_ERROR_CRL_EXPIRED=CRL на издателя на сертификата е с изтекъл срок на валидност. Обновете го или проверете датата и часа на вашата система.
+SEC_ERROR_CRL_BAD_SIGNATURE=CRL на издателя на сертификата е с невалиден подпис.
+SEC_ERROR_CRL_INVALID=Новият CRL е с невалиден формат.
+SEC_ERROR_EXTENSION_VALUE_INVALID=Стойност на разширение в сертификата е невалидно.
+SEC_ERROR_EXTENSION_NOT_FOUND=Не е намерено разширение в сертификата.
+SEC_ERROR_CA_CERT_INVALID=Сертификатът на издателя е невалиден.
+SEC_ERROR_PATH_LEN_CONSTRAINT_INVALID=Ограничение за дължина на пътя на сертификата е невалидно.
+SEC_ERROR_CERT_USAGES_INVALID=Полето за употреби за сертификата е невалидно.
+SEC_INTERNAL_ONLY=**САМО за вътрешен модул**
+SEC_ERROR_INVALID_KEY=Ключът не поддържа исканата операция.
+SEC_ERROR_UNKNOWN_CRITICAL_EXTENSION=Сертификатът съдържа неизвестно критично разширение.
+SEC_ERROR_OLD_CRL=Новото CRL не е направено по-късно от сегашното CRL.
+SEC_ERROR_NO_EMAIL_CERT=Не е шифровано или подписано: все още нямате сертификат за имейл.
+SEC_ERROR_NO_RECIPIENT_CERTS_QUERY=Не е шифровано: нямате сертификати за всеки от получателите.
+SEC_ERROR_NOT_A_RECIPIENT=Не може да се дешифрова: не сте получател или не е намерен съвпадащ сертификат и частен ключ.
+SEC_ERROR_PKCS7_KEYALG_MISMATCH=Не може да се дешифрова: алгоритъмът за шифроване на ключа не съвпада с вашия сертификат.
+SEC_ERROR_PKCS7_BAD_SIGNATURE=Грешка при проверка на подпис: подписалият не е намерен, твърде много подписали или неправилни или развалени данни.
+SEC_ERROR_UNSUPPORTED_KEYALG=Неподдържан или непознат алгоритъм за ключа.
+SEC_ERROR_DECRYPTION_DISALLOWED=Не може да се дешифрова: шифровано с непозволен алгоритъм или дължина на ключ.
+XP_SEC_FORTEZZA_BAD_CARD=Картата Fortezza не е правилно инициализирана. Моля, изкарайте я и я върнете на издателя.
+XP_SEC_FORTEZZA_NO_CARD=Не са намерени карти Fortezza
+XP_SEC_FORTEZZA_NONE_SELECTED=Не е избрана карта Fortezza
+XP_SEC_FORTEZZA_MORE_INFO=Моля, изберете профил за повече информация
+XP_SEC_FORTEZZA_PERSON_NOT_FOUND=Не е намерен профил
+XP_SEC_FORTEZZA_NO_MORE_INFO=Няма повече информация за този профил
+XP_SEC_FORTEZZA_BAD_PIN=Невалиден пин
+XP_SEC_FORTEZZA_PERSON_ERROR=Не можаха да се инициализират профилите на Fortezza.
+SEC_ERROR_NO_KRL=Не е намерен KRL за сертификата на сайта.
+SEC_ERROR_KRL_EXPIRED=KRL за сертификата на сайта е с изтекъл срок на валидност.
+SEC_ERROR_KRL_BAD_SIGNATURE=KRL за сертификата на сайта е с невалиден подпис.
+SEC_ERROR_REVOKED_KEY=Ключът за сертификата на сайта е анулиран.
+SEC_ERROR_KRL_INVALID=Новият KRL е с невалиден формат.
+SEC_ERROR_NEED_RANDOM=библиотека по сигурност: нужни са случайни данни.
+SEC_ERROR_NO_MODULE=библиотека по сигурност: няма модул по сигурността, който да изпълни исканата операция.
+SEC_ERROR_NO_TOKEN=Сигурната карта или токенът не съществува, трябва да бъде инициализиран или е изваден.
+SEC_ERROR_READ_ONLY=библиотека по сигурност: база данни само за четене.
+SEC_ERROR_NO_SLOT_SELECTED=Не е избран слот или токен.
+SEC_ERROR_CERT_NICKNAME_COLLISION=Сертификат със същото име вече съществува.
+SEC_ERROR_KEY_NICKNAME_COLLISION=Ключ със същото съкратено име вече съществува.
+SEC_ERROR_SAFE_NOT_CREATED=грешка при създаване на безопасен обект
+SEC_ERROR_BAGGAGE_NOT_CREATED=грешка при създаване на временен обект
+XP_JAVA_REMOVE_PRINCIPAL_ERROR=Принципалът не можа да се премахне
+XP_JAVA_DELETE_PRIVILEGE_ERROR=Привилегията не можа да се премахне
+XP_JAVA_CERT_NOT_EXISTS_ERROR=Принципалът няма сертификат
+SEC_ERROR_BAD_EXPORT_ALGORITHM=Не е позволен задължителен алгоритъм.
+SEC_ERROR_EXPORTING_CERTIFICATES=Грешка при опит за изнасяне на сертификати.
+SEC_ERROR_IMPORTING_CERTIFICATES=Грешка при опит за внасяне на сертификати.
+SEC_ERROR_PKCS12_DECODING_PFX=Грешка при внасяне. Грешка при декодиране. Файлът не е валиден.
+SEC_ERROR_PKCS12_INVALID_MAC=Грешка при внасяне. Невалиден MAC. Неправилна парола или развален файл.
+SEC_ERROR_PKCS12_UNSUPPORTED_MAC_ALGORITHM=Грешка при внасяне. Неподдържан алгоритъм за MAC.
+SEC_ERROR_PKCS12_UNSUPPORTED_TRANSPORT_MODE=Грешка при внасяне. Поддържани са само цялост с пароли или поверителни режими.
+SEC_ERROR_PKCS12_CORRUPT_PFX_STRUCTURE=Грешка при внасяне. Файловата структура е повредена.
+SEC_ERROR_PKCS12_UNSUPPORTED_PBE_ALGORITHM=Грешка при внасяне. Неподдържан алгоритъм за шифроване.
+SEC_ERROR_PKCS12_UNSUPPORTED_VERSION=Грешка при внасяне. Неподдържана версия на файл.
+SEC_ERROR_PKCS12_PRIVACY_PASSWORD_INCORRECT=Грешка при внасяне. Невярна поверителна парола.
+SEC_ERROR_PKCS12_CERT_COLLISION=Грешка при внасяне. В базата данни вече има такова съкратено име.
+SEC_ERROR_USER_CANCELLED=Потребителят натисна Прекъсване.
+SEC_ERROR_PKCS12_DUPLICATE_DATA=Не е внесен, вече е в базата данни.
+SEC_ERROR_MESSAGE_SEND_ABORTED=Съобщението не е изпратено.
+SEC_ERROR_INADEQUATE_KEY_USAGE=Използването на ключа на сертификата е неадекватно за пробваната операция.
+SEC_ERROR_INADEQUATE_CERT_TYPE=Този вид сертификати не е одобрен за приложението.
+SEC_ERROR_CERT_ADDR_MISMATCH=Адресът в подписващия сертификат не съвпада с адреса в заглавките на съобщението.
+SEC_ERROR_PKCS12_UNABLE_TO_IMPORT_KEY=Грешка при внасяне. Грешка при опит за внасяне на частен ключ.
+SEC_ERROR_PKCS12_IMPORTING_CERT_CHAIN=Грешка при внасяне. Грешка при опит за внасяне на верига сертификати.
+SEC_ERROR_PKCS12_UNABLE_TO_LOCATE_OBJECT_BY_NAME=Грешка при изнасяне. Не можа да се намери сертификата или ключа по съкратено име.
+SEC_ERROR_PKCS12_UNABLE_TO_EXPORT_KEY=Грешка при изнасяне. Частният ключ не можа да бъде намерен или изнесен.
+SEC_ERROR_PKCS12_UNABLE_TO_WRITE=Грешка при изнасяне. Грешка при запис във файл.
+SEC_ERROR_PKCS12_UNABLE_TO_READ=Грешка при внасяне. Грешка при четене от файл.
+SEC_ERROR_PKCS12_KEY_DATABASE_NOT_INITIALIZED=Грешка при изнасяне. Базата данни с ключове е повредена или изтрита.
+SEC_ERROR_KEYGEN_FAIL=Грешка при генериране на двойка ключове публичен/частен.
+SEC_ERROR_INVALID_PASSWORD=Въведената парола е невалидна. Моля, изберете друга.
+SEC_ERROR_RETRY_OLD_PASSWORD=Старата парола е въведена неправилно. Моля, опитайте отново.
+SEC_ERROR_BAD_NICKNAME=Съкратеното име на сертификата вече се използва.
+SEC_ERROR_NOT_FORTEZZA_ISSUER=Веригата FORTEZZA на партньора съдържа не-FORTEZZA сертификат.
+SEC_ERROR_CANNOT_MOVE_SENSITIVE_KEY=Конфиденциален ключ не можа да бъде преместен в слота, където е нужен.
+SEC_ERROR_JS_INVALID_MODULE_NAME=Невалидно име на модул.
+SEC_ERROR_JS_INVALID_DLL=Невалидно име на файл на модул
+SEC_ERROR_JS_ADD_MOD_FAILURE=Добавяне на модул е невъзможно
+SEC_ERROR_JS_DEL_MOD_FAILURE=Грешка при изтриване на модула
+SEC_ERROR_OLD_KRL=Новото KRL не е направено по-късно от сегашното CRL.
+SEC_ERROR_CKL_CONFLICT=Новото CKL има различен издател от текущото CKL. Изтрийте текущото CKL.
+SEC_ERROR_CERT_NOT_IN_NAME_SPACE=Не е позволено на удостоверителя на сертификати (CA) за този сертификат да издава сертификат с такова име.
+SEC_ERROR_KRL_NOT_YET_VALID=Списъкът за анулиране на ключове на този сертификат все още не е валиден.
+SEC_ERROR_CRL_NOT_YET_VALID=Списъкът за анулиране на сертификати на този сертификат все още не е валиден.
+SEC_ERROR_UNKNOWN_CERT=Исканият сертификат не можа да бъде намерен.
+SEC_ERROR_UNKNOWN_SIGNER=Сертификатът на подписалия не може да бъде намерен.
+SEC_ERROR_CERT_BAD_ACCESS_LOCATION=Местоположението на сървъра за състояние на сертификата е с невалиден формат.
+SEC_ERROR_OCSP_UNKNOWN_RESPONSE_TYPE=Отговорът от OCSP не може да бъде напълно декодиран; от неизвестен вид е.
+SEC_ERROR_OCSP_BAD_HTTP_RESPONSE=Съръвърът за OCSP върна неочаквани/невалидни данни по HTTP.
+SEC_ERROR_OCSP_MALFORMED_REQUEST=Съръвърът за OCSP прецени заявката като развалена или неправилно формирана.
+SEC_ERROR_OCSP_SERVER_ERROR=Съръвърът за OCSP докладва своя вътрешна грешка.
+SEC_ERROR_OCSP_TRY_SERVER_LATER=Съръвърът за OCSP предлага да се опита по-късно.
+SEC_ERROR_OCSP_REQUEST_NEEDS_SIG=Съръвърът за OCSP изисква подпис за тази заявка.
+SEC_ERROR_OCSP_UNAUTHORIZED_REQUEST=Съръвърът за OCSP отказа тази заявка като неудостоверена.
+SEC_ERROR_OCSP_UNKNOWN_RESPONSE_STATUS=Съръвърът за OCSP върна неразпознаваемо състояние.
+SEC_ERROR_OCSP_UNKNOWN_CERT=Съръвърът за OCSP няма състояние за сертификата.
+SEC_ERROR_OCSP_NOT_ENABLED=Трябва да активирате OCSP преди извършването на тази операция.
+SEC_ERROR_OCSP_NO_DEFAULT_RESPONDER=Трябва да зададете подразбиращ се отговарящ OCSP преди извършването на тази операция.
+SEC_ERROR_OCSP_MALFORMED_RESPONSE=Отговорът от сървъра на OCSP беше развален или неправилно формиран.
+SEC_ERROR_OCSP_UNAUTHORIZED_RESPONSE=Подписалият отговора на OCSP не е удостоверен да дава състояние за този сертификат.
+SEC_ERROR_OCSP_FUTURE_RESPONSE=Отговорът на OCSP все още не е валиден, защото съдържа дата в бъдещето.
+SEC_ERROR_OCSP_OLD_RESPONSE=Отговорът на OCSP съдържа неактуална информация.
+SEC_ERROR_DIGEST_NOT_FOUND=Не е намерен CMS или PKCS #7 Digest в подписано съобщение.
+SEC_ERROR_UNSUPPORTED_MESSAGE_TYPE=Неподдържан CMS или вид на PKCS #7 Message.
+SEC_ERROR_MODULE_STUCK=Модул за PKCS #11 не може да бъде премахнат, тъй като все още се използва.
+SEC_ERROR_BAD_TEMPLATE=Не може да се декодират данни ASN.1. Зададеният шаблон е невалиден.
+SEC_ERROR_CRL_NOT_FOUND=Не е намерен съвпадащ CRL.
+SEC_ERROR_REUSED_ISSUER_AND_SERIAL=Опитвате се да внесете сертификат със същия издател и сериен номер както съществуващ сертификат, но това не е същия сертификат.
+SEC_ERROR_BUSY=NSS не можа да се изключи. Все още се използват някои обекти.
+SEC_ERROR_EXTRA_INPUT=Кодирано с DER съобщение съдържа допълнителни неизползвани данни.
+SEC_ERROR_UNSUPPORTED_ELLIPTIC_CURVE=Неподдържани елиптични криви.
+SEC_ERROR_UNSUPPORTED_EC_POINT_FORM=Неподдържана точкова форма на елиптични криви.
+SEC_ERROR_UNRECOGNIZED_OID=Неразпознат идентификатор на обект (OI).
+SEC_ERROR_OCSP_INVALID_SIGNING_CERT=Невалиден подписващ сертификат на OCSP в отговор от OCSP.
+SEC_ERROR_REVOKED_CERTIFICATE_CRL=Сертификатът е анулиран в анулиращия списък от сертификати (CRL) на издателя.
+SEC_ERROR_REVOKED_CERTIFICATE_OCSP=Отговарящият OCSP на издателя докладва, че сертификатът е анулиран.
+SEC_ERROR_CRL_INVALID_VERSION=Анулиращият списък от сертификати (CRL) на издателя има неизвестен номер на версия.
+SEC_ERROR_CRL_V1_CRITICAL_EXTENSION=Анулиращият списък от сертификати V1 (CRL) на издателя има критично разширение.
+SEC_ERROR_CRL_UNKNOWN_CRITICAL_EXTENSION=Анулиращият списък от сертификати V2 (CRL) на издателя има неизвестно критично разширение.
+SEC_ERROR_UNKNOWN_OBJECT_TYPE=Подаден е непознат вид обект.
+SEC_ERROR_INCOMPATIBLE_PKCS11=Драйвер за PKCS #11 нарушава спецификацията по несъвместим начин.
+SEC_ERROR_NO_EVENT=За момента няма наличен нов слот за събитие.
+SEC_ERROR_CRL_ALREADY_EXISTS=CRL вече съществува.
+SEC_ERROR_NOT_INITIALIZED=NSS не е инициализиран.
+SEC_ERROR_TOKEN_NOT_LOGGED_IN=Операцията се провали, защото токенът на PKCS #11 не е вписан.
+SEC_ERROR_OCSP_RESPONDER_CERT_INVALID=Настроеният сертификат на отговорника по OCSP е невалиден.
+SEC_ERROR_OCSP_BAD_SIGNATURE=Отговорът от OCSP е с невалиден подпис.
+SEC_ERROR_OUT_OF_SEARCH_LIMITS=Валидиращото търсене на сертификат е извън обхвата на търсенето
+SEC_ERROR_INVALID_POLICY_MAPPING=Съпоставянето на правила за пропускане (policy mapping) съдържа anypolicy
+SEC_ERROR_POLICY_VALIDATION_FAILED=Веригата сертификати не отговаря на валидиращите правила за пропускане (policy)
+SEC_ERROR_UNKNOWN_AIA_LOCATION_TYPE=Неизвестен вид местоположение в разширение AIA
+SEC_ERROR_BAD_HTTP_RESPONSE=Сървърът върна грешен отговор по HTTP
+SEC_ERROR_BAD_LDAP_RESPONSE=Сървърът върна грешен отговор по LDAP
+SEC_ERROR_FAILED_TO_ENCODE_DATA=Грешка при кодиране на данни с кодиране ASN1
+SEC_ERROR_BAD_INFO_ACCESS_LOCATION=Грешно местоположение за достъп до информация в разширение на сертификата
+SEC_ERROR_LIBPKIX_INTERNAL=Вътрешна грешка в libpkix при валидиране на сертификат.
+SEC_ERROR_PKCS11_GENERAL_ERROR=Модул на PKCS #11 върна CKR_GENERAL_ERROR, показвайки, че се е случила непоправима грешка.
+SEC_ERROR_PKCS11_FUNCTION_FAILED=Модул на PKCS #11 върна CKR_FUNCTION_ERROR, показвайки, че исканата функционалност не може да бъде извършена. Опитването отново на същата операция може и да успее.
+SEC_ERROR_PKCS11_DEVICE_ERROR=Модул на PKCS #11 върна CKR_DEVICE_ERROR, показвайки, че се е получил проблем с токена или слота.
+SEC_ERROR_BAD_INFO_ACCESS_METHOD=Неизвестен метод за достъп до информация в разширение на сертификата.
+SEC_ERROR_CRL_IMPORT_FAILED=Грешка при опит за внасяне на CRL.
+SEC_ERROR_EXPIRED_PASSWORD=Паролата е с изтекъл срок на валидност.
+SEC_ERROR_LOCKED_PASSWORD=Паролата е заключена.
+SEC_ERROR_UNKNOWN_PKCS11_ERROR=Неизвестна грешка на PKCS #11.
+SEC_ERROR_BAD_CRL_DP_URL=Невалиден или неподдържан URL в име на точка за разпространение на CRL.
+SEC_ERROR_CERT_SIGNATURE_ALGORITHM_DISABLED=Сертификатът е подписан с подписващ алгоритъм, който е деактивиран, понеже не е сигурен.
+MOZILLA_PKIX_ERROR_KEY_PINNING_FAILURE=Сървърът използва закотвяне на ключове (HPKP), но не може да се построи доверена верига от сертификати, която да съвпада със закотвянето (pinset). Нарушенията при закотвяне на ключове не могат да бъдат пренебрегнати.
+MOZILLA_PKIX_ERROR_CA_CERT_USED_AS_END_ENTITY=Сървърът използва сертификат с разширение за основни ограничения, определящи го като удостоверител на сертификати (CA). Това не може да е така при правилно издаден сертификат.
+MOZILLA_PKIX_ERROR_INADEQUATE_KEY_SIZE=Сървърът предостави сертификат с дължина на ключ, която е твърде малка за осигуряване на сигурна връзка.
+MOZILLA_PKIX_ERROR_V1_CERT_USED_AS_CA=За издаване на сървърния сертификат е използван сертификат X.509 версия 1, който не е доверена опора. Сертификатите X.509 версия 1 са излезли от употреба и не трябва да се използват за подписване на други сертификати.
+MOZILLA_PKIX_ERROR_NOT_YET_VALID_CERTIFICATE=Сървърът предостави сертификат, който все още не е валиден.
+MOZILLA_PKIX_ERROR_NOT_YET_VALID_ISSUER_CERTIFICATE=За издаване на сървърския сертификат е използван все още невалиден сертификат.
+MOZILLA_PKIX_ERROR_SIGNATURE_ALGORITHM_MISMATCH=Подписващият алгоритъм в полето с подпис на сертификата не съвпада с алгоритъма в неговото поле signatureAlgorithm.
+MOZILLA_PKIX_ERROR_OCSP_RESPONSE_FOR_CERT_MISSING=Отговорът от OCSP не съдържа състоянието на проверявания сертификат.
+MOZILLA_PKIX_ERROR_VALIDITY_TOO_LONG=Сървърът предостави сертификат, който е валиден от твърде много време насам.
+MOZILLA_PKIX_ERROR_REQUIRED_TLS_FEATURE_MISSING=Липсва задължителна възможност на TLS.
+MOZILLA_PKIX_ERROR_INVALID_INTEGER_ENCODING=Сървърът представи сертификат, съдържащ невалидно кодиране на цяло число. Разпространени причини за това са отрицателен сериен номер, отрицателен RSA moduli и кодиране, по-дълги от нужното.
+MOZILLA_PKIX_ERROR_EMPTY_ISSUER_NAME=Сървърът предостави сертификат с празно име на издателя.
+MOZILLA_PKIX_ERROR_ADDITIONAL_POLICY_CONSTRAINT_FAILED=При проверката на сертификата е установено нарушение на ограничение, наложено от допълнителна политика.
+MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT=Няма увереност в сертификата, защото е самоподписан.
diff --git a/l10n-bg/security/manager/chrome/pipnss/pipnss.properties b/l10n-bg/security/manager/chrome/pipnss/pipnss.properties
new file mode 100644
index 0000000000..9e43804eb0
--- /dev/null
+++ b/l10n-bg/security/manager/chrome/pipnss/pipnss.properties
@@ -0,0 +1,132 @@
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+CertPasswordPromptDefault=Моля, въведете вашата главна парола.
+
+# The following strings have special requirements: they must fit in a 32 or 64
+# bytes buffer after being encoded to UTF-8.
+#
+# It's possible to verify the length of a translation using the Browser Console
+# in Firefox and evaluating the following code:
+#
+# (new TextEncoder('utf-8').encode('YOURSTRING')).length
+#
+# Simply replace YOURSTRING with your translation.
+#
+# If it's not possible to produce an understandable translation within these
+# limits, keeping the English text is an acceptable workaround.
+
+# The following strings have special requirements: they must fit in a 32 or 64
+# bytes buffer after being encoded to UTF-8.
+#
+# It's possible to verify the length of a translation using the Browser Console
+# in Firefox and evaluating the following code:
+#
+# (new TextEncoder().encode('YOURSTRING')).length
+#
+# Simply replace YOURSTRING with your translation.
+#
+# If it's not possible to produce an understandable translation within these
+# limits, keeping the English text is an acceptable workaround.
+
+# LOCALIZATION NOTE (RootCertModuleName): string limit is 64 bytes after
+# conversion to UTF-8.
+# length_limit = 64 bytes
+RootCertModuleName=Модул вградени корени
+# LOCALIZATION NOTE (ManufacturerID): string limit is 32 bytes after conversion
+# to UTF-8.
+# length_limit = 32 bytes
+ManufacturerID=Mozilla.org
+# LOCALIZATION NOTE (LibraryDescription): string limit is 32 bytes after
+# conversion to UTF-8.
+# length_limit = 32 bytes
+LibraryDescription=PSM Internal Crypto Services
+# LOCALIZATION NOTE (TokenDescription): string limit is 32 bytes after
+# conversion to UTF-8.
+# length_limit = 32 bytes
+TokenDescription=Шифроващи услуги
+# LOCALIZATION NOTE (PrivateTokenDescription): string limit is 32 bytes after
+# conversion to UTF-8.
+# length_limit = 32 bytes
+PrivateTokenDescription=Software Security Device
+# LOCALIZATION NOTE (SlotDescription): string limit is 64 bytes after conversion
+# to UTF-8.
+# length_limit = 64 bytes
+SlotDescription=Вътрешни шифроващи услуги на PSM
+# LOCALIZATION NOTE (PrivateSlotDescription): string limit is 64 bytes after
+# conversion to UTF-8.
+# length_limit = 64 bytes
+PrivateSlotDescription=Частни ключове на PSM
+# LOCALIZATION NOTE (Fips140TokenDescription): string limit is 32 bytes after
+# conversion to UTF-8.
+# length_limit = 32 bytes
+Fips140TokenDescription=Software Security Device (FIPS)
+# LOCALIZATION NOTE (Fips140SlotDescription): string limit is 64 bytes after
+# conversion to UTF-8.
+# length_limit = 64 bytes
+Fips140SlotDescription=FIPS 140 Cryptographic, Key and Certificate Services
+
+# LOCALIZATION NOTE (nick_template): $1s is the common name from a cert (e.g. "Mozilla"), $2s is the CA name (e.g. VeriSign)
+nick_template=%2$s идентификатор на %1$s
+
+CertDumpKUSign=Подписване
+CertDumpKUNonRep=Без отричане
+CertDumpKUEnc=Шифроване на ключ
+CertDumpKUDEnc=Шифриране на данните
+CertDumpKUKA=Споразумение за ключ
+CertDumpKUCertSign=Подписал сертификата
+CertDumpKUCRLSigner=Подписал CRL
+
+PSMERR_SSL_Disabled=Не може да бъде осъществена безопасна връзка, защото SSL протоколът е изключен.
+PSMERR_SSL2_Disabled=Не може да бъде осъществена безопасна връзка, защото страницата използва стара и несигурна версия на протокола SSL.
+PSMERR_HostReusedIssuerSerial=Вие получихте невалиден сертификат. Моля, свържете се с администратора на сървъра и дайте следната информация:\n\nВашият сертификат съдържа същия сериен номер като друг, издаден от сертификатора. Моля, дайте нов сертификат с уникален сериен номер.
+
+# LOCALIZATION NOTE (SSLConnectionErrorPrefix2): %1$S is the host string, %2$S is more detailed information (localized as well).
+SSLConnectionErrorPrefix2=Грешка при свързване с %1$S. %2$S\n
+
+certErrorIntro=%S използва невалиден сертификат.
+
+certErrorTrust_SelfSigned=Няма увереност в сертификата, защото е самоподписан.
+certErrorTrust_UnknownIssuer=Няма увереност в сертификата, защото издателят на сертификата е неизвестен.
+certErrorTrust_UnknownIssuer2=The server might not be sending the appropriate intermediate certificates.
+certErrorTrust_UnknownIssuer3=An additional root certificate may need to be imported.
+certErrorTrust_CaInvalid=Няма увереност в сертификата, защото е издаден от невалиден сертификат CA.
+certErrorTrust_Issuer=Няма увереност в сертификата, защото няма увереност в сертификата на издателя.
+certErrorTrust_SignatureAlgorithmDisabled=Сертификатът не е доверен, защото е подписан с алгоритъм за подписване, който е деактивиран, защото не е безопасен.
+certErrorTrust_ExpiredIssuer=Няма увереност в сертификата, защото издателят на сертификата е с изтекла валидност.
+certErrorTrust_Untrusted=Сертификатът идва от недостоверен източник.
+certErrorTrust_MitM=Връзката преминава през посредник на TLS. Ако е възможно го премахнете или настройте устройството да има доверие в кореновия си сертификат.
+
+certErrorMismatch=Сертификатът е невалиден за името %S.
+# LOCALIZATION NOTE (certErrorMismatchSinglePrefix): %S is replaced by the domain for which the certificate is valid
+certErrorMismatchSinglePrefix=Сертификатът е валиден само за %S.
+certErrorMismatchMultiple=Сертификатът е валиден само за следните имена:
+
+# LOCALIZATION NOTE (certErrorExpiredNow): Do not translate %1$S (date+time of expired certificate) or %2$S (current date+time)
+certErrorExpiredNow=Срокът на сертификата е изтекъл на %1$S. Текущото време е %2$S.
+
+# LOCALIZATION NOTE (certErrorNotYetValidNow): Do not translate %1$S (date+time certificate will become valid) or %2$S (current date+time)
+certErrorNotYetValidNow=Сертификатът няма да бъде валиден преди %1$S. Текущото време е %2$S.
+
+# LOCALIZATION NOTE (certErrorMitM2): %S is brandShortName
+# LOCALIZATION NOTE (certErrorMitM3): %S is brandShortName
+
+certErrorSymantecDistrustAdministrator=Може да уведомите администратора на страницата за този проблем.
+
+# LOCALIZATION NOTE (certErrorCodePrefix3): %S is replaced by the error code.
+certErrorCodePrefix3=Код на грешката: %S
+
+P12DefaultNickname=Внесен сертификат
+CertUnknown=Неизвестен
+CertNoEmailAddress=(няма е-поща)
+CaCertExists=Този сертификат е вече инсталиран като удостоверител на сертификати.
+NotACACert=Това не е сертификат на удостоверител на сертификати, затова не може да бъде внесен в списъка с удостоверители на сертификати.
+UserCertIgnoredNoPrivateKey=Този личен сертификат не може да бъде инсталиран, защото не притежавате съответния частен ключ, с който е създаден сертификатът.
+UserCertImported=Вашият частен сертификат е инсталиран. Трябва да пазите резервно копие на този сертификат.
+CertOrgUnknown=(Неизвестен)
+CertNotStored=(Несъхраняван)
+CertExceptionPermanent=Постоянен
+CertExceptionTemporary=Temporary
diff --git a/l10n-bg/security/manager/chrome/pippki/pippki.properties b/l10n-bg/security/manager/chrome/pippki/pippki.properties
new file mode 100644
index 0000000000..21b56cc3ab
--- /dev/null
+++ b/l10n-bg/security/manager/chrome/pippki/pippki.properties
@@ -0,0 +1,76 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Download Cert dialog
+# LOCALIZATION NOTE(newCAMessage1):
+# %S is a string representative of the certificate being downloaded/imported.
+newCAMessage1=Искате ли „%S“ да е доверен за следните цели?
+unnamedCA=Сертификатен удостоверител (неименуван CA)
+
+# PKCS#12 file dialogs
+getPKCS12FilePasswordMessage=Моля, въведете паролата, с която е шифровано това резервно копие:
+
+# Client auth
+clientAuthRemember=Запомняне на решението
+# LOCALIZATION NOTE(clientAuthNickAndSerial): Represents a single cert when the
+# user is choosing from a list of certificates.
+# %1$S is the nickname of the cert.
+# %2$S is the serial number of the cert in AA:BB:CC hex format.
+clientAuthNickAndSerial=%1$S [%2$S]
+# LOCALIZATION NOTE(clientAuthHostnameAndPort):
+# %1$S is the hostname of the server.
+# %2$S is the port of the server.
+clientAuthHostnameAndPort=%1$S:%2$S
+# LOCALIZATION NOTE(clientAuthMessage1): %S is the Organization of the server
+# cert.
+clientAuthMessage1=Организация: „%S“
+# LOCALIZATION NOTE(clientAuthMessage2): %S is the Organization of the issuer
+# cert of the server cert.
+clientAuthMessage2=Издаден под: „%S“
+# LOCALIZATION NOTE(clientAuthIssuedTo): %1$S is the Distinguished Name of the
+# currently selected client cert, such as "CN=John Doe,OU=Example" (without
+# quotes).
+clientAuthIssuedTo=Издаден на: %1$S
+# LOCALIZATION NOTE(clientAuthSerial): %1$S is the serial number of the selected
+# cert in AA:BB:CC hex format.
+clientAuthSerial=Сериен номер: %1$S
+# LOCALIZATION NOTE(clientAuthValidityPeriod):
+# %1$S is the already localized notBefore date of the selected cert.
+# %2$S is the already localized notAfter date of the selected cert.
+clientAuthValidityPeriod=Валиден от %1$S до %2$S
+# LOCALIZATION NOTE(clientAuthKeyUsages): %1$S is a comma separated list of
+# already localized key usages the selected cert is valid for.
+clientAuthKeyUsages=Използване на ключа за: %1$S
+# LOCALIZATION NOTE(clientAuthEmailAddresses): %1$S is a comma separated list of
+# e-mail addresses the selected cert is valid for.
+clientAuthEmailAddresses=Електронни адреси: %1$S
+# LOCALIZATION NOTE(clientAuthIssuedBy): %1$S is the Distinguished Name of the
+# cert which issued the selected cert.
+clientAuthIssuedBy=Издаден от: %1$S
+# LOCALIZATION NOTE(clientAuthStoredOn): %1$S is the name of the PKCS #11 token
+# the selected cert is stored on.
+clientAuthStoredOn=Съхранен на: %1$S
+
+# Page Info
+pageInfo_NoEncryption=Връзката не е шифрована
+pageInfo_Privacy_None1=Сайтът %S не поддържа шифроване за страницата, която разглеждате.
+pageInfo_Privacy_None2=Информацията, изпратена през Интернет без шифроване, може да бъде видяна от други хора, докато се пренася.\u0020
+pageInfo_Privacy_None4=Тази страница не е шифрована преди да бъде изпратена през Интернет.
+# LOCALIZATION NOTE (pageInfo_EncryptionWithBitsAndProtocol and pageInfo_BrokenEncryption):
+# %1$S is the name of the encryption standard,
+# %2$S is the key size of the cipher.
+# %3$S is protocol version like "SSL 3" or "TLS 1.2"
+pageInfo_EncryptionWithBitsAndProtocol=Шифрована връзка (%1$S, %2$S-битови ключове, %3$S)
+pageInfo_BrokenEncryption=Развалено шифроване (%1$S, %2$S-битови ключове, %3$S)
+pageInfo_Privacy_Encrypted1=Тази страница е била шифрована преди да бъде изпратена през Интернет.
+pageInfo_Privacy_Encrypted2=Шифроването затруднява неоторизирани лица да преглеждат пренасяната между компютрите информация. Затова е много малко вероятно някой да е прочел тази страница, докато е пренасяна през Интернет.
+pageInfo_MixedContent=Връзката е частично шифрована
+pageInfo_MixedContent2=Части от тази страница не са били шифровани преди да бъдат изпратени през Интернет.
+pageInfo_WeakCipher=Връзката тази страница използва слабо шифроване и не е поверителна. Други хора могат да виждат вашата информация и да променят поведението на страницата.
+pageInfo_CertificateTransparency_Compliant=Сайтът се придържа към политиката за прозрачност на сертификати.
+
+# Token Manager
+password_not_set=(не е зададена)
+enable_fips=Включване на FIPS
+
diff --git a/l10n-bg/security/manager/security/certificates/certManager.ftl b/l10n-bg/security/manager/security/certificates/certManager.ftl
new file mode 100644
index 0000000000..0b7cf3c903
--- /dev/null
+++ b/l10n-bg/security/manager/security/certificates/certManager.ftl
@@ -0,0 +1,171 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+certmgr-title =
+ .title = Управление на сертификати
+certmgr-tab-mine =
+ .label = Вашите сертификати
+certmgr-tab-remembered =
+ .label = Решения при удостоверяване
+certmgr-tab-people =
+ .label = Хора
+certmgr-tab-servers =
+ .label = Сървъри
+certmgr-tab-ca =
+ .label = Удостоверители
+certmgr-mine = Имате сертификати от тези организации, които ви идентифицират
+certmgr-remembered = Тези сертификати се използват, за да ви идентифицират пред уеб сайтове
+certmgr-people = Имате сертификати, които идентифицират следните хора
+certmgr-ca = Имате сертификати, които идентифицират следните удостоверители на сертификати
+certmgr-edit-ca-cert2 =
+ .title = Редактиране на настройките за доверие в сертификат на CA
+ .style = min-width: 48em;
+certmgr-edit-cert-edit-trust = Редактиране на настройките за доверие:
+certmgr-edit-cert-trust-ssl =
+ .label = Този сертификат може да идентифицира уеб сайтове.
+certmgr-edit-cert-trust-email =
+ .label = Този сертификат може да идентифицира пощенски потребители.
+certmgr-delete-cert2 =
+ .title = Изтриване на сертификат
+ .style = min-width: 48em; min-height: 24em;
+certmgr-cert-host =
+ .label = Хост
+certmgr-cert-name =
+ .label = Име на сертификат
+certmgr-cert-server =
+ .label = Сървър
+certmgr-token-name =
+ .label = Устройство по безопасността
+certmgr-begins-label =
+ .label = Започва на
+certmgr-expires-label =
+ .label = Изтича на
+certmgr-email =
+ .label = Е-поща
+certmgr-serial =
+ .label = Сериен номер
+certmgr-view =
+ .label = Подробности…
+ .accesskey = П
+certmgr-edit =
+ .label = Редактиране на доверието…
+ .accesskey = Р
+certmgr-export =
+ .label = Изнасяне…
+ .accesskey = И
+certmgr-delete =
+ .label = Изтриване…
+ .accesskey = т
+certmgr-delete-builtin =
+ .label = Изтриване или недоверяване…
+ .accesskey = д
+certmgr-backup =
+ .label = Резервно копие…
+ .accesskey = Р
+certmgr-backup-all =
+ .label = Резервно копие на всичко…
+ .accesskey = в
+certmgr-restore =
+ .label = Внасяне…
+ .accesskey = В
+certmgr-add-exception =
+ .label = Добавяне на изключение…
+ .accesskey = к
+exception-mgr =
+ .title = Добавяне на изключение по безопасността
+exception-mgr-extra-button =
+ .label = Потвърждаване на изключение по безопасността
+ .accesskey = П
+exception-mgr-supplemental-warning = Законни банки, магазини и други публични сайтове няма да искат да го правите.
+exception-mgr-cert-location-url =
+ .value = Адрес:
+exception-mgr-cert-location-download =
+ .label = Изтегляне на сертификата
+ .accesskey = И
+exception-mgr-cert-status-view-cert =
+ .label = Преглед…
+ .accesskey = П
+exception-mgr-permanent =
+ .label = Запазване като постоянно изключение
+ .accesskey = З
+pk11-bad-password = Въведената парола е грешна.
+pkcs12-decode-err = Неуспешно декодиране на файла. Може би той не е в формат PKCS #12, повреден е или сте въвели грешна парола.
+pkcs12-unknown-err-restore = Неуспешно възстановяване на PKCS #12 файла поради неизвестни причини.
+pkcs12-unknown-err-backup = Неуспешно създаване на резервен PKCS #12 файл поради неизвестни причини.
+pkcs12-unknown-err = PKCS #12 операцията е неуспешна по неизвестни причини.
+pkcs12-info-no-smartcard-backup = Невъзможно е резервирането на сертификати от хардуерно сигурно устройство, каквото е смарт-картата.
+pkcs12-dup-data = Сертификатът и личният ключ вече съществуват в сигурното устройство.
+
+## PKCS#12 file dialogs
+
+choose-p12-backup-file-dialog = Име на файл за резервно копие
+file-browse-pkcs12-spec = PKCS12 файлове
+choose-p12-restore-file-dialog = Сертификатен файл за внасяне
+
+## Import certificate(s) file dialog
+
+file-browse-certificate-spec = Файлове със сертификати
+import-ca-certs-prompt = Изберете файл, съдържащ сертификат(и) на CA за внасяне
+import-email-cert-prompt = Изберете файл за внасяне, съдържащ нечий сертификат за е-поща
+
+## For editing certificates trust
+
+# Variables:
+# $certName: the name of certificate
+edit-trust-ca = Сертификатът „{ $certName }“ представя сертификатен удостоверител (CA).
+
+## For Deleting Certificates
+
+delete-user-cert-title =
+ .title = Изтриване на вашите сертификати
+delete-user-cert-confirm = Сигурни ли сте, че искате да изтриете тези сертификати?
+delete-user-cert-impact = Ако изтриете някой от вашите сертификати, няма да може да го използвате, за да се идентифицирате.
+delete-ca-cert-title =
+ .title = Изтриване или премахване на доверие от сертификати на CA
+delete-ca-cert-confirm = Поискахте да изтриете тези сертификати на CA. При вградените сертификати цялото доверие ще бъде премахнато, което има същият ефект. Сигурни ли сте, че искате да изтриете или премахнете доверието?
+delete-ca-cert-impact = Ако изтриете или премахнете доверие от сертификат на сертификатен удостоверител (CA), това приложение повече няма да се доверява на сертификати, издадени от този CA.
+delete-email-cert-title =
+ .title = Изтриване на сертификати за е-поща
+delete-email-cert-confirm = Сигурни ли сте, че искате да изтриете сертификатите за е-поща на тези хора?
+delete-email-cert-impact = Ако изтриете сертификат на е-поща на човек, няма да може да изпращате шифрована поща до този човек.
+# Used for semi-uniquely representing a cert.
+#
+# Variables:
+# $serialNumber : the serial number of the cert in AA:BB:CC hex format.
+cert-with-serial =
+ .value = Сертификат със сериен номер: { $serialNumber }
+# Used when no cert is stored for an override
+no-cert-stored-for-override = (Несъхраняван)
+
+## Used to show whether an override is temporary or permanent
+
+permanent-override = Постоянен
+temporary-override = Временен
+
+## Add Security Exception dialog
+
+add-exception-branded-warning = Променяте начина, по който { -brand-short-name } идентифицира този сайт.
+add-exception-invalid-header = Сайтът се опита да се представи с невалидна информация.
+add-exception-domain-mismatch-short = Сбъркана страница
+add-exception-domain-mismatch-long = Сертификатът е за друг сайт, което може да означава, че някой се опитва измамнически да се представя за този сайт.
+add-exception-expired-short = Невярна информация
+add-exception-expired-long = Сертификатът не е валиден. Може да е бил откраднат или изгубен, и така да се използва измамнически от някой, за да се представя за този сайт.
+add-exception-unverified-or-bad-signature-short = Неизвестна идентичност
+add-exception-unverified-or-bad-signature-long = Сертификатът не е доверен, защото не е проверен от надежден удостоверител и не използва сигурен подпис.
+add-exception-valid-short = Валиден сертификат
+add-exception-valid-long = Сайтът има валиден и проверен сертификат. Няма нужда от добавяне на изключение.
+add-exception-checking-short = Проверка на информация
+add-exception-checking-long = Опит за идентифициране на този сайт…
+add-exception-no-cert-short = Няма информация
+add-exception-no-cert-long = Не може да се провери идентификацията на този сайт.
+
+## Certificate export "Save as" and error dialogs
+
+save-cert-as = Запазване на сертификат във файл
+cert-format-base64 = Сертификат X.509 (PEM)
+cert-format-base64-chain = Сертификат X.509 с поредица (PEM)
+cert-format-der = Сертификат X.509 (DER)
+cert-format-pkcs7 = Сертификат X.509 (PKCS#7)
+cert-format-pkcs7-chain = Сертификат X.509 с поредица (PKCS#7)
+write-file-failure = Файлова грешка
diff --git a/l10n-bg/security/manager/security/certificates/deviceManager.ftl b/l10n-bg/security/manager/security/certificates/deviceManager.ftl
new file mode 100644
index 0000000000..255f99a605
--- /dev/null
+++ b/l10n-bg/security/manager/security/certificates/deviceManager.ftl
@@ -0,0 +1,133 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Strings used for device manager
+
+devmgr-window =
+ .title = Управление на устройства
+ .style = min-width: 67em; min-height: 32em;
+
+devmgr-devlist =
+ .label = Модули за защита и сигурни устройства
+
+devmgr-header-details =
+ .label = Подробности
+
+devmgr-header-value =
+ .label = Стойност
+
+devmgr-button-login =
+ .label = Влизане
+ .accesskey = В
+
+devmgr-button-logout =
+ .label = Излизане
+ .accesskey = И
+
+devmgr-button-changepw =
+ .label = Промяна на парола
+ .accesskey = П
+
+devmgr-button-load =
+ .label = Зареждане
+ .accesskey = З
+
+devmgr-button-unload =
+ .label = Освобождаване
+ .accesskey = О
+
+devmgr-button-enable-fips =
+ .label = Включване на FIPS
+ .accesskey = F
+
+devmgr-button-disable-fips =
+ .label = Изключване на FIPS
+ .accesskey = F
+
+## Strings used for load device
+
+load-device =
+ .title = Зареждане на драйвер за PKCS#11 устройство
+
+load-device-info = Въведете информация за добавяния модул.
+
+load-device-modname =
+ .value = Име на модула
+ .accesskey = и
+
+load-device-modname-default =
+ .value = Нов модул на PKCS#11
+
+load-device-filename =
+ .value = Файл на модула
+ .accesskey = ф
+
+load-device-browse =
+ .label = Разглеждане…
+ .accesskey = Р
+
+## Token Manager
+
+devinfo-status =
+ .label = Състояние
+
+devinfo-status-disabled =
+ .label = Изключен
+
+devinfo-status-not-present =
+ .label = Липсва
+
+devinfo-status-uninitialized =
+ .label = Нестартиран
+
+devinfo-status-not-logged-in =
+ .label = Не е включен
+
+devinfo-status-logged-in =
+ .label = Включен
+
+devinfo-status-ready =
+ .label = Готов
+
+devinfo-desc =
+ .label = Описание
+
+devinfo-man-id =
+ .label = Производител
+
+devinfo-hwversion =
+ .label = Версия на HW
+devinfo-fwversion =
+ .label = Версия на FW
+
+devinfo-modname =
+ .label = Модул
+
+devinfo-modpath =
+ .label = Път
+
+login-failed = Неуспешно влизане
+
+devinfo-label =
+ .label = Етикет
+
+devinfo-serialnum =
+ .label = Сериен номер
+
+fips-nonempty-primary-password-required = Режимът FIPS изисква да имате зададена главна парола за всяко защитно устройство. Моля, задайте паролата, преди да опитате да активирате режим FIPS.
+unable-to-toggle-fips = Невъзможно е да се промени режима FIPS за сигурността на устройството. Препоръчва се да излезете и да рестартирате това приложение.
+load-pk11-module-file-picker-title = Изберете драйвер за PKCS#11 устройството
+
+# Load Module Dialog
+load-module-help-empty-module-name =
+ .value = Името на модула не може да е празно.
+
+# Do not translate 'Root Certs'
+load-module-help-root-certs-module-name =
+ .value = Името „Root Certs“ е запазено и не може да бъде използвано за име на модул.
+
+add-module-failure = Добавяне на модул е невъзможно
+del-module-warning = Сигурни ли сте, че желаете да изтриете този модул за защита?
+del-module-error = Грешка при изтриване на модула
diff --git a/l10n-bg/security/manager/security/pippki/pippki.ftl b/l10n-bg/security/manager/security/pippki/pippki.ftl
new file mode 100644
index 0000000000..a6ad2bc2cd
--- /dev/null
+++ b/l10n-bg/security/manager/security/pippki/pippki.ftl
@@ -0,0 +1,88 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+password-quality-meter = Качество на паролата
+
+## Change Password dialog
+
+# Variables:
+# $tokenName (String) - Security device of the change password dialog
+change-password-token = Устройство по безопасността: { $tokenName }
+change-password-old = Текуща парола:
+change-password-new = Нова парола:
+change-password-reenter = Нова парола (отново):
+
+## Reset Primary Password dialog
+
+reset-primary-password-window2 =
+ .title = Нулиране на главна парола
+ .style = min-width: 40em
+reset-password-button-label =
+ .label = Нулиране
+pippki-reset-password-confirmation-title = Нулиране на главна парола
+pippki-reset-password-confirmation-message = Главната парола е нулирана.
+
+## Downloading cert dialog
+
+download-cert-window2 =
+ .title = Изтегляне на сертификат
+ .style = min-width: 46em
+download-cert-message = Поискано е да се доверите на нов удостоверител на сертификати (CA).
+download-cert-trust-ssl =
+ .label = Доверяване на този CA за идентифициране на страници.
+download-cert-trust-email =
+ .label = Доверяване на този CA за идентифициране на потребители на е-поща.
+download-cert-message-desc = Преди да се доверите на този CA за каквато и да е цел, трябва да изследвате сертификата му, както и политиката и процедурите на издателя, ако са налични.
+download-cert-view-cert =
+ .label = Преглед
+download-cert-view-text = Изследване на сертификат на CA
+
+## Client Authorization Ask dialog
+
+
+## Client Authentication Ask dialog
+
+client-auth-window =
+ .title = Заявка за идентификация на потребител
+client-auth-site-description = Този сайт изисква да се идентифицирате със сертификат:
+client-auth-choose-cert = Избор на сертификат, който да се представи за идентификация:
+client-auth-cert-details = Подробности за избрания сертификат:
+# Variables:
+# $issuedTo (String) - The subject common name of the currently-selected client authentication certificate
+client-auth-cert-details-issued-to = Издаден на: { $issuedTo }
+# Variables:
+# $serialNumber (String) - The serial number of the certificate (hexadecimal of the form "AA:BB:...")
+client-auth-cert-details-serial-number = Сериен номер: { $serialNumber }
+# Variables:
+# $notBefore (String) - The date before which the certificate is not valid (e.g. Apr 21, 2023, 1:47:53 PM UTC)
+# $notAfter (String) - The date after which the certificate is not valid
+client-auth-cert-details-validity-period = Валиден от { $notBefore } до { $notAfter }
+# Variables:
+# $keyUsages (String) - A list of already-localized key usages for which the certificate may be used
+client-auth-cert-details-key-usages = Използване на ключа за: { $keyUsages }
+# Variables:
+# $emailAddresses (String) - A list of email addresses present in the certificate
+client-auth-cert-details-email-addresses = Електронни адреси: { $emailAddresses }
+# Variables:
+# $issuedBy (String) - The issuer common name of the certificate
+client-auth-cert-details-issued-by = Издаден от: { $issuedBy }
+# Variables:
+# $storedOn (String) - The name of the token holding the certificate (for example, "OS Client Cert Token (Modern)")
+client-auth-cert-details-stored-on = Съхранен на: { $storedOn }
+client-auth-cert-remember-box =
+ .label = Запомняне на решението
+
+## Set password (p12) dialog
+
+set-password-window =
+ .title = Избор на парола за резервно копие на сертификат
+set-password-message = Паролата за резервно копие на сертификат защитава файла с резервно копие, който създавате. Трябва да поставите паролата, за да продължи създаването на резервно копие.
+set-password-backup-pw =
+ .value = Парола на резервното копие на сертификат:
+set-password-repeat-backup-pw =
+ .value = Парола на резервното копие на сертификат (отново):
+set-password-reminder = Важно: Ако забравите паролата на резервното копие на сертификата, по-късно няма да може да възстановите от това резервно копие. Моля, запишете я на сигурно място.
+
+## Protected authentication alert
+
diff --git a/l10n-bg/toolkit/chrome/alerts/alert.properties b/l10n-bg/toolkit/chrome/alerts/alert.properties
new file mode 100644
index 0000000000..b622f2be93
--- /dev/null
+++ b/l10n-bg/toolkit/chrome/alerts/alert.properties
@@ -0,0 +1,23 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE(closeButton.title): Used as the close button text for web notifications on OS X.
+# This should ideally match the string that OS X uses for the close button on alert-type
+# notifications. OS X will truncate the value if it's too long.
+closeButton.title = Затваряне
+# LOCALIZATION NOTE(actionButton.label): Used as the button label to provide more actions on OS X notifications. OS X will truncate this if it's too long.
+actionButton.label = …
+# LOCALIZATION NOTE(webActions.disableForOrigin.label): %S is replaced
+# with the hostname origin of the notification.
+webActions.disableForOrigin.label = Изключване на известията от %S
+
+# LOCALIZATION NOTE(source.label): Used to show the URL of the site that
+# sent the notification (e.g., "via mozilla.org"). "%1$S" is the source host
+# and port.
+source.label=от %1$S
+webActions.settings.label = Настройки на известията
+
+# LOCALIZATION NOTE(pauseNotifications.label): %S is replaced with the
+# brandShortName of the application.
+pauseNotifications.label = Спиране на известията до рестарт на %S
diff --git a/l10n-bg/toolkit/chrome/autoconfig/autoconfig.properties b/l10n-bg/toolkit/chrome/autoconfig/autoconfig.properties
new file mode 100644
index 0000000000..850a89c8b4
--- /dev/null
+++ b/l10n-bg/toolkit/chrome/autoconfig/autoconfig.properties
@@ -0,0 +1,12 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+readConfigTitle = Грешка в настройките
+readConfigMsg = Получи се грешка при прочитане на файла с настройките. Моля, свържете се с вашия системен администратор.
+
+autoConfigTitle = Тревога от AutoConfig
+autoConfigMsg = Грешка в Netscape.cfg/AutoConfig. Моля, свържете се с вашия системен администратор. \n Грешка: %S:
+
+emailPromptTitle = Адрес на ел. поща
+emailPromptMsg = Въведете адреса на своята ел. поща
diff --git a/l10n-bg/toolkit/chrome/global-platform/mac/intl.properties b/l10n-bg/toolkit/chrome/global-platform/mac/intl.properties
new file mode 100644
index 0000000000..71265a9ef1
--- /dev/null
+++ b/l10n-bg/toolkit/chrome/global-platform/mac/intl.properties
@@ -0,0 +1,7 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (intl.ellipsis): Use the unicode ellipsis char, \u2026,
+# or use "..." if \u2026 doesn't suit traditions in your locale.
+intl.ellipsis=…
diff --git a/l10n-bg/toolkit/chrome/global-platform/mac/platformKeys.properties b/l10n-bg/toolkit/chrome/global-platform/mac/platformKeys.properties
new file mode 100644
index 0000000000..e1ce2fd906
--- /dev/null
+++ b/l10n-bg/toolkit/chrome/global-platform/mac/platformKeys.properties
@@ -0,0 +1,34 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#mac
+#this file defines the on screen display names for the various modifier keys
+#these are used in XP menus to show keyboard shortcuts
+
+# Platform: Mac
+# This file defines the on-screen display names for the various modifier keys
+# and the Return key (VK_RETURN).
+# These are used in XP menus to show keyboard shortcuts.
+
+# The Shift key - open up arrow symbol (ctrl-e)
+VK_SHIFT=⇧
+
+# The Command key - clover leaf symbol (ctrl-q)
+VK_META=⌘
+
+# The Win key - never generated by native key event
+VK_WIN=win
+
+# The Option/Alt key - splitting tracks symbol (ctrl-g)
+VK_ALT=⌥
+
+# The Control key - hat symbol (ctrl-f)
+VK_CONTROL=⌃
+
+# The Return key (on the main keyboard or numpad):
+# "Enter" on Windows/Unix, "Return" on Mac
+VK_RETURN=Return
+
+# The separator character used between modifiers (none on Mac OS)
+MODIFIER_SEPARATOR=
diff --git a/l10n-bg/toolkit/chrome/global-platform/unix/intl.properties b/l10n-bg/toolkit/chrome/global-platform/unix/intl.properties
new file mode 100644
index 0000000000..71265a9ef1
--- /dev/null
+++ b/l10n-bg/toolkit/chrome/global-platform/unix/intl.properties
@@ -0,0 +1,7 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (intl.ellipsis): Use the unicode ellipsis char, \u2026,
+# or use "..." if \u2026 doesn't suit traditions in your locale.
+intl.ellipsis=…
diff --git a/l10n-bg/toolkit/chrome/global-platform/unix/platformKeys.properties b/l10n-bg/toolkit/chrome/global-platform/unix/platformKeys.properties
new file mode 100644
index 0000000000..28e77ecaa5
--- /dev/null
+++ b/l10n-bg/toolkit/chrome/global-platform/unix/platformKeys.properties
@@ -0,0 +1,34 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#default
+#this file defines the on screen display names for the various modifier keys
+#these are used in XP menus to show keyboard shortcuts
+
+# Platform: Unix
+# This file defines the on-screen display names for the various modifier keys
+# and the Enter key (VK_RETURN).
+# These are used in XP menus to show keyboard shortcuts.
+
+# The Shift key
+VK_SHIFT=Shift
+
+# The Command key
+VK_META=Meta
+
+# The Win key (Super key and Hyper keys are mapped to DOM Win key)
+VK_WIN=Win
+
+# The Alt key
+VK_ALT=Alt
+
+# The Control key
+VK_CONTROL=Ctrl
+
+# The Enter key (on the main keyboard or numpad):
+# "Enter" on Windows/Unix, "Return" on Mac
+VK_RETURN=Enter
+
+# The separator character used between modifiers
+MODIFIER_SEPARATOR=+
diff --git a/l10n-bg/toolkit/chrome/global-platform/win/intl.properties b/l10n-bg/toolkit/chrome/global-platform/win/intl.properties
new file mode 100644
index 0000000000..71265a9ef1
--- /dev/null
+++ b/l10n-bg/toolkit/chrome/global-platform/win/intl.properties
@@ -0,0 +1,7 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (intl.ellipsis): Use the unicode ellipsis char, \u2026,
+# or use "..." if \u2026 doesn't suit traditions in your locale.
+intl.ellipsis=…
diff --git a/l10n-bg/toolkit/chrome/global-platform/win/platformKeys.properties b/l10n-bg/toolkit/chrome/global-platform/win/platformKeys.properties
new file mode 100644
index 0000000000..2d0dd84b95
--- /dev/null
+++ b/l10n-bg/toolkit/chrome/global-platform/win/platformKeys.properties
@@ -0,0 +1,34 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#default
+#this file defines the on screen display names for the various modifier keys
+#these are used in XP menus to show keyboard shortcuts
+
+# Platform: Windows
+# This file defines the on-screen display names for the various modifier keys
+# and the Enter key (VK_RETURN).
+# These are used in XP menus to show keyboard shortcuts.
+
+# The Shift key
+VK_SHIFT=Shift
+
+# The Command key
+VK_META=Meta
+
+# The Win key
+VK_WIN=Win
+
+# The Alt key
+VK_ALT=Alt
+
+# The Control key
+VK_CONTROL=Ctrl
+
+# The Enter key (on the main keyboard or numpad):
+# "Enter" on Windows/Unix, "Return" on Mac
+VK_RETURN=Enter
+
+# The separator character used between modifiers
+MODIFIER_SEPARATOR=+
diff --git a/l10n-bg/toolkit/chrome/global/aboutStudies.properties b/l10n-bg/toolkit/chrome/global/aboutStudies.properties
new file mode 100644
index 0000000000..f478a7f1b8
--- /dev/null
+++ b/l10n-bg/toolkit/chrome/global/aboutStudies.properties
@@ -0,0 +1,33 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+# LOCALIZATION NOTE (title): keep "Shield" in English. See
+# https://wiki.mozilla.org/Firefox/Shield/Shield_Studies for more information
+title = Изследвания Shield
+removeButton = Премахване
+
+# LOCALIZATION NOTE (activeStudiesList): Title above a list of active studies
+activeStudiesList = Текущи изследвания
+# LOCALIZATION NOTE (activeStudiesList): Title above a list of completed studies
+completedStudiesList = Завършени изследвания
+# LOCALIZATION NOTE (activeStatus): Displayed for an active study
+activeStatus = Текущо
+
+# LOCALIZATION NOTE (completeStatus): Displayed for a study that is already complete
+completeStatus = Завършило
+
+updateButtonWin = Промяна на настройките
+updateButtonUnix = Промяна на настройките
+learnMore = Научете повече
+noStudies = Не сте участвали в изследвания.
+disabledList = Това е списъкът с изследвания, в които сте участвали. Нови изследвания няма да бъдат извършвани.
+# LOCALIZATION NOTE (enabledList): %S is brandShortName (e.g. Firefox)
+enabledList = Какво е това? %S може, от време на време, да инсталира и извършва изследвания.
+
+# LOCALIZATION NOTE (preferenceStudyDescription) $1%S will be replaced with the
+# name of a preference (such as "stream.improvesearch.topSiteSearchShortcuts")
+# and $2%S will be replaced with the value of that preference. Both values will
+# be formatted differently than the surrounding text.
+preferenceStudyDescription = Изследването променя %1$S на %2$S.
diff --git a/l10n-bg/toolkit/chrome/global/autocomplete.properties b/l10n-bg/toolkit/chrome/global/autocomplete.properties
new file mode 100644
index 0000000000..105e0ff25c
--- /dev/null
+++ b/l10n-bg/toolkit/chrome/global/autocomplete.properties
@@ -0,0 +1,9 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (bookmarkKeywordSearch): This is the title of autocomplete
+# entries that are bookmark keyword searches. %1$S will be replaced with the
+# domain name of the bookmark, and %2$S will be replaced with the keyword
+# search text that the user is typing. %2$S will not be empty.
+bookmarkKeywordSearch = %1$S: %2$S
diff --git a/l10n-bg/toolkit/chrome/global/browser.properties b/l10n-bg/toolkit/chrome/global/browser.properties
new file mode 100644
index 0000000000..52a7c08d0a
--- /dev/null
+++ b/l10n-bg/toolkit/chrome/global/browser.properties
@@ -0,0 +1,7 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+formPostSecureToInsecureWarning.title = Предупреждение относно сигурността
+formPostSecureToInsecureWarning.message = Въведената на тази страница от вас информация ще бъде изпратена по незащитена връзка и може да бъде прочетена от трета страна.\n\nСигурни ли сте, че желаете да изпратите тази информация?
+formPostSecureToInsecureWarning.continue = Продължаване
diff --git a/l10n-bg/toolkit/chrome/global/commonDialogs.properties b/l10n-bg/toolkit/chrome/global/commonDialogs.properties
new file mode 100644
index 0000000000..1815ba1f8b
--- /dev/null
+++ b/l10n-bg/toolkit/chrome/global/commonDialogs.properties
@@ -0,0 +1,43 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+Alert=Предупреждение
+Confirm=Потвърждение
+ConfirmCheck=Потвърждение
+Prompt=Подкана
+# LOCALIZATION NOTE - %S is brandFullName
+PromptUsernameAndPassword3=Изисква се удостоверяване - %S
+# LOCALIZATION NOTE - %S is brandFullName
+PromptPassword3=Изисква се парола - %S
+Select=Избиране
+OK=Добре
+Cancel=Отказ
+Yes=&Да
+No=&Не
+Save=&Запазване
+Revert=&Връщане
+DontSave=&Без запазване
+ScriptDlgGenericHeading=[Приложение на JavaScript]
+ScriptDlgHeading=Страницата в %S казва:
+ScriptDialogLabel=Забраняване на страницата да създава нови диалогови прозорци
+# LOCALIZATION NOTE (ScriptDialogLabelContentPrincipal):
+# %S is either the domain and port of the site prompting, or the name of
+# an add-on prompting.
+ScriptDialogPreventTitle=Потвърждаване на настройката за диалози
+# LOCALIZATION NOTE (EnterLoginForRealm3, EnterLoginForProxy3):
+# %1 is an untrusted string provided by a remote server. It could try to
+# take advantage of sentence structure in order to mislead the user (see
+# bug 244273). %1 should be integrated into the translated sentences as
+# little as possible. %2 is the url of the site being accessed.
+EnterLoginForRealm3=%2$S пита за вашето потребителско име и парола. Сайтът казва: „%1$S“
+EnterLoginForProxy3=Мрежовият посредник %2$S иска вашето потребителско име и парола. Страницата казва: „%1$S“
+EnterUserPasswordFor2=%1$S пита за вашето потребителско име и парола.
+EnterUserPasswordForCrossOrigin2=%1$S пита за вашето потребителско име и парола. ВНИМАНИЕ: Вашата парола няма да бъде изпратена към страницата, в която сте в момента!
+EnterPasswordFor=Въведете парола за %1$S на %2$S
+EnterCredentials=Страницата иска да влезете.
+# %S is the username for which a password is requested.
+EnterPasswordOnlyFor=Страницата иска да влезете като %S.
+# %S is the domain of the site being accessed.
+EnterCredentialsCrossOrigin=Страницата ви подканва да се впишете. Предупреждение: Вашата информация за вход ще бъде споделена с „%S“, а не със страницата, която посещавате в момента.
+SignIn=Вписване
diff --git a/l10n-bg/toolkit/chrome/global/contentAreaCommands.properties b/l10n-bg/toolkit/chrome/global/contentAreaCommands.properties
new file mode 100644
index 0000000000..98518213c6
--- /dev/null
+++ b/l10n-bg/toolkit/chrome/global/contentAreaCommands.properties
@@ -0,0 +1,22 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# context menu strings
+
+SaveImageTitle=Запазване на изображението
+SaveMediaTitle=Запазване на медията
+SaveVideoTitle=Запазване на видеозаписа
+SaveAudioTitle=Запазване на аудиото
+SaveLinkTitle=Запазване като
+WebPageCompleteFilter=Уебстраница, всичко
+WebPageHTMLOnlyFilter=Уебстраница, само HTML
+WebPageXHTMLOnlyFilter=Уебстраница, само XHTML
+WebPageSVGOnlyFilter=Уебстраница, само SVG
+WebPageXMLOnlyFilter=Уебстраница, само XML
+
+# LOCALIZATION NOTE (filesFolder):
+# This is the name of the folder that is created parallel to a HTML file
+# when it is saved "With Images". The %S section is replaced with the
+# leaf name of the file being saved (minus extension).
+filesFolder=%S_files
diff --git a/l10n-bg/toolkit/chrome/global/dialog.properties b/l10n-bg/toolkit/chrome/global/dialog.properties
new file mode 100644
index 0000000000..2a4b600e6c
--- /dev/null
+++ b/l10n-bg/toolkit/chrome/global/dialog.properties
@@ -0,0 +1,12 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+button-accept=Добре
+button-cancel=Отказ
+button-help=Помощ
+button-disclosure=Подробности
+accesskey-accept=
+accesskey-cancel=
+accesskey-help=щ
+accesskey-disclosure=П
diff --git a/l10n-bg/toolkit/chrome/global/extensions.properties b/l10n-bg/toolkit/chrome/global/extensions.properties
new file mode 100644
index 0000000000..30a0bc7a67
--- /dev/null
+++ b/l10n-bg/toolkit/chrome/global/extensions.properties
@@ -0,0 +1,27 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#LOCALIZATION NOTE (uninstall.confirmation.title) %S is the name of the extension which is about to be uninstalled.
+uninstall.confirmation.title = Премахване на %S
+
+#LOCALIZATION NOTE (uninstall.confirmation.message) %S is the name of the extension which is about to be uninstalled.
+uninstall.confirmation.message = Има заявка за премахване на разширението „%S“. Какво бихте желали да направите с него?
+
+uninstall.confirmation.button-0.label = Премахване
+uninstall.confirmation.button-1.label = Оставяне инсталирано
+
+saveaspdf.saveasdialog.title = Запазване като
+
+#LOCALIZATION NOTE (newTabControlled.message2) %S is the icon and name of the extension which updated the New Tab page.
+newTabControlled.message2 = Разширението „%S“ смени страницата, която виждате при отваряне на нов раздел.
+newTabControlled.learnMore = Научете повече
+
+#LOCALIZATION NOTE (homepageControlled.message) %S is the icon and name of the extension which updated the homepage.
+homepageControlled.message = Разширението „%S“ промени какво виждате при отваряне на началната страница или нов прозорец.
+homepageControlled.learnMore = Научете повече
+
+#LOCALIZATION NOTE (tabHideControlled.message) %1$S is the icon and name of the extension which hid tabs, %2$S is the icon of the all tabs button.
+tabHideControlled.message = Разширението „%1$S“ крие някои от разделите. Имате достъп до всички раздели от %2$S.
+tabHideControlled.learnMore = Научете повече
+
diff --git a/l10n-bg/toolkit/chrome/global/fallbackMenubar.properties b/l10n-bg/toolkit/chrome/global/fallbackMenubar.properties
new file mode 100644
index 0000000000..5050109715
--- /dev/null
+++ b/l10n-bg/toolkit/chrome/global/fallbackMenubar.properties
@@ -0,0 +1,8 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# OSX only. Default menu label when there is no xul menubar.
+
+quitMenuitem.label=Изход
+quitMenuitem.key=q
diff --git a/l10n-bg/toolkit/chrome/global/filepicker.properties b/l10n-bg/toolkit/chrome/global/filepicker.properties
new file mode 100644
index 0000000000..1727d66a8c
--- /dev/null
+++ b/l10n-bg/toolkit/chrome/global/filepicker.properties
@@ -0,0 +1,18 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE: The extensions to which these descriptions refer
+# now live in toolkit/content/filepicker.properties
+allTitle=Всички файлове
+htmlTitle=Файлове на HTML
+textTitle=Текстови файлове
+imageTitle=Изображения
+xmlTitle=Файлове на XML
+xulTitle=Файлове на XUL
+appsTitle=Приложения
+audioTitle=Аудио файлове
+videoTitle=Видео файлове
+
+formatLabel=Формат:
+
diff --git a/l10n-bg/toolkit/chrome/global/intl.css b/l10n-bg/toolkit/chrome/global/intl.css
new file mode 100644
index 0000000000..2f54eb367d
--- /dev/null
+++ b/l10n-bg/toolkit/chrome/global/intl.css
@@ -0,0 +1,11 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/*
+ * This file contains all localizable skin settings such as
+ * font, layout, and geometry
+ */
+window {
+ font: 3mm tahoma,arial,helvetica,sans-serif;
+}
diff --git a/l10n-bg/toolkit/chrome/global/intl.properties b/l10n-bg/toolkit/chrome/global/intl.properties
new file mode 100644
index 0000000000..0590991195
--- /dev/null
+++ b/l10n-bg/toolkit/chrome/global/intl.properties
@@ -0,0 +1,43 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (intl.accept_languages):
+# This is a comma-separated list of valid BCP 47 language tags.
+#
+# Begin with the value of 'general.useragent.locale'. Next, include language
+# tags for other languages that you expect most users of your locale to be
+# able to speak, so that their browsing experience degrades gracefully if
+# content is not available in their primary language.
+#
+# It is recommended that you include "en-US, en" at the end of the list as a
+# last resort. However, if you know that users of your locale would prefer a
+# different variety of English, or if they are not likely to understand
+# English at all, you may opt to include a different English language tag, or
+# to exclude English altogether.
+#
+# For example, the Breton [br] locale might consider including French and
+# British English in their list, since those languages are commonly spoken in
+# the same area as Breton:
+# intl.accept_languages=br, fr-FR, fr, en-GB, en
+intl.accept_languages=bg, en-US, en
+
+# LOCALIZATION NOTE (font.language.group):
+# This preference controls the initial setting of the language drop-down menu
+# in the Content > Fonts & Colors > Advanced preference panel.
+#
+# Set it to the value of one of the menuitems in the "selectLangs" menulist in
+# http://mxr.mozilla.org/mozilla/source/browser/components/preferences/fonts.xul
+font.language.group=x-cyrillic
+
+# LOCALIZATION NOTE (pluralRule): Pick the appropriate plural rule for your
+# language. This will determine how many plural forms of a word you will need
+# to provide and in what order.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+pluralRule=1
+
+# LOCALIZATION NOTE (intl.menuitems.alwaysappendaccesskeys, intl.menuitems.insertseparatorbeforeaccesskeys):
+# Valid values are: true, false, <empty string>
+# Missing preference or empty value equals false.
+intl.menuitems.alwaysappendaccesskeys=
+intl.menuitems.insertseparatorbeforeaccesskeys=true
diff --git a/l10n-bg/toolkit/chrome/global/keys.properties b/l10n-bg/toolkit/chrome/global/keys.properties
new file mode 100644
index 0000000000..2fdd077347
--- /dev/null
+++ b/l10n-bg/toolkit/chrome/global/keys.properties
@@ -0,0 +1,78 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE : FILE This file contains the application's labels for keys on the keyboard.
+# If you decide to translate this file, you should translate it based on
+# the prevelant kind of keyboard for your target user.
+# LOCALIZATION NOTE : There are two types of keys, those w/ text on their labels
+# and those w/ glyphs.
+# LOCALIZATION NOTE : VK_<…> represents a key on the keyboard.
+#
+# For more information please see bugzilla bug 90888.
+
+# LOCALIZATION NOTE : FILE This file contains the application's labels for keys on the keyboard.
+# If you decide to translate this file, you should translate it based on
+# the prevalent kind of keyboard for your target user.
+# LOCALIZATION NOTE : There are two types of keys, those w/ text on their labels
+# and those w/ glyphs.
+# LOCALIZATION NOTE : VK_<…> represents a key on the keyboard.
+#
+# For more information please see bugzilla bug 90888.
+
+# F1..F10 should probably not be translated unless there are keyboards that actually have other labels
+# F11..F20 might be something else, but are really keyboard specific and not region/language specific
+# there are actually two different F11/F12 keys, I don't know which one these labels represent.
+# eg, F13..F20 on a sparc keyboard are labeled Props, Again .. Find, Cut
+# sparc also has Stop, Again and F11/F12. VK_F11/VK_F12 probably map to Stop/Again
+# LOCALIZATION NOTE : BLOCK Do not translate the next block
+VK_F1=F1
+VK_F2=F2
+VK_F3=F3
+VK_F4=F4
+VK_F5=F5
+VK_F6=F6
+VK_F7=F7
+VK_F8=F8
+VK_F9=F9
+VK_F10=F10
+
+VK_F11=F11
+VK_F12=F12
+VK_F13=F13
+VK_F14=F14
+VK_F15=F15
+VK_F16=F16
+VK_F17=F17
+VK_F18=F18
+VK_F19=F19
+VK_F20=F20
+# LOCALIZATION NOTE : BLOCK end do not translate block
+
+# LOCALIZATION NOTE : BLOCK GLYPHS, DO translate this block
+VK_UP=стрелка нагоре
+VK_DOWN=стрелка надолу
+VK_LEFT=стрелка наляво
+VK_RIGHT=стрелка надясно
+VK_PAGE_UP=страница нагоре
+VK_PAGE_DOWN=страница надолу
+# LOCALIZATION NOTE : BLOCK end GLYPHS
+
+# Enter, backspace, and Tab might have both glyphs and text
+# if the keyboards usually have a glyph,
+# if there is a meaningful translation,
+# or if keyboards are localized
+# then translate them or insert the appropriate glyph
+# otherwise you should probably just translate the glyph regions
+
+VK_TAB=Табулатор
+VK_BACK=Backspace
+VK_DELETE=Del
+# LOCALIZATION NOTE : BLOCK end maybe GLYPHS
+# LOCALIZATION NOTE : BLOCK typing state keys
+VK_HOME=Начало
+VK_END=End
+
+VK_ESCAPE=Esc
+VK_INSERT=Ins
+# LOCALIZATION NOTE : BLOCK end
diff --git a/l10n-bg/toolkit/chrome/global/narrate.properties b/l10n-bg/toolkit/chrome/global/narrate.properties
new file mode 100644
index 0000000000..0e25e22f7f
--- /dev/null
+++ b/l10n-bg/toolkit/chrome/global/narrate.properties
@@ -0,0 +1,14 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+back = Назад
+forward = Напред
+speed = Скорост
+selectvoicelabel = Глас:
+# Default voice is determined by the language of the document.
+defaultvoice = Стандартен
+
+# Voice name and language.
+# eg. David (English)
+voiceLabel = %S (%S)
diff --git a/l10n-bg/toolkit/chrome/global/printdialog.properties b/l10n-bg/toolkit/chrome/global/printdialog.properties
new file mode 100644
index 0000000000..ba79b2f614
--- /dev/null
+++ b/l10n-bg/toolkit/chrome/global/printdialog.properties
@@ -0,0 +1,53 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# These strings are used in the native GTK, Mac and Windows print dialogs.
+
+# GTK titles:
+printTitleGTK=Отпечатване
+optionsTabLabelGTK=Настройки
+
+# Mac titles:
+optionsTitleMac=Настройки:
+appearanceTitleMac=Изглед:
+pageHeadersTitleMac=Горни колонтитули:
+pageFootersTitleMac=Долни колонтитули:
+
+# Windows titles:
+optionsTitleWindows=Настройки
+
+# TRANSLATOR NOTE: For radio button labels and check button labels, an underscore _
+# before a character will turn that character into an accesskey in the GTK dialog.
+# e.g. "_As laid out" will make A the accesskey.
+# In the Windows labels, use an ampersand (&).
+# On Mac, underscores will be stripped.
+
+shrinkToFit=Пренебрегване на мащабирането и _смаляване до ширината на страницата
+selectionOnly=Отпечатване само на _избраното
+printBGOptions=Отпечатване на фоновете
+printBGColors=Отпечатване на цветовете на фона
+printBGImages=Отпечатване на фоновите _изображения
+headerFooter=Горен и долен колонтитул
+left=Ляв
+center=Центрирано
+right=Десен
+headerFooterBlank=--празно--
+headerFooterTitle=Заглавие
+headerFooterURL=URL
+headerFooterDate=Дата/час
+headerFooterPage=Страница #
+headerFooterPageTotal=Страница # от #
+headerFooterCustom=Приспособяване…
+customHeaderFooterPrompt=Моля въведете вашия текст за горен/долен колонтитул
+
+# These are for the summary view in the Mac dialog:
+summarySelectionOnlyTitle=Отпечатване на избраното
+summaryShrinkToFitTitle=Смаляване до прилягане
+summaryPrintBGColorsTitle=Отпечатване цветовете на фона
+summaryPrintBGImagesTitle=Отпечатване на фоновите изображения
+summaryHeaderTitle=Горен колонтитул
+summaryFooterTitle=Долен колонтитул
+summaryNAValue=липсва
+summaryOnValue=Включено
+summaryOffValue=Изключено
diff --git a/l10n-bg/toolkit/chrome/global/resetProfile.properties b/l10n-bg/toolkit/chrome/global/resetProfile.properties
new file mode 100644
index 0000000000..e873ee5ad7
--- /dev/null
+++ b/l10n-bg/toolkit/chrome/global/resetProfile.properties
@@ -0,0 +1,14 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE: These strings are used for profile reset.
+
+# LOCALIZATION NOTE (resetUnusedProfile.message): %S is brandShortName.
+resetUnusedProfile.message=Изглежда от известно време не сте пускали %S. Искате ли да започнете напълно начисто? И между другото, добре дошли отново!
+# LOCALIZATION NOTE (resetUninstalled.message): %S is brandShortName.
+resetUninstalled.message=Изглежда сте преинсталирали %S. Искате ли да започнете напълно начисто?
+
+# LOCALIZATION NOTE (refreshProfile.resetButton.label): %S is brandShortName.
+refreshProfile.resetButton.label=Освежаване на %S…
+refreshProfile.resetButton.accesskey=е
diff --git a/l10n-bg/toolkit/chrome/global/viewSource.properties b/l10n-bg/toolkit/chrome/global/viewSource.properties
new file mode 100644
index 0000000000..e6be633972
--- /dev/null
+++ b/l10n-bg/toolkit/chrome/global/viewSource.properties
@@ -0,0 +1,16 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+goToLineTitle = Към ред
+goToLineText = Въведете номер на ред
+invalidInputTitle = Невалидни входни данни
+invalidInputText = Въведеният номер на ред е невалиден.
+outOfRangeTitle = Не намерен ред
+outOfRangeText = Указаният ред не е открит.
+viewSelectionSourceTitle = Изходен код на DOM на избраната област
+
+context_goToLine_label = Отиване на ред…
+context_goToLine_accesskey = р
+context_wrapLongLines_label = Пренасяне на дългите редове
+context_highlightSyntax_label = Синтактично открояване
diff --git a/l10n-bg/toolkit/chrome/global/wizard.properties b/l10n-bg/toolkit/chrome/global/wizard.properties
new file mode 100644
index 0000000000..569eff5ad4
--- /dev/null
+++ b/l10n-bg/toolkit/chrome/global/wizard.properties
@@ -0,0 +1,8 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+default-first-title=Добре дошли в %S
+default-last-title=Завършване на %S
+default-first-title-mac=Въведение
+default-last-title-mac=Завършване
diff --git a/l10n-bg/toolkit/chrome/mozapps/downloads/downloads.properties b/l10n-bg/toolkit/chrome/mozapps/downloads/downloads.properties
new file mode 100644
index 0000000000..5c454d695e
--- /dev/null
+++ b/l10n-bg/toolkit/chrome/mozapps/downloads/downloads.properties
@@ -0,0 +1,6 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Desktop folder name for downloaded files
+downloadsFolder=Изтегляния
diff --git a/l10n-bg/toolkit/chrome/mozapps/downloads/unknownContentType.properties b/l10n-bg/toolkit/chrome/mozapps/downloads/unknownContentType.properties
new file mode 100644
index 0000000000..398330f4f7
--- /dev/null
+++ b/l10n-bg/toolkit/chrome/mozapps/downloads/unknownContentType.properties
@@ -0,0 +1,18 @@
+# -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+title=Отваряне на %S
+saveDialogTitle=Въведете име или файл за запазване…
+defaultApp=%S (по подразбиране)
+chooseAppFilePickerTitle=Избор на помощно приложение
+badApp=Приложението, което избрахте („%S“), не може да бъде намерено. Проверете името на файла или изберете друго приложение.
+badApp.title=Приложението не е намерено
+badPermissions=Файлът не може да бъде запазен, защото нямате достатъчно права. Изберете друга папка.
+badPermissions.title=Невалидни права за запазване
+unknownAccept.label=Запазване на файла
+unknownCancel.label=Отказ
+fileType=файл %S
+# LOCALIZATION NOTE (orderedFileSizeWithType): first %S is type, second %S is size, and third %S is unit
+orderedFileSizeWithType=%1$S (%2$S %3$S)
diff --git a/l10n-bg/toolkit/chrome/mozapps/profile/profileSelection.properties b/l10n-bg/toolkit/chrome/mozapps/profile/profileSelection.properties
new file mode 100644
index 0000000000..721d057afe
--- /dev/null
+++ b/l10n-bg/toolkit/chrome/mozapps/profile/profileSelection.properties
@@ -0,0 +1,55 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE: These strings are used for startup/profile problems and the profile manager.
+
+# Application not responding
+# LOCALIZATION NOTE (restartTitle, restartMessageNoUnlocker, restartMessageUnlocker, restartMessageNoUnlockerMac, restartMessageUnlockerMac): Messages displayed when the application is running but is not responding to commands. %S is the application name.
+restartTitle=Затваряне на %S
+restartMessageUnlocker=%S вече е пуснат, но не отговаря. Старият процес на %S трябва да бъде затворен, за да бъде отворен нов прозорец.
+restartMessageNoUnlockerMac=Вече е отворено копие на %S. Само едно копие на %S може да бъде отворено в някой момент от време.
+restartMessageUnlockerMac=Екземпляр на %S е вече отворен. Работещият екземпляр на %S ще бъде затворен, за да бъде отворен този.
+
+# Profile manager
+# LOCALIZATION NOTE (profileTooltip): First %S is the profile name, second %S is the path to the profile folder.
+profileTooltip=Профил: „%S“ – Път: „%S“
+
+pleaseSelectTitle=Избиране на профил
+pleaseSelect=Моля, изберете профил, за да започне %S, или създайте нов.
+
+renameProfileTitle=Преименуване на профил
+renameProfilePrompt=Преименуване на профила „%S“ на:
+
+profileNameInvalidTitle=Неправилно име на профил
+profileNameInvalid=„%S“ не може да бъде използвано за име на профил.
+
+chooseFolder=Избор на папка за профила
+profileNameEmpty=Трябва да напишете име на профила.
+invalidChar=Знакът „%S“ не може да бъде използван в име на профил. Моля, изберете друго име.
+
+deleteTitle=Изтриване на профил
+deleteProfileConfirm=При изтриване профилът ще бъде необратимо премахнат от списъка с налични профили.\nМоже да изберете дали и файловете с данни на профила като настройки, сертификати и други потребителски данни също да бъдат премахнати. По този начин и папката „%S“ ще бъде необратимо премахната.\nБихте ли желали файловете с данни на профила да бъдат премахнати?
+deleteFiles=Премахване на файлове
+dontDeleteFiles=Без премахване на файлове
+
+profileCreationFailed=Профилът не може да бъде създаден. Вероятната причина е, че избраната папка е само за четене.
+profileCreationFailedTitle=Неуспешно създаване на профил
+profileExists=Профил с това име вече съществува. Моля, изберете друго.
+profileFinishText=Изберете „Завършване“ за създаване на нов профил.
+profileFinishTextMac=Изберете „Завършване“ за създаване на нов профил.
+profileMissing=Профилът на %S не може да бъде зареден. Може да липсва или да е недостъпен.
+profileMissingTitle=Липсва профил
+profileDeletionFailed=Профилът не може да бъде изтрит докато се използва.
+profileDeletionFailedTitle=Грешка при изтриване
+
+# Profile reset
+# LOCALIZATION NOTE (resetBackupDirectory): Directory name for the profile directory backup created during reset. This directory is placed in a location users will see it (ie. their desktop). %S is the application name.
+resetBackupDirectory=Стари данни от „%S“
+
+flushFailTitle=Промените не са запазени
+# LOCALIZATION NOTE (conflictMessage): %1$S is brandProductName, %2$S is brandShortName.
+flushFailMessage=Грешка попречи промените да бъдат запазени.
+# LOCALIZATION NOTE (flushFailRestartButton): $S is brandShortName.
+flushFailRestartButton=Рестартиране на %S
+flushFailExitButton=Изход
diff --git a/l10n-bg/toolkit/chrome/mozapps/update/updates.properties b/l10n-bg/toolkit/chrome/mozapps/update/updates.properties
new file mode 100644
index 0000000000..c0ea8c519b
--- /dev/null
+++ b/l10n-bg/toolkit/chrome/mozapps/update/updates.properties
@@ -0,0 +1,44 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE: The 1st %S is brandShortName and 2nd %S is update version
+# where update version from the update xml
+# example: MyApplication 10.0.5
+updateName=%S %S
+
+noThanksButton=Не, благодаря
+noThanksButton.accesskey=Н
+# NOTE: The restartLaterButton string is also used in
+# mozapps/extensions/content/blocklist.js
+restartLaterButton=Рестартиране по-късно
+restartLaterButton.accesskey=к
+restartNowButton=Рестартиране на %S
+restartNowButton.accesskey=Р
+
+statusFailed=Грешка при инсталиране
+
+installSuccess=Обновяването беше инсталирано успешно
+installPending=Инсталиране на чакащите
+patchApplyFailure=Обновяването не може да бъде инсталирано (грешка при прилагането на кръпката)
+elevationFailure=Нямате нужните права, за да инсталирате това обновяване. Моля, свържете се с вашия системен администратор.
+
+check_error-200=XML-файлът с обновяване е неправилно оформен (200)
+check_error-403=Отказан достъп (403)
+check_error-404=Не е намерен XML-файлът с обновяване (404)
+check_error-500=Вътрешна грешка в сървъра (500)
+check_error-2152398849=Грешка (неизвестна причина)
+check_error-2152398861=Отказано е свързване
+check_error-2152398862=Просрочено време на връзката
+# NS_ERROR_OFFLINE
+check_error-2152398864=Работите извън мрежата (възстановете връзката)
+check_error-2152398867=Портът не е позволен
+check_error-2152398868=Не бяха получени данни (моля, опитайте отново)
+check_error-2152398878=Сървърът с обновявания не е намерен (проверете връзката с Интернет)
+check_error-2152398890=Мрежовият посрединк не е намерен (проверете връзката си с интернет)
+# NS_ERROR_DOCUMENT_NOT_CACHED
+check_error-2152398918=Работите извън мрежата (възстановете връзката)
+check_error-2152398919=Прехвърлянето на данни бе прекъснато (моля, опитайте отново)
+check_error-2152398920=Мрежовият посредник отказа свързване
+check_error-2153390069=Сертификатът на сървъра е с изтекъл срок (моля, ако е необходимо, настройте часовника на компютъра си или се обадете на администратора си)
+check_error-verification_failed=Целостта на обновяването не може да бъде проверена
diff --git a/l10n-bg/toolkit/chrome/passwordmgr/passwordmgr.properties b/l10n-bg/toolkit/chrome/passwordmgr/passwordmgr.properties
new file mode 100644
index 0000000000..58391de3f0
--- /dev/null
+++ b/l10n-bg/toolkit/chrome/passwordmgr/passwordmgr.properties
@@ -0,0 +1,62 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+rememberPassword = Запомняне на тази парола от Управлението на пароли.
+savePasswordTitle = Потвърждение
+saveLoginButtonAllow.label = Запазване
+saveLoginButtonAllow.accesskey = а
+saveLoginButtonDeny.label = Отказ
+saveLoginButtonDeny.accesskey = з
+saveLoginButtonNever.label = Без запазване
+updateLoginButtonText = Обновяване
+updateLoginButtonAccessKey = О
+updateLoginButtonDeny.label = Отказ
+updateLoginButtonDeny.accesskey = з
+# LOCALIZATION NOTE (rememberPasswordMsg):
+# 1st string is the username for the login, 2nd is the login's hostname.
+# Note that long usernames may be truncated.
+rememberPasswordMsg = Бихте ли желали паролата ви за „%1$S“ в %2$S да бъде запазена?
+# LOCALIZATION NOTE (rememberPasswordMsgNoUsername):
+# String is the login's hostname.
+rememberPasswordMsgNoUsername = Бихте ли желали паролата ви за %S да бъде запазена?
+# LOCALIZATION NOTE (noUsernamePlaceholder):
+# This is displayed in place of the username when it is missing.
+noUsernamePlaceholder=Няма потребителско име
+togglePasswordLabel=Показване на паролата
+togglePasswordAccessKey2=р
+notNowButtonText = &Не сега
+neverForSiteButtonText = Ни&кога за тази страница
+rememberButtonText = &Запазване
+passwordChangeTitle = Потвърждение на смяна на парола
+# LOCALIZATION NOTE (updatePasswordMsg):
+# String is the username for the login.
+updatePasswordMsg = Бихте ли желали паролата ви за „%S“ да бъде обновена?
+updatePasswordMsgNoUser = Бихте ли желали запазената парола да бъде обновена?
+userSelectText2 = Изберете коя регистрация да бъде обновена:
+loginsDescriptionAll2=В компютъра са запазени регистрациите в следните сайтове
+
+# LOCALIZATION NOTE (useASecurelyGeneratedPassword):
+# Shown in the autocomplete popup to allow filling a generated password into a password field.
+useASecurelyGeneratedPassword=Използвайте сигурно генерирана парола
+# LOCALIZATION NOTE (generatedPasswordWillBeSaved):
+# %S will contain the brandShorterName. This informs the user that the generated password will be automatically saved.
+# LOCALIZATION NOTE (loginHostAge):
+# This is used to show the context menu login items with their age.
+# 1st string is the username for the login, 2nd is the login's age.
+loginHostAge=%1$S (%2$S)
+# LOCALIZATION NOTE (noUsername):
+# String is used on the context menu when a login doesn't have a username.
+noUsername=Няма потребителско име
+# LOCALIZATION NOTE (displaySameOrigin):
+# String is used on the autocomplete row when the login origin is a domain match with the document origin
+displaySameOrigin=От този уебсайт
+
+# LOCALIZATION NOTE (insecureFieldWarningDescription2):
+# %1$S will contain insecureFieldWarningLearnMore and look like a link to indicate that clicking will open a tab with support information.
+insecureFieldWarningDescription2 = Връзката е незащитена. Въведените тук данни за вход могат да бъдат компрометирани. %1$S
+insecureFieldWarningLearnMore = Научете повече
+
+# LOCALIZATION NOTE (viewSavedLogins.label):
+# This label is used in the footer of login autocomplete menus.
+viewSavedLogins.label= Показване на запазените регистрации
diff --git a/l10n-bg/toolkit/chrome/places/places.properties b/l10n-bg/toolkit/chrome/places/places.properties
new file mode 100644
index 0000000000..fdbb8e08de
--- /dev/null
+++ b/l10n-bg/toolkit/chrome/places/places.properties
@@ -0,0 +1,33 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+BookmarksMenuFolderTitle=Меню с отметки
+BookmarksToolbarFolderTitle=Лента с отметки
+OtherBookmarksFolderTitle=Други отметки
+TagsFolderTitle=Етикети
+MobileBookmarksFolderTitle=Мобилни отметки
+
+OrganizerQueryHistory=История
+OrganizerQueryDownloads=Изтегляния
+OrganizerQueryAllBookmarks=Всички отметки
+
+# LOCALIZATION NOTE (dateName):
+# These are used to generate history containers when history is grouped by date
+finduri-AgeInDays-is-0=Днес
+finduri-AgeInDays-is-1=Вчера
+finduri-AgeInDays-is=Преди %S дена
+finduri-AgeInDays-last-is=Последните %S дена
+finduri-AgeInDays-isgreater=По-стари от %S дена
+finduri-AgeInMonths-is-0=Този месец
+finduri-AgeInMonths-isgreater=По-стари от %S месеца
+
+# LOCALIZATION NOTE (localFiles):
+# This is used to generate local files container when history is grouped by site
+localhost=(местни файлове)
+
+# LOCALIZATION NOTE
+# The string is used for showing file size of each backup in the "fileRestorePopup" popup
+# %1$S is the file size
+# %2$S is the file size unit
+backupFileSizeText=%1$S %2$S
diff --git a/l10n-bg/toolkit/crashreporter/aboutcrashes.ftl b/l10n-bg/toolkit/crashreporter/aboutcrashes.ftl
new file mode 100644
index 0000000000..ef90b4f3af
--- /dev/null
+++ b/l10n-bg/toolkit/crashreporter/aboutcrashes.ftl
@@ -0,0 +1,31 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v- 2-0- If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla-org/MPL/2-0/-
+
+
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+crash-reports-title = Доклади за сривове
+
+submit-all-button-label = Изпращане на всички
+delete-button-label = Изтриване на всички
+delete-confirm-title = Сигурни ли сте?
+delete-unsubmitted-description = Така всички неизпратени доклади ще бъдат изтрити, а това е необратимо.
+delete-submitted-description = Така списъкът на изпратени доклади за срив ще бъде изчистен, но не и изпратените данни. Това действие е необратимо.
+
+crashes-unsubmitted-label = Неизпратени доклади за срив
+id-heading = Идентификатор на доклад
+date-crashed-heading = Дата на срива
+submit-crash-button-label = Изпращане
+# This text is used to replace the label of the crash submit button
+# if the crash submission fails.
+submit-crash-button-failure-label = Неуспешно
+
+crashes-submitted-label = Изпратени доклади за срив
+date-submitted-heading = Дата на изпращане
+view-crash-button-label = Преглед
+
+no-reports-label = Няма изпратени доклади за срив.
+no-config-label = Приложението не е настроено да показва доклади за сривове. За това настройката <code>breakpad.reportURL</code> трябва да бъде зададена.
diff --git a/l10n-bg/toolkit/crashreporter/crashreporter.ini b/l10n-bg/toolkit/crashreporter/crashreporter.ini
new file mode 100644
index 0000000000..e33b99c70a
--- /dev/null
+++ b/l10n-bg/toolkit/crashreporter/crashreporter.ini
@@ -0,0 +1,60 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# This file is in the UTF-8 encoding
+[Strings]
+# LOCALIZATION NOTE (isRTL):
+# Leave this entry empty unless your language requires right-to-left layout,
+# for example like Arabic, Hebrew, Persian. If your language needs RTL, please
+# use the untranslated English word "yes" as value
+isRTL=
+CrashReporterTitle=Доклад за срив
+# LOCALIZATION NOTE (CrashReporterVendorTitle): %s is replaced with the vendor name. (i.e. "Mozilla")
+CrashReporterVendorTitle=Доклад за срив на %s
+# LOCALIZATION NOTE (CrashReporterErrorText): %s is replaced with another string containing detailed information.
+CrashReporterErrorText=Възникна проблем и програмата се срина.\n\nЗа съжаление доклад за срива не беше изпратен.\n\nПодробности: %s
+# LOCALIZATION NOTE (CrashReporterProductErrorText2): The first %s is replaced with the product name (i.e. "Firefox"), the second is replaced with another string containing detailed information. These two substitutions can not be reordered!
+CrashReporterProductErrorText2=Възникна проблем и %s се срина.\n\nЗа съжаление доклад за срива не беше изпратен.\n\nПодробности: %s
+CrashReporterSorry=Съжаляваме
+# LOCALIZATION NOTE (CrashReporterDescriptionText2): The %s is replaced with the product name.
+CrashReporterDescriptionText2=Възникна проблем и %s се срина.\n\nЗа да ни помогнете да диагностицираме и отстраним този проблем, може да ни изпратите доклад за срива.
+CrashReporterDefault=Това приложение се пуска след срив, за да докладва за проблема на създателя. То не бива да бъде пускано самостаятелно.
+Details=Подробности…
+ViewReportTitle=Съдържание на доклада
+CommentGrayText=Добавяне на коментар (коментарите са общодостъпни)
+ExtraReportInfo=Докладът също така съдържа техническа информация за състоянието на приложението в момента на срива.
+# LOCALIZATION NOTE (CheckSendReport): The %s is replaced with the vendor name.
+CheckSendReport=Разкажете на %s за срива, така че нещата да бъдат поправени
+CheckIncludeURL=Включително адреса на посетената страница
+CheckAllowEmail=Разрешаване на %s да се свързва с мен по повод този доклад
+EmailGrayText=Въведете адреса на своята ел. поща
+ReportPreSubmit2=Вашият доклад за срив ще бъде изпратен преди затваряне или рестартиране.
+ReportDuringSubmit2=Изпращане на вашия доклад…
+ReportSubmitSuccess=Докладът е успешно изпратен!
+ReportSubmitFailed=Имаше проблем при изпращане на вашия доклад.
+ReportResubmit=Повторно изпращане на неуспешно изпратените доклади…
+# LOCALIZATION NOTE (Quit2): The %s is replaced with the product name.
+Quit2=Изход от %s
+# LOCALIZATION NOTE (Restart): The %s is replaced with the product name.
+Restart=Рестартиране на %s
+Ok=Добре
+Close=Затваряне
+
+# LOCALIZATION NOTE (CrashID): The %s is replaced with the Crash ID from the server, which is a string like abc12345-6789-0abc-def1-23456abcdef1
+CrashID=ID на срив: %s
+# LOCALIZATION NOTE (CrashDetailsURL): The %s is replaced with a URL that the user can visit to view the crash details.
+CrashDetailsURL=Може да видите подробностите за този срив на %s
+ErrorBadArguments=Приложението подаде невалиден аргумент.
+ErrorExtraFileExists=Приложението не остави файла си с данни.
+ErrorExtraFileRead=Файлът с данни от приложението не може да бъде прочетен.
+ErrorExtraFileMove=Файлът с данни от приложението не може да бъде преместен.
+ErrorDumpFileExists=Приложението не остави описателен файл на срива.
+ErrorDumpFileMove=Описателният файл на срива не може да бъде преместен.
+ErrorNoProductName=Приложението не се представи.
+ErrorNoServerURL=Приложението не даде сървър за докладване на сривове.
+ErrorNoSettingsPath=Настройките на Доклад за срив не можаха да бъдат намерени.
+ErrorCreateDumpDir=Временна папка за описателните файлове не можа да бъде създадена.
+# LOCALIZATION NOTE (ErrorEndOfLife): The %s is replaced with the product name.
+ErrorEndOfLife=Използваното от вас издание на %s е вече неподдържано. Доклади за сривове от това издание вече не се приемат. Моля, помислете за обновяване до поддържано издание.
+
diff --git a/l10n-bg/toolkit/services/accounts.ftl b/l10n-bg/toolkit/services/accounts.ftl
new file mode 100644
index 0000000000..c6ab170a6b
--- /dev/null
+++ b/l10n-bg/toolkit/services/accounts.ftl
@@ -0,0 +1,8 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Variables:
+# $user (String): the user name (e.g. "Ed")
+# $system (String): the operating system (e.g. "Android")
+account-client-name = { $user } с { -brand-short-name } на { $system }
diff --git a/l10n-bg/toolkit/toolkit/about/aboutAbout.ftl b/l10n-bg/toolkit/toolkit/about/aboutAbout.ftl
new file mode 100644
index 0000000000..987a3270f4
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/about/aboutAbout.ftl
@@ -0,0 +1,9 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+about-about-title = Относно относно
+about-about-note =
+ Това е списък на страници „about“ за ваше удобство.<br/>
+ Някои от тях може да бъдат объркващи. Други са само с диагностична цел.<br/>
+ А трети са пропуснати, защото изискват низ от заявки.
diff --git a/l10n-bg/toolkit/toolkit/about/aboutAddons.ftl b/l10n-bg/toolkit/toolkit/about/aboutAddons.ftl
new file mode 100644
index 0000000000..09b199d1c4
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/about/aboutAddons.ftl
@@ -0,0 +1,471 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+addons-page-title = Управление на добавки
+search-header =
+ .placeholder = търсене в addons.mozilla.org
+ .searchbuttonlabel = Търсене
+
+## Variables
+## $domain - Domain name where add-ons are available (e.g. addons.mozilla.org)
+
+list-empty-get-extensions-message = Изтеглете разширения и теми от <a data-l10n-name="get-extensions">{ $domain }</a>
+list-empty-get-dictionaries-message = Изтеглете речници от <a data-l10n-name="get-extensions">{ $domain }</a>
+list-empty-get-language-packs-message = Изтеглете езикови пакети от <a data-l10n-name="get-extensions">{ $domain }</a>
+
+##
+
+list-empty-installed =
+ .value = Няма инсталирани добавки от този вид
+list-empty-available-updates =
+ .value = Не са открити обновявания
+list-empty-recent-updates =
+ .value = Скоро не сте обновявали никоя добавка
+list-empty-find-updates =
+ .label = Проверка за обновяване
+list-empty-button =
+ .label = Научете повече за добавките
+help-button = Поддръжка
+sidebar-help-button-title =
+ .title = Поддръжка
+addons-settings-button = Настройки на { -brand-short-name }
+sidebar-settings-button-title =
+ .title = Настройки на { -brand-short-name }
+show-unsigned-extensions-button =
+ .label = Някои разширения не можаха да бъдат проверени
+show-all-extensions-button =
+ .label = Показване на всички разширения
+detail-version =
+ .label = Версия
+detail-last-updated =
+ .label = Последно обновяване
+addon-detail-description-expand = Повече
+addon-detail-description-collapse = По-малко
+detail-contributions-description = Разработчикът на добавката ви приканва да допринесете за бъдещото ѝ развитие, като направите скромно дарение.
+detail-contributions-button = Допринасяне
+ .title = Допринасяне за развитието на добавката
+ .accesskey = Д
+detail-update-type =
+ .value = Автоматично обновяване
+detail-update-default =
+ .label = Стандартно
+ .tooltiptext = Автоматично инсталиране на обновявания само ако е стандартно
+detail-update-automatic =
+ .label = Включено
+ .tooltiptext = Автоматично инсталиране на обновявания
+detail-update-manual =
+ .label = Изключено
+ .tooltiptext = Без автоматично инсталиране на обновявания
+# Used as a description for the option to allow or block an add-on in private windows.
+detail-private-browsing-label = Работa в поверителни прозорци
+# Some add-ons may elect to not run in private windows by setting incognito: not_allowed in the manifest. This
+# cannot be overridden by the user.
+detail-private-disallowed-label = Не позволено в поверителни прозорци
+detail-private-disallowed-description2 = Разширението не работи докато разглеждате поверително. <a data-l10n-name="learn-more">Научете повече</a>
+# Some special add-ons are privileged, run in private windows automatically, and this permission can't be revoked
+detail-private-required-label = Изисква достъп до поверителни прозорци
+detail-private-required-description2 = Разширението има достъп до дейностите ви докато разглеждате поверително. <a data-l10n-name="learn-more">Научете повече</a>
+detail-private-browsing-on =
+ .label = Разрешаване
+ .tooltiptext = Включване при поверително разглеждане
+detail-private-browsing-off =
+ .label = Забраняване
+ .tooltiptext = Изключване при поверително разглеждане
+detail-home =
+ .label = Страница
+detail-home-value =
+ .value = { detail-home.label }
+detail-repository =
+ .label = Профил на добавка
+detail-repository-value =
+ .value = { detail-repository.label }
+detail-check-for-updates =
+ .label = Проверка за обновяване
+ .accesskey = П
+ .tooltiptext = Проверка за обновяване на тази добавка
+detail-show-preferences =
+ .label =
+ { PLATFORM() ->
+ [windows] Настройки
+ *[other] Настройки
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [windows] Н
+ *[other] Н
+ }
+ .tooltiptext =
+ { PLATFORM() ->
+ [windows] Промяна на настройките на тази добавка
+ *[other] Сменяне на настройките на тази добавка
+ }
+detail-rating =
+ .value = Оценка
+addon-restart-now =
+ .label = Рестартиране
+disabled-unsigned-heading =
+ .value = Някои добавки бяха изключени
+disabled-unsigned-description = Следните добавки не са проверени, за да могат да се използват от { -brand-short-name }. Можете <label data-l10n-name="find-addons">да намерите заместители</label> или да поискате от разработчиците тяхната добавка да премине проверка.
+disabled-unsigned-learn-more = Научете повече за нашите усилия да поддържаме безопасността ви, докато сте онлайн.
+disabled-unsigned-devinfo = Разработчиците, интересуващи се от преминаване на проверка за техните добавки, могат да прочетат повече в нашето <label data-l10n-name="learn-more">ръководство</label>.
+plugin-deprecation-description = Липсва ли нещо? Някои приставки вече не се поддържат от { -brand-short-name }. <label data-l10n-name="learn-more">Научете повече</label>
+legacy-warning-show-legacy = Показване на остарелите разширения
+legacy-extensions =
+ .value = Остарели добавки
+legacy-extensions-description = Тези разширения не отговарят на текущите стандарти на { -brand-short-name } и затова са изключени. <label data-l10n-name="legacy-learn-more">Научете повече за промените при добавките</label>
+private-browsing-description2 =
+ { -brand-short-name } променя начина на работа на разширенията в поверителни прозорци. Всяко ново разширение, което добавите в { -brand-short-name } няма да работи по подразбиране в поверителен прозорец, освен ако вие не промените неговите настройки. Направихме тази промяна за да запазим поверителното ви разглеждане наистина поверително.
+ <label data-l10n-name="private-browsing-learn-more">Научете повече как да управлявате разширенията</label>
+addon-category-discover = Препоръки
+addon-category-discover-title =
+ .title = Препоръки
+addon-category-extension = Разширения
+addon-category-extension-title =
+ .title = Разширения
+addon-category-theme = Теми
+addon-category-theme-title =
+ .title = Теми
+addon-category-plugin = Приставки
+addon-category-plugin-title =
+ .title = Приставки
+addon-category-dictionary = Речници
+addon-category-dictionary-title =
+ .title = Речници
+addon-category-locale = Езици
+addon-category-locale-title =
+ .title = Езици
+addon-category-available-updates = Налични обновявания
+addon-category-available-updates-title =
+ .title = Налични обновявания
+addon-category-recent-updates = Скорошни обновявания
+addon-category-recent-updates-title =
+ .title = Скорошни обновявания
+addon-category-sitepermission = Права на страницата
+addon-category-sitepermission-title =
+ .title = Права на страницата
+
+## These are global warnings
+
+extensions-warning-safe-mode = Всички добавки са изключени от Надеждния режим.
+extensions-warning-check-compatibility = Проверката за съвместимост на добавките е изключена. Възможно е да имате несъвместими добавки.
+extensions-warning-safe-mode2 =
+ .message = Всички добавки са изключени от Надеждния режим.
+extensions-warning-check-compatibility2 =
+ .message = Проверката за съвместимост на добавките е изключена. Възможно е да имате несъвместими добавки.
+extensions-warning-check-compatibility-button = Включване
+ .title = Включване на проверка за съвместимост на добавки
+extensions-warning-update-security = Проверката за безопасност на обновяването на добавки е изключена. Възможно е системата да се компрометира от добавки.
+extensions-warning-update-security2 =
+ .message = Проверката за безопасност на обновяването на добавки е изключена. Възможно е системата да се компрометира от добавки.
+extensions-warning-update-security-button = Включване
+ .title = Включване на проверка за безопасност на обновяването на добавки
+
+## Strings connected to add-on updates
+
+addon-updates-check-for-updates = Проверка за обновяване
+ .accesskey = П
+addon-updates-view-updates = Последни обновявания
+ .accesskey = о
+
+# This menu item is a checkbox that toggles the default global behavior for
+# add-on update checking.
+
+addon-updates-update-addons-automatically = Автоматично обновяване на добавките
+ .accesskey = А
+
+## Specific add-ons can have custom update checking behaviors ("Manually",
+## "Automatically", "Use default global behavior"). These menu items reset the
+## update checking behavior for all add-ons to the default global behavior
+## (which itself is either "Automatically" or "Manually", controlled by the
+## extensions-updates-update-addons-automatically.label menu item).
+
+addon-updates-reset-updates-to-automatic = Нулиране на всички добавки, за да бъдат автоматично обновявани
+ .accesskey = Н
+addon-updates-reset-updates-to-manual = Нулиране на всички добавки, за да бъдат ръчно обновявани
+ .accesskey = у
+
+## Status messages displayed when updating add-ons
+
+addon-updates-updating = Обновяване на добавките
+addon-updates-installed = Добавките са обновени.
+addon-updates-none-found = Не са открити обновявания
+addon-updates-manual-updates-found = Показване на наличните обновявания
+
+## Add-on install/debug strings for page options menu
+
+addon-install-from-file = Инсталиране на добавка от файл…
+ .accesskey = И
+addon-install-from-file-dialog-title = Изберете добавка за инсталиране
+addon-install-from-file-filter-name = Добавки
+addon-open-about-debugging = Дебъгване на добавки
+ .accesskey = Д
+
+## Extension shortcut management
+
+# This is displayed in the page options menu
+addon-manage-extensions-shortcuts = Управление на клавишни комбинации на разширения
+ .accesskey = к
+shortcuts-no-addons = Нямате включени разширения.
+shortcuts-no-commands = Следните разширения нямат клавишни комбинации:
+shortcuts-input =
+ .placeholder = Изберете комбинация
+shortcuts-browserAction2 = Изпълняване на действието на бутона на лентата
+shortcuts-pageAction = Изпълняване на действието със страницата
+shortcuts-sidebarAction = Превключване на страничната лента
+shortcuts-modifier-mac = Включване на Ctrl, Alt, или ⌘
+shortcuts-modifier-other = Включване на Ctrl или Alt
+shortcuts-invalid = Недействителна комбинация
+shortcuts-letter = Въведете буква
+shortcuts-system = Не може да презапишете клавишна комбинация на { -brand-short-name }
+# String displayed in warning label when there is a duplicate shortcut
+shortcuts-duplicate = Дублиране на комбинация
+# String displayed when a keyboard shortcut is already assigned to more than one add-on
+# Variables:
+# $shortcut (string) - Shortcut string for the add-on
+shortcuts-duplicate-warning-message = Комбинацията { $shortcut } се използва на повече от едно място. Дублиране на клавишни комбинации могат да имат поведение.
+# String displayed when a keyboard shortcut is already assigned to more than one add-on
+# Variables:
+# $shortcut (string) - Shortcut string for the add-on
+shortcuts-duplicate-warning-message2 =
+ .message = Комбинацията { $shortcut } се използва на повече от едно място. Дублиране на клавишни комбинации могат да имат поведение.
+# String displayed when a keyboard shortcut is already used by another add-on
+# Variables:
+# $addon (string) - Name of the add-on
+shortcuts-exists = Вече се използва от { $addon }
+# Variables:
+# $numberToShow (number) - Number of other elements available to show
+shortcuts-card-expand-button =
+ { $numberToShow ->
+ [one] Показване на още { $numberToShow }
+ *[other] Показване на още { $numberToShow }
+ }
+shortcuts-card-collapse-button = По-малко
+header-back-button =
+ .title = Назад
+
+## Recommended add-ons page
+
+# Explanatory introduction to the list of recommended add-ons. The action word
+# ("recommends") in the final sentence is a link to external documentation.
+discopane-intro =
+ Разширенията и темите са като приложения за вашия четец и ви дават
+ възможност за защита на пароли, изтегляне на видеоклипове,
+ намиране на изгодни оферти, блокиране на досадни реклами, промяна
+ на изгледа на четеца и много други. Тези малки софтуерни приложения
+ често се разработват от трети страни. Ето избраните, които { -brand-product-name }
+ <a data-l10n-name="learn-more-trigger">препоръчва</a> за изключителна
+ сигурност, производителност и възможности.
+# Notice to make user aware that the recommendations are personalized.
+discopane-notice-recommendations =
+ Някои от тези препоръки са персонализирани. Те се основават на други
+ инсталирани разширения, предпочитания запазени в профила и статистика за използване.
+# Notice to make user aware that the recommendations are personalized.
+discopane-notice-recommendations2 =
+ .message =
+ Някои от тези препоръки са персонализирани. Те се основават на други
+ инсталирани разширения, предпочитания запазени в профила и статистика за използване.
+discopane-notice-learn-more = Научете повече
+privacy-policy = Политика за поверителност
+# Refers to the author of an add-on, shown below the name of the add-on.
+# Variables:
+# $author (string) - The name of the add-on developer.
+created-by-author = от <a data-l10n-name="author">{ $author }</a>
+# Shows the number of daily users of the add-on.
+# Variables:
+# $dailyUsers (number) - The number of daily users.
+user-count = Потребители: { $dailyUsers }
+install-extension-button = Добавяне към { -brand-product-name }
+install-theme-button = Инсталиране на тема
+# The label of the button that appears after installing an add-on. Upon click,
+# the detailed add-on view is opened, from where the add-on can be managed.
+manage-addon-button = Управление
+find-more-addons = Още добавки
+find-more-themes = Още теми
+# This is a label for the button to open the "more options" menu, it is only
+# used for screen readers.
+addon-options-button =
+ .aria-label = Още настройки
+
+## Add-on actions
+
+report-addon-button = Докладване
+remove-addon-button = Премахване
+# The link will always be shown after the other text.
+remove-addon-disabled-button = Не може да бъде премахнато <a data-l10n-name="link"> Защо?</a>
+disable-addon-button = Изключване
+enable-addon-button = Включване
+# This is used for the toggle on the extension card, it's a checkbox and this
+# is always its label.
+extension-enable-addon-button-label =
+ .aria-label = Включване
+preferences-addon-button =
+ { PLATFORM() ->
+ [windows] Настройки
+ *[other] Настройки
+ }
+details-addon-button = Подробности
+release-notes-addon-button = Бележки към изданието
+permissions-addon-button = Права
+extension-enabled-heading = Включени
+extension-disabled-heading = Изключени
+theme-enabled-heading = Включени
+theme-disabled-heading2 = Запазени теми
+plugin-enabled-heading = Включени
+plugin-disabled-heading = Изключени
+dictionary-enabled-heading = Включени
+dictionary-disabled-heading = Изключени
+locale-enabled-heading = Включени
+locale-disabled-heading = Изключени
+sitepermission-enabled-heading = Включено
+sitepermission-disabled-heading = Изключено
+always-activate-button = Винаги включено
+never-activate-button = Винаги изключено
+addon-detail-author-label = Автор
+addon-detail-version-label = Издание
+addon-detail-last-updated-label = Последно обновяване
+addon-detail-homepage-label = Страница
+addon-detail-rating-label = Оценка
+# Message for add-ons with a staged pending update.
+install-postponed-message = Разширението ще бъде обновено при рестарт на { -brand-short-name }
+# Message for add-ons with a staged pending update.
+install-postponed-message2 =
+ .message = Разширението ще бъде обновено при рестарт на { -brand-short-name }
+install-postponed-button = Обновяване
+# The average rating that the add-on has received.
+# Variables:
+# $rating (number) - A number between 0 and 5. The translation should show at most one digit after the comma.
+five-star-rating =
+ .title = Оценено на { NUMBER($rating, maximumFractionDigits: 1) } от 5
+# This string is used to show that an add-on is disabled.
+# Variables:
+# $name (string) - The name of the add-on
+addon-name-disabled = { $name } (изключено)
+# The number of reviews that an add-on has received on AMO.
+# Variables:
+# $numberOfReviews (number) - The number of reviews received
+addon-detail-reviews-link =
+ { $numberOfReviews ->
+ [one] { $numberOfReviews } отзив
+ *[other] { $numberOfReviews } отзива
+ }
+
+## Pending uninstall message bar
+
+# Variables:
+# $addon (string) - Name of the add-on
+pending-uninstall-description = <span data-l10n-name="addon-name">{ $addon }</span> е премахнато.
+# Variables:
+# $addon (string) - Name of the add-on
+pending-uninstall-description2 =
+ .message = { $addon } е премахнато.
+pending-uninstall-undo-button = Отменяне
+addon-detail-updates-label = Автоматично обновяване
+addon-detail-updates-radio-default = Стандартно
+addon-detail-updates-radio-on = Включено
+addon-detail-updates-radio-off = Изключено
+addon-detail-update-check-label = Проверка за обновяване
+install-update-button = Обновяване
+# This is the tooltip text for the private browsing badge in about:addons. The
+# badge is the private browsing icon included next to the extension's name.
+addon-badge-private-browsing-allowed2 =
+ .title = Разрешено в поверителни прозорци
+ .aria-label = { addon-badge-private-browsing-allowed2.title }
+addon-detail-private-browsing-help = Когато е разрешено, разширението ще има достъп до дейностите ви, докато разглеждате поверително. <a data-l10n-name="learn-more">Научете повече</a>
+addon-detail-private-browsing-allow = Разрешаване
+addon-detail-private-browsing-disallow = Забраняване
+
+## "sites with restrictions" (internally called "quarantined") are special domains
+## where add-ons are normally blocked for security reasons.
+
+
+## This is the tooltip text for the recommended badges for an extension in about:addons. The
+## badge is a small icon displayed next to an extension when it is recommended on AMO.
+
+addon-badge-recommended2 =
+ .title = { -brand-product-name } препоръчва само разширения, които отговарят на нашите стандарти за сигурност и производителност
+ .aria-label = { addon-badge-recommended2.title }
+# We hard code "Mozilla" in the string below because the extensions are built
+# by Mozilla and we don't want forks to display "by Fork".
+addon-badge-line3 =
+ .title = Официално разширение то Mozilla. Отговаря на стандартите за сигурност и производителност
+ .aria-label = { addon-badge-line3.title }
+addon-badge-verified2 =
+ .title = Това разширение е прегледано и отговаря на нашите стандарти за сигурност и производителност
+ .aria-label = { addon-badge-verified2.title }
+
+##
+
+available-updates-heading = Налични обновявания
+recent-updates-heading = Последни обновявания
+release-notes-loading = Зареждане…
+release-notes-error = За съжаление, зареждането на бележките към изданието е неуспешно.
+addon-permissions-empty = Разширението не изисква никакви права
+addon-permissions-required = Необходими права за основни възможности:
+addon-permissions-optional = Незадължителни права за допълнителни възможности:
+addon-permissions-learnmore = Научете повече за правата
+recommended-extensions-heading = Препоръчани разширения
+recommended-themes-heading = Препоръчани теми
+# Variables:
+# $hostname (string) - Host where the permissions are granted
+addon-sitepermissions-required = Предоставя следните възможности на <span data-l10n-name="hostname">{ $hostname }</span>:
+# A recommendation for the Firefox Color theme shown at the bottom of the theme
+# list view. The "Firefox Color" name itself should not be translated.
+recommended-theme-1 = Чувствате се креативни? <a data-l10n-name="link"> Създайте своя собствена тема с Firefox Color.</a>
+
+## Page headings
+
+extension-heading = Управление на добавки
+theme-heading = Управление на теми
+plugin-heading = Управление на приставки
+dictionary-heading = Управление на речници
+locale-heading = Управление на езици
+updates-heading = Управление на обновявания
+sitepermission-heading = Управление на правата на страница
+discover-heading = Персонализирайте вашия { -brand-short-name }
+shortcuts-heading = Управление на клавишни комбинации на разширения
+default-heading-search-label = Намерете още добавки
+addons-heading-search-input =
+ .placeholder = търсене в addons.mozilla.org
+addon-page-options-button =
+ .title = Инструменти за всички добавки
+
+## Detail notifications
+## Variables:
+## $name (string) - Name of the add-on.
+
+# Variables:
+# $version (string) - Application version.
+details-notification-incompatible = Добавката { $name } е несъвместима с { -brand-short-name } { $version }.
+# Variables:
+# $version (string) - Application version.
+details-notification-incompatible2 =
+ .message = Добавката { $name } е несъвместима с { -brand-short-name } { $version }.
+details-notification-incompatible-link = Повече информация
+details-notification-unsigned-and-disabled = Добавката { $name } не може да бъде проверена, за да бъде използвана от { -brand-short-name }, и е изключена.
+details-notification-unsigned-and-disabled2 =
+ .message = Добавката { $name } не може да бъде проверена, за да бъде използвана от { -brand-short-name }, и е изключена.
+details-notification-unsigned-and-disabled-link = Повече информация
+details-notification-unsigned = Добавката { $name } не може да бъде проверена, за да бъде използвана от { -brand-short-name }. Бъдете внимателни.
+details-notification-unsigned2 =
+ .message = Добавката { $name } не може да бъде проверена, за да бъде използвана от { -brand-short-name }. Бъдете внимателни.
+details-notification-unsigned-link = Повече информация
+details-notification-blocked = Добавката { $name } беше изключена поради съображения за сигурност или стабилност.
+details-notification-blocked2 =
+ .message = Добавката { $name } беше изключена поради съображения за сигурност или стабилност.
+details-notification-blocked-link = Повече информация
+details-notification-softblocked = Добавката { $name } може да причини проблеми със сигурността или стабилността.
+details-notification-softblocked2 =
+ .message = Добавката { $name } може да причини проблеми със сигурността или стабилността.
+details-notification-softblocked-link = Повече информация
+details-notification-gmp-pending = Добавката { $name } ще бъде инсталирана след малко.
+details-notification-gmp-pending2 =
+ .message = Добавката { $name } ще бъде инсталирана след малко.
+
+## Gecko Media Plugins (GMPs)
+
+plugins-gmp-license-info = Лицензна информация
+plugins-gmp-privacy-info = Информация за личните данни
+plugins-openh264-name = Видео кодек OpenH264, доставен от Cisco Systems, Inc.
+plugins-openh264-description = Тази приставка се инсталира автоматично от Mozilla за съвместимост със спецификацията на WebRTC, и за да направи възможни обаждания към устройства изискващи видео кодек H.264. Посетете http://www.openh264.org/, за да разгледате изходния код и да научите повече за реализацията.
+plugins-widevine-name = Дешифриращият модул на съдържание Widevine е предоставен от Google Inc.
diff --git a/l10n-bg/toolkit/toolkit/about/aboutCompat.ftl b/l10n-bg/toolkit/toolkit/about/aboutCompat.ftl
new file mode 100644
index 0000000000..57c32a33d1
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/about/aboutCompat.ftl
@@ -0,0 +1,17 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Variables:
+# $bug (string) - Bug number
+label-more-information = Повече информация: Дефект { $bug }
+text-disabled-in-about-config = Тази възможност е изключена от „about:config“
+
+## Do not translate "SmartBlock". For reference, SmartBlock is a feature
+## of Firefox anti-tracking which fixes website breakage caused when
+## trackers are blocked, by acting just enough like those trackers to fix the
+## breakage. SmartBlock also contains special fixes for sites broken by
+## Firefox's Total Cookie Protection feature.
+
+label-smartblock = Поправки от SmartBlock
+text-no-smartblock = Не са приложени поправки от SmartBlock
diff --git a/l10n-bg/toolkit/toolkit/about/aboutGlean.ftl b/l10n-bg/toolkit/toolkit/about/aboutGlean.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/about/aboutGlean.ftl
@@ -0,0 +1,3 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/l10n-bg/toolkit/toolkit/about/aboutHttpsOnlyError.ftl b/l10n-bg/toolkit/toolkit/about/aboutHttpsOnlyError.ftl
new file mode 100644
index 0000000000..372e359b9a
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/about/aboutHttpsOnlyError.ftl
@@ -0,0 +1,31 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+about-httpsonly-title-alert = Сигнал относно режима „Само HTTPS“
+about-httpsonly-title-site-not-available = Сигурната версия на сайта не е налична
+
+# Variables:
+# $websiteUrl (String) - Url of the website that failed to load. Example: www.example.com
+about-httpsonly-explanation-unavailable2 = Включили сте режим „само HTTPS“ за подобрена сигурност, но версия на <em>{ $websiteUrl }</em> през HTTPS не е налична.
+about-httpsonly-explanation-question = Каква би могла да е причината?
+about-httpsonly-explanation-nosupport = Най-вероятно страницата не се поддържа под HTTPS.
+about-httpsonly-explanation-risk = Също е възможно и злоумишлено действие. Ако все пак решите да посетите незащитената версия на страницата не въвеждайте никаква чувствителна информация като пароли, адреси на електронна поща или данни от банкови карти.
+about-httpsonly-explanation-continue = Ако продължите, режимът "Само HTTPS" ще бъде изключен временно за този сайт.
+
+about-httpsonly-button-continue-to-site = Продължете към сайта с HTTP
+about-httpsonly-button-go-back = Връщане назад
+about-httpsonly-link-learn-more = Научете повече…
+
+## Suggestion Box that only shows up if a secure connection to www can be established
+## Variables:
+## $websiteUrl (String) - Url of the website that can be securely loded with these alternatives. Example: example.com
+
+
+## Suggestion Box that only shows up if a secure connection to www can be established
+## Variables:
+## $websiteUrl (String) - Url of the website that can be securely loaded with these alternatives. Example: example.com
+
+about-httpsonly-suggestion-box-header = Възможна алтернатива
+about-httpsonly-suggestion-box-www-text = Налична е шифрована версия на <em>www.{ $websiteUrl }</em>. Можете да посетите нея вместо <em>{ $websiteUrl }</em>.
+about-httpsonly-suggestion-box-www-button = Посетете www.{ $websiteUrl }
diff --git a/l10n-bg/toolkit/toolkit/about/aboutLogging.ftl b/l10n-bg/toolkit/toolkit/about/aboutLogging.ftl
new file mode 100644
index 0000000000..2dd4a4c87e
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/about/aboutLogging.ftl
@@ -0,0 +1,17 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+about-logging-current-log-file = Текущ журнал:
+about-logging-log-tutorial = Вижте <a data-l10n-name="logging">Журнали на HTTP</a> за инструкции как да използвате този инструмент.
+about-logging-set-log-file = Задаване на файлове за журнала
+about-logging-set-log-modules = Задаване на модули за журнала
+about-logging-start-logging = Започване
+about-logging-stop-logging = Спиране
+
+## Logging presets
+
+## Variables:
+## $k (String) - Variable name
+## $v (String) - Variable value
+
diff --git a/l10n-bg/toolkit/toolkit/about/aboutMozilla.ftl b/l10n-bg/toolkit/toolkit/about/aboutMozilla.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/about/aboutMozilla.ftl
@@ -0,0 +1,3 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/l10n-bg/toolkit/toolkit/about/aboutNetworking.ftl b/l10n-bg/toolkit/toolkit/about/aboutNetworking.ftl
new file mode 100644
index 0000000000..8b45221dde
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/about/aboutNetworking.ftl
@@ -0,0 +1,54 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+about-networking-title = Относно Мрежарството
+about-networking-http = HTTP
+about-networking-sockets = Сокети
+about-networking-dns = DNS
+about-networking-dns-clear-cache-button = Изчистване на склада на DNS
+about-networking-websockets = WebSockets
+about-networking-refresh = Опресняване
+about-networking-auto-refresh = Oпресняване на всеки 3 секунди
+about-networking-hostname = Име на хост
+about-networking-port = Порт
+about-networking-ssl = SSL
+about-networking-active = Включен
+about-networking-idle = Бездействащ
+about-networking-host = Хост
+about-networking-sent = Изпратени
+about-networking-received = Получени
+about-networking-family = Поколение
+about-networking-trr = TRR
+about-networking-addresses = Адреси
+about-networking-expires = Изтича (секунди)
+about-networking-messages-sent = Съобщения изпратени
+about-networking-messages-received = Съобщения получени
+about-networking-bytes-sent = Байта изпратени
+about-networking-bytes-received = Байта получени
+about-networking-logging = Журнал
+about-networking-dns-lookup = Търсене в DNS
+about-networking-dns-lookup-button = Определяне
+about-networking-dns-domain = Домейн:
+about-networking-dns-lookup-table-column = IP-та
+about-networking-rcwn = Статистика на RCWN
+about-networking-rcwn-status = Състояние на RCWN
+about-networking-rcwn-cache-won-count = Спечелени от буфера
+about-networking-rcwn-net-won-count = Спечелени от мрежата
+about-networking-total-network-requests = Общ брой мрежови заявки
+about-networking-rcwn-operation = Действия със склада
+about-networking-rcwn-perf-open = Отваряне
+about-networking-rcwn-perf-read = Четене
+about-networking-rcwn-perf-write = Писане
+about-networking-rcwn-perf-entry-open = Отваряне на елемент
+about-networking-rcwn-avg-short = Късо усреднение
+about-networking-rcwn-avg-long = Дълго усреднение
+about-networking-rcwn-std-dev-long = Дълго стандартно отклонение
+about-networking-rcwn-cache-slow = Брой бавен буфер
+about-networking-rcwn-cache-not-slow = Брой не бавен буфер
+
+## Link is intended as "network link"
+
+
+##
+
diff --git a/l10n-bg/toolkit/toolkit/about/aboutPerformance.ftl b/l10n-bg/toolkit/toolkit/about/aboutPerformance.ftl
new file mode 100644
index 0000000000..6bd38218f2
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/about/aboutPerformance.ftl
@@ -0,0 +1,67 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Page title
+about-performance-title = Управление на задачите
+
+## Column headers
+
+column-name = Име
+column-type = Вид
+column-energy-impact = Изразходване на енергия
+column-memory = Памет
+
+## Special values for the Name column
+
+ghost-windows = Последно затворени раздели
+# Variables:
+# $title (String) - the title of the preloaded page, typically 'New Tab'
+preloaded-tab = Предварително заредено: { $title }
+
+## Values for the Type column
+
+type-tab = Раздел
+type-subframe = Подрамка
+type-tracker = Тракер
+type-addon = Добавка
+type-browser = Четец
+type-worker = Работник
+type-other = Друго
+
+## Values for the Energy Impact column
+##
+## Variables:
+## $value (Number) - Value of the energy impact, eg. 0.25 (low),
+## 5.38 (medium), 105.38 (high)
+
+energy-impact-high = Високо ({ $value })
+energy-impact-medium = Средно ({ $value })
+energy-impact-low = Ниско ({ $value })
+
+## Values for the Memory column
+##
+## Variables:
+## $value (Number) - How much memory is used
+
+size-KB = { $value } КБ
+size-MB = { $value } МБ
+size-GB = { $value } ГБ
+
+## Tooltips for the action buttons
+
+close-tab =
+ .title = Затваряне на раздела
+show-addon =
+ .title = Покажи управлението на добавки
+
+# Tooltip when hovering an item of the about:performance table
+# Variables:
+# $totalDispatches (Number) - how many dispatches occurred for this page since it loaded
+# $totalDuration (Number) - how much CPU time was used by this page since it loaded
+# $dispatchesSincePrevious (Number) - how many dispatches occurred in the last 2 seconds
+# $durationSincePrevious (Number) - how much CPU time was used in the last 2 seconds
+item =
+ .title =
+ Използвани дялове от процесора след зареждане: { $totalDispatches } ({ $totalDuration }ms)
+ Дялове от процесора за последните секунди: { $dispatchesSincePrevious } ({ $durationSincePrevious }ms)
diff --git a/l10n-bg/toolkit/toolkit/about/aboutPlugins.ftl b/l10n-bg/toolkit/toolkit/about/aboutPlugins.ftl
new file mode 100644
index 0000000000..4bb2f49d60
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/about/aboutPlugins.ftl
@@ -0,0 +1,42 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+title-label = Относно приставките
+installed-plugins-label = Инсталирани приставки
+no-plugins-are-installed-label = Не са намерени инсталирани приставки
+deprecation-description = Липсва ли нещо? Някои приставки вече не се поддържат. <a data-l10n-name="deprecation-link">Научете повече</a>
+deprecation-description2 =
+ .message = Липсва ли нещо? Някои приставки вече не се поддържат.
+
+## The information of plugins
+##
+## Variables:
+## $pluginLibraries: the plugin library
+## $pluginFullPath: path of the plugin
+## $version: version of the plugin
+
+file-dd = <span data-l10n-name="file">Файл:</span> { $pluginLibraries }
+path-dd = <span data-l10n-name="path">Път:</span> { $pluginFullPath }
+version-dd = <span data-l10n-name="version">Версия:</span> { $version }
+
+## These strings describe the state of plugins
+##
+## Variables:
+## $blockListState: show some special state of the plugin, such as blocked, outdated
+
+state-dd-enabled = <span data-l10n-name="state">Състояние:</span> Включена
+state-dd-enabled-block-list-state = <span data-l10n-name="state">Състояние:</span> Включена ({ $blockListState })
+state-dd-Disabled = <span data-l10n-name="state">Състояние:</span> Изключена
+state-dd-Disabled-block-list-state = <span data-l10n-name="state">Състояние:</span> Изключена ({ $blockListState })
+mime-type-label = MIME тип
+description-label = Описание
+suffixes-label = Наставки
+
+## Gecko Media Plugins (GMPs)
+
+plugins-gmp-license-info = Лицензна информация
+plugins-gmp-privacy-info = Информация за личните данни
+plugins-openh264-name = Видео кодек OpenH264, доставен от Cisco Systems, Inc.
+plugins-openh264-description = Тази приставка се инсталира автоматично от Mozilla за съвместимост със спецификацията на WebRTC, и за да направи възможни обаждания към устройства изискващи видео кодек H.264. Посетете http://www.openh264.org/, за да разгледате изходния код и да научите повече за реализацията.
+plugins-widevine-name = Дешифриращият модул на съдържание Widevine е предоставен от Google Inc.
diff --git a/l10n-bg/toolkit/toolkit/about/aboutProcesses.ftl b/l10n-bg/toolkit/toolkit/about/aboutProcesses.ftl
new file mode 100644
index 0000000000..bf5ef975e1
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/about/aboutProcesses.ftl
@@ -0,0 +1,62 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Tooltips
+
+about-processes-shutdown-tab =
+ .title = Затваряне на раздела
+
+## Column headers
+
+
+## Process names
+## Variables:
+## $pid (String) The process id of this process, assigned by the OS.
+
+about-processes-plugin-process = Приставки ({ $pid })
+about-processes-gmp-plugin-process = Приставки за медия на Gecko ({ $pid })
+
+## Isolated process names
+## Variables:
+## $pid (String) The process id of this process, assigned by the OS.
+## $origin (String) The domain name for this process.
+
+
+## Details within processes
+
+# Tab
+# Variables:
+# $name (String) The name of the tab (typically the title of the page, might be the url while the page is loading).
+about-processes-tab-name = Раздел: { $name }
+
+## Utility process actor names
+
+## Displaying CPU (percentage and total)
+## Variables:
+## $percent (Number) The percentage of CPU used by the process or thread.
+## Always > 0, generally <= 200.
+## $total (Number) The amount of time used by the process or thread since
+## its start.
+## $unit (String) The unit in which to display $total. See the definitions
+## of `duration-unit-*`.
+
+
+## Displaying Memory (total and delta)
+## Variables:
+## $total (Number) The amount of memory currently used by the process.
+## $totalUnit (String) The unit in which to display $total. See the definitions
+## of `memory-unit-*`.
+## $delta (Number) The absolute value of the amount of memory added recently.
+## $deltaSign (String) Either "+" if the amount of memory has increased
+## or "-" if it has decreased.
+## $deltaUnit (String) The unit in which to display $delta. See the definitions
+## of `memory-unit-*`.
+
+
+## Duration units
+
+
+## Memory units
+
diff --git a/l10n-bg/toolkit/toolkit/about/aboutProfiles.ftl b/l10n-bg/toolkit/toolkit/about/aboutProfiles.ftl
new file mode 100644
index 0000000000..bbe8cc65b8
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/about/aboutProfiles.ftl
@@ -0,0 +1,74 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+profiles-title = Относно профилите
+profiles-subtitle = От тук може да управлявате вашите профили. Всеки профил е отделен свят, съдържащ отделна история, отметки, настройки и добавки.
+profiles-create = Създаване на профил
+profiles-restart-title = Рестартиране
+profiles-restart-in-safe-mode = Рестартиране с изключени добавки…
+profiles-restart-normal = Нормално рестартиране…
+profiles-conflict = Друг екземпляр на { -brand-product-name } е направил промени в профилите. Трябва да рестартирате { -brand-short-name }, преди да продължите с промените.
+profiles-flush-fail-title = Промените не са запазени
+profiles-flush-conflict = { profiles-conflict }
+profiles-flush-failed = Грешка попречи промените да бъдат запазени.
+profiles-flush-restart-button = Рестартиране на { -brand-short-name }
+
+# Variables:
+# $name (String) - Name of the profile
+profiles-name = Профил: { $name }
+profiles-is-default = Стандартен профил
+profiles-rootdir = Коренова папка
+
+# localDir is used to show the directory corresponding to
+# the main profile directory that exists for the purpose of storing data on the
+# local filesystem, including cache files or other data files that may not
+# represent critical user data. (e.g., this directory may not be included as
+# part of a backup scheme.)
+# In case localDir and rootDir are equal, localDir is not shown.
+profiles-localdir = Местна папка
+profiles-current-profile = Това е текущият профил и не може да бъде премахнат.
+profiles-in-use-profile = Профилът е използван от друго приложение и не може да бъде премахнат.
+
+profiles-rename = Преименуване
+profiles-remove = Премахване
+profiles-set-as-default = Задаване като стандартен профил
+profiles-launch-profile = Отваряне на четеца с профила
+
+profiles-cannot-set-as-default-title = Грешка при задаване по подразбиране
+profiles-cannot-set-as-default-message = Профилът по подразбиране на { -brand-short-name } не може да бъде променен.
+
+profiles-yes = да
+profiles-no = не
+
+profiles-rename-profile-title = Преименуване на профил
+# Variables:
+# $name (String) - Name of the profile
+profiles-rename-profile = Ново име на профила „{ $name }“
+
+profiles-invalid-profile-name-title = Неправилно име на профил
+# Variables:
+# $name (String) - Name of the profile
+profiles-invalid-profile-name = „{ $name }“ не може да бъде използвано за име на профил.
+
+profiles-delete-profile-title = Изтриване на профил
+# Variables:
+# $dir (String) - Path to be displayed
+profiles-delete-profile-confirm =
+ При изтриване профилът ще бъде необратимо премахнат от списъка с налични профили.
+ Може да изберете дали и файловете с данни на профила като настройки, сертификати и други потребителски данни също да бъдат премахнати. По този начин и папката „{ $dir }“ ще бъде необратимо премахната.
+ Бихте ли желали файловете с данни на профила да бъдат премахнати?
+profiles-delete-files = Премахване на файлове
+profiles-dont-delete-files = Без премахване на файлове
+
+profiles-delete-profile-failed-title = Грешка
+profiles-delete-profile-failed-message = Грешка при изтриване на профила.
+
+
+profiles-opendir =
+ { PLATFORM() ->
+ [macos] Показване във Finder
+ [windows] Отваряне на папката
+ *[other] Отваряне на папката
+ }
diff --git a/l10n-bg/toolkit/toolkit/about/aboutReader.ftl b/l10n-bg/toolkit/toolkit/about/aboutReader.ftl
new file mode 100644
index 0000000000..145f897971
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/about/aboutReader.ftl
@@ -0,0 +1,50 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+about-reader-loading = Зареждане…
+about-reader-load-error = Отварянето на статията е неуспешно
+
+about-reader-color-scheme-light = Светла
+ .title = Светла тема
+about-reader-color-scheme-dark = Тъмна
+ .title = Тъмна тема
+about-reader-color-scheme-sepia = Сепия
+ .title = Тема сепия
+
+# An estimate for how long it takes to read an article,
+# expressed as a range covering both slow and fast readers.
+# Variables:
+# $rangePlural (String): The plural category of the range, using the same set as for numbers.
+# $range (String): The range of minutes as a localised string. Examples: "3-7", "~1".
+about-reader-estimated-read-time =
+ { $rangePlural ->
+ [one] { $range } минута
+ *[other] { $range } минути
+ }
+
+## These are used as tooltips in Type Control
+
+about-reader-toolbar-minus =
+ .title = Намалява размера на текста
+about-reader-toolbar-plus =
+ .title = Увеличава размера на текста
+about-reader-toolbar-contentwidthminus =
+ .title = Намалява ширината на съдържанието
+about-reader-toolbar-contentwidthplus =
+ .title = Увеличава ширината на съдържанието
+about-reader-toolbar-lineheightminus =
+ .title = Намалява междуредията
+about-reader-toolbar-lineheightplus =
+ .title = Увеличава междуредията
+
+## These are the styles of typeface that are options in the reader view controls.
+
+about-reader-font-type-serif = Серифен
+about-reader-font-type-sans-serif = Несерифен
+
+## Reader View toolbar buttons
+
+about-reader-toolbar-close = Затваря изгледа за четене
+about-reader-toolbar-type-controls = Управление на шрифта
+about-reader-toolbar-savetopocket = Запазване в { -pocket-brand-name }
diff --git a/l10n-bg/toolkit/toolkit/about/aboutRights.ftl b/l10n-bg/toolkit/toolkit/about/aboutRights.ftl
new file mode 100644
index 0000000000..a964bed4af
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/about/aboutRights.ftl
@@ -0,0 +1,36 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+rights-title = Относно вашите права
+rights-intro = { -brand-full-name } е свободен софтуер с отворен код, разработван от общност от хиляди хора по целия свят. Има няколко неща, които трябва да знаете:
+rights-intro-point-1 = { -brand-short-name } е достъпен под условията на <a data-l10n-name="mozilla-public-license-link">Публичния лиценз на Mozilla</a>. Това означава, че може да използвате, копирате и разпространявате { -brand-short-name }. Също може да променяте изходния код на { -brand-short-name } според вашите нужди. Публичният лиценз на Mozilla също ви дава право да разпространявате променените версии.
+rights-intro-point-2 = Не ви се предоставят никакви права върху търговски марки или лицензи на търговски марки на Mozilla Foundation, включително без изключения името Firefox или логото. Допълнителна информация за търговски марки могат да бъдат намерени <a data-l10n-name="mozilla-trademarks-link">тук</a>.
+rights-intro-point-3 = Някои от функциите на { -brand-short-name }, като Доклад за срив, ви дават възможност да дадете на { -vendor-short-name } обратна връзка. Избирайки да го направите давате разрешение на { -vendor-short-name } да я използва за подобряване на продуктите си, да я публикува на страницата си и да я разпространява.
+rights-intro-point-4 = Как използваме личната ви информация и обратната връзка изпратена до { -vendor-short-name } от { -brand-short-name } е описано в <a data-l10n-name="mozilla-privacy-policy-link">Политиката за личните данни на { -brand-short-name }</a>.
+rights-intro-point-4-unbranded = Всички приложими политики за поверителност трябва да бъдат изброени тук.
+rights-intro-point-5 = Някои от функциите на { -brand-short-name }, използват информационни услуги достъпни през Интернет и ние не можем да гарантираме за тях 100%-това точност и липса на грешки. Повече информация, включително и как да изключите функции използващи такива услуги може да намерите в <a data-l10n-name="mozilla-service-terms-link">Условия на услугите</a>.
+rights-intro-point-5-unbranded = Ако този продукт включва уеб услуги, всички приложими условия на услугите трябва да имат препратки в раздела <a data-l10n-name="mozilla-website-services-link">Услуги за уеб сайтове</a>.
+rights-intro-point-6 = За да се възпроизвеждат определени видове видео съдържание, { -brand-short-name } изтегля съответни модули за дешифриране на съдържание от трети страни.
+rights-webservices-header = Информационни услуги достъпни през Интернет от { -brand-full-name }
+rights-webservices = { -brand-full-name } използва информационни услуги достъпни през Интернет („Услуги“), за да предостави някои от възможностите ако решите използвате тази двоична версия на { -brand-short-name } под условията описани по-долу. Ако не желаете да използвате една или повече от Услугите или условията по-долу са неприемливи може да изключите тази възможност или Услуга(и). Инструкции как на изключите определена възможност или Услуга може да намерите <a data-l10n-name="mozilla-disable-service-link">тук</a>. Останалите възможности и Услуги, могат да бъдат изключени от настройките на приложението.
+rights-safebrowsing = <strong>Безопасно разглеждане: </strong>Изключването на възможността Безопасно разглеждане е непрепоръчително, защото може да доведе до посещаването ви на опасни страници. Ако желаете изцяло да изключите тази възможност следвайте стъпките:
+rights-safebrowsing-term-1 = Отворете настройките на приложението
+rights-safebrowsing-term-2 = Изберете раздел Сигурност
+rights-safebrowsing-term-3 = Махнете отметката, за да „{ enableSafeBrowsing-label }“
+enableSafeBrowsing-label = Блокиране на опасно и измамно съдържание
+rights-safebrowsing-term-4 = Безопасното разглеждане вече е изключено
+rights-locationawarebrowsing = <strong>Определяне на местоположението при разглеждане:</strong>винаги e по желание. Никога не се изпраща информация за местоположение без ваше съгласие. Ако напълно искате да изключите тази функционалност следвайте тези стъпки:
+rights-locationawarebrowsing-term-1 = В адресната лента въведете <code>about:config</code>
+rights-locationawarebrowsing-term-2 = Въведете geo.enabled
+rights-locationawarebrowsing-term-3 = Щракнете два пъти върху настройката geo.enabled
+rights-locationawarebrowsing-term-4 = Определяне на местоположението при разглеждане вече е изключено
+rights-webservices-unbranded = Преглед на услугите за уеб сайтове, които са вложени в продукта, заедно с инструкции как да се изключат, ако е приложимо, трябва да бъдат изброени тук.
+rights-webservices-term-unbranded = Всички приложими условия на услугата за продукта трябва да бъдат изброени тук.
+rights-webservices-term-1 = { -vendor-short-name }, неговите сътрудници, лицензодатели и партньори работят, за да доставят най-точните и актуални Услуги. Но не можем да гарантираме, че тази информация винаги е разбираема и без грешки. Например Услугата Безопасно разглеждане може да не идентифицира някои опасни страници и може да идентифицира - безопасни грешно, а при Услугата Определяне на местоположението при разглеждане всички местоположения върнати от нашите доставчици на услуга са приблизителни и нито ние нито доставчиците гарантират точността на върнатото местоположение.
+rights-webservices-term-2 = { -vendor-short-name } може да оттегли или промени Услугите по свое усмотрение.
+rights-webservices-term-3 = Приветстваме ви, че използвате тези Услуги предоставени от { -brand-short-name } и { -vendor-short-name } ви дава това право. { -vendor-short-name } и нейните лицензодатели запазват всички други права върху Услугите. Тези условия нямат за цел да ви лишат от права дадени ви от лицензите за отворен код отнасящи се до { -brand-short-name } и до изходните кодове на съответната версия на { -brand-short-name }.
+rights-webservices-term-4 = <strong>Услугите се предоставят „както са“. { -vendor-short-name }, нейните сътрудници, лицензодатели и разпространители, отричат всяка гаранция, явна или неявна, включително гаранции, че Услугите са търговски и отговарят на вашите изисквания. Вие носите целия риск от избирането на Услугите за вашата цел и за качеството и производителността на Услугите. Някои юрисдикции не позволяват изключване или ограничаване на гаранциите, затова това отричане може да не е приложимо към вас.</strong>
+rights-webservices-term-5 = <strong>Освен както е изисквано от закона, { -vendor-short-name }, сътрудниците му, лицензодателите и разпространителите не могат да са отговорни за косвени, специални, инцидентни, като последствие, наказателни или типични щети, изникнали при използването на { -brand-short-name } и Услугите. Общата отговорност при тези условия не може да надвишава $500 (петстотин долара). Някои юрисдикции не позволяват изключване или ограничаване на определени щети, така че това може да не се отнася за вас.</strong>
+rights-webservices-term-6 = { -vendor-short-name } може при необходимост от време на време да обновява тези условия. Те не могат да бъдат променяни или прекъсвани без писмено съгласие от { -vendor-short-name }.
+rights-webservices-term-7 = Тези условия се управляват от законите на щата Калифорния, САЩ, без конфликтите със законовите постановления. Ако някоя част от тези условия се окаже невалидна или неизпълнима, останалите части остават в пълна сила и ефект. В случай на конфликт между преведената версия на тези условия и версията на английски, английската версия е тази, която важи.
diff --git a/l10n-bg/toolkit/toolkit/about/aboutServiceWorkers.ftl b/l10n-bg/toolkit/toolkit/about/aboutServiceWorkers.ftl
new file mode 100644
index 0000000000..a39dcf39f3
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/about/aboutServiceWorkers.ftl
@@ -0,0 +1,40 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### The term "Service Workers" and "Workers" should not be translated
+
+about-service-workers-title = Относно Service Workers
+about-service-workers-main-title = Регистрирани Service Workers
+about-service-workers-warning-not-enabled = Service Workers не са включени.
+about-service-workers-warning-no-service-workers = Няма регистрирани Service Workers.
+
+# The original title of service workers' information
+#
+# Variables:
+# $originTitle: original title
+origin-title = Произход: { $originTitle }
+
+## These strings are for showing the information of workers.
+##
+## Variables:
+## $name: the name of scope, active cache, waiting cache and the push end point.
+## $url: the url of script specification and current worker.
+
+scope = <strong>Обхват:</strong> { $name }
+script-spec = <strong>Спецификация на скрипт:</strong> <a data-l10n-name="link">{ $url }</a>
+current-worker-url = <strong>Интернет адрес на текущ Worker:</strong> <a data-l10n-name="link">{ $url }</a>
+active-cache-name = <strong>Име на използвания склад:</strong> { $name }
+waiting-cache-name = <strong>Име на изчакващия склад:</strong> { $name }
+push-end-point-waiting = <strong>Входна точка на избутване:</strong> { waiting }
+push-end-point-result = <strong>Входна точка на избутване:</strong> { $name }
+
+# This term is used as a button label (verb, not noun).
+update-button = Обновяване
+
+unregister-button = Отмяна на регистрацията
+
+unregister-error = Грешка при отмяна на регистрацията на скритата обслужваща страница.
+
+waiting = Изчакване…
diff --git a/l10n-bg/toolkit/toolkit/about/aboutSupport.ftl b/l10n-bg/toolkit/toolkit/about/aboutSupport.ftl
new file mode 100644
index 0000000000..f0c681d848
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/about/aboutSupport.ftl
@@ -0,0 +1,311 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+page-title = Отстраняване на неизправности
+page-subtitle = Тази страница съдържа техническа информация, която може да ви е от полза, когато се опитвате да решите проблем. Ако търсите отговори на често задавани въпроси за { -brand-short-name }, проверете в нашата <a data-l10n-name="support-link">страница за поддръжка</a>.
+
+crashes-title = Доклади за сривове
+crashes-id = Идентификатор на доклад
+crashes-send-date = Изпратен
+crashes-all-reports = Всички доклади за сривове
+crashes-no-config = Приложението не е настроено да показва доклади за сривове.
+support-addons-name = Наименование
+support-addons-version = Версия
+support-addons-id = ID
+security-software-title = Приложение по сигурността
+security-software-type = Вид
+security-software-name = Име
+security-software-antivirus = Борба с вируси
+security-software-antispyware = Борба с шпионски приложения
+security-software-firewall = Огнена стена
+features-title = Възможности на { -brand-short-name }
+features-name = Наименование
+features-version = Версия
+features-id = ID
+processes-title = Отдалечени процеси
+processes-type = Вид
+processes-count = Брой
+app-basics-title = Основни за приложението
+app-basics-name = Наименование
+app-basics-version = Версия
+app-basics-build-id = Идентификатор на компилиране
+app-basics-update-channel = Канал за обновяване
+# This message refers to the folder used to store updates on the device,
+# as in "Folder for updates". "Update" is a noun, not a verb.
+app-basics-update-dir =
+ { PLATFORM() ->
+ [linux] Папка за обновявания
+ *[other] Папка за обновявания
+ }
+app-basics-update-history = История на обновяванията
+app-basics-show-update-history = История на обновяванията
+# Represents the path to the binary used to start the application.
+app-basics-binary = Двоичен файл на приловението
+app-basics-profile-dir =
+ { PLATFORM() ->
+ [linux] Директория на профила
+ *[other] Папка на профила
+ }
+app-basics-enabled-plugins = Включени приставки
+app-basics-build-config = Настройки на компилацията
+app-basics-user-agent = Потребителски агент
+app-basics-os = ОС
+app-basics-memory-use = Използване на паметта
+app-basics-performance = Производителност
+app-basics-service-workers = Регистрирани Service Workers
+app-basics-profiles = Профили
+app-basics-multi-process-support = Многопроцесни прозорци
+app-basics-remote-processes-count = Отдалечени процеси
+app-basics-enterprise-policies = Ведомствени ограничения
+app-basics-key-mozilla = Mozilla Location Service Key
+app-basics-safe-mode = Надежден режим
+
+show-dir-label =
+ { PLATFORM() ->
+ [macos] Показване във Finder
+ [windows] Отваряне на папката
+ *[other] Отваряне на папката
+ }
+modified-key-prefs-title = Важни променени настройки
+modified-prefs-name = Наименование
+modified-prefs-value = Стойност
+user-js-title = Настройки от user.js
+user-js-description = Папката с вашия профил съдържа файла <a data-l10n-name="user-js-link">user.js</a>, в който има потребителски, не създадени от { -brand-short-name } настройки.
+locked-key-prefs-title = Важни заключени настройки
+locked-prefs-name = Наименование
+locked-prefs-value = Стойност
+graphics-title = Изчертаване
+graphics-features-title = Възможности
+graphics-diagnostics-title = Диагностика
+graphics-failure-log-title = Журнал на грешките
+graphics-gpu1-title = GPU #1
+graphics-gpu2-title = GPU #2
+graphics-decision-log-title = Журнал на решенията
+graphics-crash-guards-title = Изключени възможности на защитата от сривове
+graphics-workarounds-title = Заобикаляния
+place-database-title = База от данни на Places
+place-database-integrity = Цялост
+place-database-verify-integrity = Проверка на целостта
+a11y-title = Достъпност
+a11y-activated = Включено
+a11y-force-disabled = Предотвратяване на достъпност
+a11y-handler-used = Използвано устройство
+a11y-instantiator = Изпълним файл
+library-version-title = Версии на библиотеки
+copy-text-to-clipboard-label = Копиране на текста в системния буфер
+copy-raw-data-to-clipboard-label = Копиране на сурови данни в системния буфер
+sandbox-title = Виртуална среда
+sandbox-sys-call-log-title = Отхвърлени системни извиквания
+sandbox-sys-call-index = №
+sandbox-sys-call-age = Време
+sandbox-sys-call-pid = PID
+sandbox-sys-call-tid = TID
+sandbox-sys-call-proc-type = Вид процес
+sandbox-sys-call-number = Syscall
+sandbox-sys-call-args = Аргументи
+clear-startup-cache-title = Опитайте да изчистите междинната памет за стартиране
+
+## Media titles
+
+audio-backend = Аудио хардуер
+max-audio-channels = Максимален брой канали
+sample-rate = Предпочитана честота на дискретизацията
+media-title = Медия
+media-output-devices-title = Изходни устройства
+media-input-devices-title = Входни устройства
+media-device-name = Наименование
+media-device-group = Група
+media-device-vendor = Производител
+media-device-state = Състояние
+media-device-preferred = Предпочитано
+media-device-format = Формат
+media-device-channels = Канали
+media-device-rate = Честота
+media-device-latency = Закъснение
+
+## Codec support table
+
+##
+
+intl-title = Интернационализиране и локализация
+intl-app-title = Настройки на приложението
+intl-locales-requested = Искани локали
+intl-locales-available = Налични локали
+intl-locales-supported = Локали на приложението
+intl-locales-default = Локал по подразбиране
+intl-os-title = Настройки на операционната система
+intl-os-prefs-system-locales = Системен локал
+intl-regional-prefs = Местни настройки
+
+## Remote Debugging
+##
+## The Firefox remote protocol provides low-level debugging interfaces
+## used to inspect state and control execution of documents,
+## browser instrumentation, user interaction simulation,
+## and for subscribing to browser-internal events.
+##
+## See also https://firefox-source-docs.mozilla.org/remote/
+
+remote-debugging-title = Отдалечено отстраняване на грешки (Chromium Protocol)
+remote-debugging-accepting-connections = Приемане на връзки
+remote-debugging-url = Адрес
+
+##
+
+# Variables
+# $days (Integer) - Number of days of crashes to log
+report-crash-for-days =
+ { $days ->
+ [one] Доклади за сривовете през последния { $days } ден
+ *[other] Доклади за сривовете през последните { $days } дена
+ }
+
+# Variables
+# $minutes (integer) - Number of minutes since crash
+crashes-time-minutes =
+ { $minutes ->
+ [one] преди { $minutes } минута
+ *[other] преди { $minutes } минути
+ }
+
+# Variables
+# $hours (integer) - Number of hours since crash
+crashes-time-hours =
+ { $hours ->
+ [one] преди { $hours } час
+ *[other] преди { $hours } часа
+ }
+
+# Variables
+# $days (integer) - Number of days since crash
+crashes-time-days =
+ { $days ->
+ [one] преди { $days } ден
+ *[other] преди { $days } дена
+ }
+
+# Variables
+# $reports (integer) - Number of pending reports
+pending-reports =
+ { $reports ->
+ [one] Всички доклади за сривове (включително { $reports } изчакващ срив в дадения времеви диапазон)
+ *[other] Всички доклади за сривове (включително { $reports } изчакващи срива в дадения времеви диапазон)
+ }
+
+raw-data-copied = Суровите данни са копирани в системния буфер
+text-copied = Текстът е копиран в системния буфер
+
+## The verb "blocked" here refers to a graphics feature such as "Direct2D" or "OpenGL layers".
+
+blocked-driver = Блокирано за конкретната версия на вашия графичен драйвер.
+blocked-gfx-card = Вашата графична карта е блокирана поради неразрешени проблеми с драйвера.
+blocked-os-version = Блокирано за конкретната версия на вашата операционна система.
+blocked-mismatched-version = Блокирано поради несъответствие във версията на графичен драйвер между системния регистър и DLL.
+# Variables
+# $driverVersion - The graphics driver version string
+try-newer-driver = Вашият графичен драйвер е блокиран. Опитайте да обновите драйвера си до версия { $driverVersion } или по-нова.
+
+# "ClearType" is a proper noun and should not be translated. Feel free to leave English strings if
+# there are no good translations, these are only used in about:support
+clear-type-parameters = Параметри на ClearType
+
+compositing = Сглобяване
+hardware-h264 = Хардуерно декодиране на H264
+main-thread-no-omtc = главна нишка, без OMTC
+yes = Да
+no = Не
+virtual-monitor-disp = Виртуален монитор
+
+## The following strings indicate if an API key has been found.
+## In some development versions, it's expected for some API keys that they are
+## not found.
+
+found = Наличен
+missing = Липсващ
+
+gpu-process-pid = GPUProcessPid
+gpu-process = GPUProcess
+gpu-description = Описание
+gpu-vendor-id = ID на производител
+gpu-device-id = ID на устройство
+gpu-subsys-id = ID на подсистема
+gpu-drivers = Драйвери
+gpu-ram = RAM
+gpu-driver-vendor = Производител на драйвера
+gpu-driver-version = Версия на драйвера
+gpu-driver-date = Дата на драйвера
+gpu-active = Включен
+webgl1-wsiinfo = Информация за WSI на драйвера за WebGL 1
+webgl1-renderer = Рендер на драйвера за WebGL 1
+webgl1-version = Версия на драйвера за WebGL 1
+webgl1-driver-extensions = Разширения на драйвера за WebGL 1
+webgl1-extensions = Разширения на WebGL 1
+webgl2-wsiinfo = Информация за WSI на драйвера за WebGL 2
+webgl2-renderer = Рендер на драйвера за WebGL 2
+webgl2-version = Версия на драйвера за WebGL 2
+webgl2-driver-extensions = Разширения на драйвера за WebGL 2
+webgl2-extensions = Разширения на WebGL 2
+
+# Variables
+# $failureCode (string) - String that can be searched in the source tree.
+unknown-failure = В списъка на блокираните: код на грешка { $failureCode }
+
+d3d11layers-crash-guard = Сглобяване с D3D11
+glcontext-crash-guard = OpenGL
+
+reset-on-next-restart = Анулиране при следващото рестартиране
+gpu-process-kill-button = Прекъсване на процес на GPU
+gpu-device-reset = Нулиране на устройството
+gpu-device-reset-button = Нулиране на устройството
+uses-tiling = Използване на повтарящо се изображение
+content-uses-tiling = Използване на повтарящо се изображение (за съдържанието)
+off-main-thread-paint-enabled = Изчертаване в отделна нишка включено
+off-main-thread-paint-worker-count = Брой сервизни нишки, изчертаващи в отделна нишка
+target-frame-rate = Целева честота на кадрите
+
+min-lib-versions = Очаквана минимална версия
+loaded-lib-versions = Използвана версия
+
+has-seccomp-bpf = Seccomp-BPF (филтриране на системни извиквания)
+has-seccomp-tsync = Синхронизиране на нишката на Seccomp
+has-user-namespaces = Потребителски пространства от имена
+has-privileged-user-namespaces = Потребителски пространства от имена за привилегировани процеси
+can-sandbox-content = Изолиране на процес за съдържанието във виртуална среда
+can-sandbox-media = Отделяне на медийна приставка във виртуална среда
+content-sandbox-level = Степен на изолация на процес за съдържание
+effective-content-sandbox-level = Ефективна степен на изолация на процес за съдържание
+sandbox-proc-type-content = съдържание
+sandbox-proc-type-file = съдържание на файл
+sandbox-proc-type-media-plugin = приставка за медия
+
+# Variables
+# $remoteWindows (integer) - Number of remote windows
+# $totalWindows (integer) - Number of total windows
+multi-process-windows = { $remoteWindows }/{ $totalWindows }
+
+async-pan-zoom = Асинхронно преместване / мащабиране
+apz-none = няма
+wheel-enabled = използване на колелцето на мишката
+touch-enabled = използване на интерфейса с докосвания
+drag-enabled = използване на лентата за плъзгане
+keyboard-enabled = клавиатура влкючена
+autoscroll-enabled = автоматично прелистване включено
+
+## Variables
+## $preferenceKey (string) - String ID of preference
+
+wheel-warning = асинхронното използване на колелцето на мишката е изключено заради неподдържана настройка: { $preferenceKey }
+touch-warning = асинхронното използване на интерфейс с докосвания е изключено заради неподдържана настройка: { $preferenceKey }
+
+## Strings representing the status of the Enterprise Policies engine.
+
+policies-inactive = Изключени
+policies-active = Включено
+policies-error = Грешка
+
+## Printing section
+
+
+## Normandy sections
+
diff --git a/l10n-bg/toolkit/toolkit/about/aboutTelemetry.ftl b/l10n-bg/toolkit/toolkit/about/aboutTelemetry.ftl
new file mode 100644
index 0000000000..fc0ca8fc18
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/about/aboutTelemetry.ftl
@@ -0,0 +1,117 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+about-telemetry-ping-data-source = Източник на данните в пакета:
+about-telemetry-show-archived-ping-data = Архивни данни
+about-telemetry-show-subsession-data = Показване на подробни данни
+about-telemetry-choose-ping = Избиране на пакет:
+about-telemetry-archive-ping-type = Вид на пакета
+about-telemetry-archive-ping-header = Пакет
+about-telemetry-option-group-today = Днес
+about-telemetry-option-group-yesterday = Вчера
+about-telemetry-option-group-older = По-стари
+about-telemetry-previous-ping = <<
+about-telemetry-next-ping = >>
+about-telemetry-page-title = Данни за Телеметрията
+about-telemetry-more-information = Търсите повече информация?
+about-telemetry-firefox-data-doc = <a data-l10n-name="data-doc-link">Документацията за данни от Firefox</a> съдържа напътствия как да боравите с нашите инструменти за данни.
+about-telemetry-telemetry-client-doc = <a data-l10n-name="client-doc-link">Документацията за клиент на Телеметрията на FIrefox</a> съдържа дефинициите за концепции, документация за ППИ и наръчници за данни.
+about-telemetry-telemetry-dashboard = На <a data-l10n-name="dashboard-link">Таблата на Телеметрията</a> се изобразяват данните, които Mozilla получава от Телеметрията.
+about-telemetry-show-in-Firefox-json-viewer = Отваряне за преглед на JSON
+about-telemetry-home-section = Начало
+about-telemetry-general-data-section = Основни данни
+about-telemetry-environment-data-section = Данни за обкръжението
+about-telemetry-session-info-section = Системна информация
+about-telemetry-scalar-section = Скалари
+about-telemetry-keyed-scalar-section = Keyed скалари
+about-telemetry-histograms-section = Хистограми
+about-telemetry-keyed-histogram-section = Небалансирани хистограми
+about-telemetry-events-section = Събития
+about-telemetry-simple-measurements-section = Прости измервания
+about-telemetry-slow-sql-section = Бавни SQL-заявки
+about-telemetry-addon-details-section = Подробности за добавки
+about-telemetry-late-writes-section = Късни записи
+about-telemetry-raw-payload-section = Полезен товар в суров вид
+about-telemetry-raw = Необработен JSON
+about-telemetry-full-sql-warning = ВАЖНО: Записването на бавните SQL заявки е разрешено. Пълните заявки може и да бъдат показани, но те НЕ СЕ изпращат по телеметрията.
+about-telemetry-fetch-stack-symbols = Вземане имената на функциите от стековете
+about-telemetry-hide-stack-symbols = Сурови данни на стека
+# Selects the correct release version
+# Variables:
+# $channel (String): represents the corresponding release data string
+about-telemetry-data-type =
+ { $channel ->
+ [release] данни за стабилно издание
+ *[prerelease] данни за изпитателно издание
+ }
+# Selects the correct upload string
+# Variables:
+# $uploadcase (String): represents a corresponding upload string
+about-telemetry-upload-type =
+ { $uploadcase ->
+ [enabled] включено
+ *[disabled] изключено
+ }
+# Variables:
+# $telemetryServerOwner (String): the value of the toolkit.telemetry.server_owner preference. Typically "Mozilla"
+about-telemetry-page-subtitle = Тази страница показва информация за производителността, хардуера, използването и настройките, събрани от Телеметрия. Информацията се изпраща до { $telemetryServerOwner } с цел подобряване на { -brand-full-name }.
+about-telemetry-settings-explanation = Телеметрията събира { about-telemetry-data-type } като изпращането им е <a data-l10n-name="upload-link">{ about-telemetry-upload-type }</a>.
+# Variables:
+# $name (String): ping name, e.g. “saved-session”
+# $timeStamp (String): ping localized timestamp, e.g. “2017/07/08 10:40:46”
+about-telemetry-ping-details = Всяко парче информация бива изпращано под формата на „<a data-l10n-name="ping-link">пакети</a>“. В момента разглеждате пакет { $name }, { $timestamp }.
+# string used as a placeholder for the search field
+# More info about it can be found here:
+# https://firefox-source-docs.mozilla.org/toolkit/components/telemetry/telemetry/data/main-ping.html
+# Variables:
+# $selectedTitle (String): the section name from the structure of the ping.
+about-telemetry-filter-placeholder =
+ .placeholder = Търсене в { $selectedTitle }
+about-telemetry-filter-all-placeholder =
+ .placeholder = Търсене във всички секции
+# Variables:
+# $searchTerms (String): the searched terms
+about-telemetry-results-for-search = Резултати за „{ $searchTerms }“
+# More info about it can be found here: https://firefox-source-docs.mozilla.org/toolkit/components/telemetry/telemetry/data/main-ping.html
+# Variables:
+# $sectionName (String): the section name from the structure of the ping.
+# $currentSearchText (String): the current text in the search input
+about-telemetry-no-search-results = Съжаляваме! В { $sectionName } няма резултати за „{ $currentSearchText }“
+# Variables:
+# $searchTerms (String): the searched terms
+about-telemetry-no-search-results-all = Съжаляваме! В нито една секция няма резултати за „{ $searchTerms }“
+# This message is displayed when a section is empty.
+# Variables:
+# $sectionName (String): is replaced by the section name.
+about-telemetry-no-data-to-display = Съжаляваме! В секция „{ $sectionName }“ няма данни
+# used in the “Ping Type” select
+about-telemetry-telemetry-ping-type-all = всички
+# button label to copy the histogram
+about-telemetry-histogram-copy = Копиране
+# these strings are used in the “Slow SQL Statements” section
+about-telemetry-slow-sql-main = Бавни заявки на SQL в основната нишка
+about-telemetry-slow-sql-other = Бавни заявки на SQL в помощните нишки
+about-telemetry-slow-sql-hits = Попадения
+about-telemetry-slow-sql-average = Средно време (ms)
+about-telemetry-slow-sql-statement = Заявка
+# these strings are used in the “Add-on Details” section
+about-telemetry-addon-table-id = Идентификатор на добавка
+about-telemetry-addon-table-details = Подробности
+# Variables:
+# $addonProvider (String): the name of an Add-on Provider (e.g. “XPI”, “Plugin”)
+about-telemetry-addon-provider = { $addonProvider } доставчик
+about-telemetry-keys-header = Свойство
+about-telemetry-names-header = Наименование
+about-telemetry-values-header = Стойност
+# Variables:
+# $lateWriteCount (Integer): the number of the late writes
+about-telemetry-late-writes-title = Късен запис № { $lateWriteCount }
+about-telemetry-stack-title = Стек:
+about-telemetry-memory-map-title = Карта на паметта:
+about-telemetry-error-fetching-symbols = Грешка при извличане на символите. Проверете дали сте свързани към Интернет и опитайте отново.
+about-telemetry-time-stamp-header = времеви маркер
+about-telemetry-category-header = категория
+about-telemetry-method-header = метод
+about-telemetry-object-header = обект
+about-telemetry-extra-header = допълнително
diff --git a/l10n-bg/toolkit/toolkit/about/aboutThirdParty.ftl b/l10n-bg/toolkit/toolkit/about/aboutThirdParty.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/about/aboutThirdParty.ftl
@@ -0,0 +1,3 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/l10n-bg/toolkit/toolkit/about/aboutWebauthn.ftl b/l10n-bg/toolkit/toolkit/about/aboutWebauthn.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/about/aboutWebauthn.ftl
@@ -0,0 +1,3 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/l10n-bg/toolkit/toolkit/about/aboutWebrtc.ftl b/l10n-bg/toolkit/toolkit/about/aboutWebrtc.ftl
new file mode 100644
index 0000000000..0fb48e79d6
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/about/aboutWebrtc.ftl
@@ -0,0 +1,197 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### Localization for about:webrtc, a troubleshooting and diagnostic page
+### for WebRTC calls. See https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API.
+
+# The text "WebRTC" is a proper noun and should not be translated.
+about-webrtc-document-title = WebRTC
+
+# "about:webrtc" is a internal browser URL and should not be
+# translated. This string is used as a title for a file save dialog box.
+about-webrtc-save-page-dialog-title = запазване на about:webrtc като
+
+## These labels are for a disclosure which contains the information for closed PeerConnection sections
+
+
+## AEC is an abbreviation for Acoustic Echo Cancellation.
+
+about-webrtc-aec-logging-msg-label = Журнал на AEC
+about-webrtc-aec-logging-off-state-label = Активиране журнал на AEC
+about-webrtc-aec-logging-on-state-label = Спиране журнал на AEC
+about-webrtc-aec-logging-on-state-msg = Активен журнал на AEC (разговор с обаждащия се за няколко минути и след това спиране на журнала)
+
+about-webrtc-aec-logging-toggled-on-state-msg = Активен журнал на AEC (разговор с обаждащия се за няколко минути и след това спиране на журнала)
+# Variables:
+# $path (String) - The path to which the aec log file is saved.
+about-webrtc-aec-logging-toggled-off-state-msg = Журналните файлове могат да бъдат намерени в: { $path }
+
+##
+
+
+# "PeerConnection" is a proper noun associated with the WebRTC module. "ID" is
+# an abbreviation for Identifier. This string should not normally be translated
+# and is used as a data label.
+about-webrtc-peerconnection-id-label = PeerConnection ID:
+
+## "SDP" is an abbreviation for Session Description Protocol, an IETF standard.
+## See http://wikipedia.org/wiki/Session_Description_Protocol
+
+about-webrtc-sdp-heading = SDP
+about-webrtc-local-sdp-heading = Локален SDP
+about-webrtc-local-sdp-heading-offer = Локален SDP (Предложение)
+about-webrtc-local-sdp-heading-answer = Локален SDP (Отговор)
+about-webrtc-remote-sdp-heading = Отдалечен SDP
+about-webrtc-remote-sdp-heading-offer = Отдалечен SDP (Предложение)
+about-webrtc-remote-sdp-heading-answer = Отдалечен SDP (Отговор)
+
+##
+
+# "RTP" is an abbreviation for the Real-time Transport Protocol, an IETF
+# specification, and should not normally be translated. "Stats" is an
+# abbreviation for Statistics.
+about-webrtc-rtp-stats-heading = Статистика на RTP
+
+## "ICE" is an abbreviation for Interactive Connectivity Establishment, which
+## is an IETF protocol, and should not normally be translated.
+
+about-webrtc-ice-state = Състояние на ICE
+# "Stats" is an abbreviation for Statistics.
+about-webrtc-ice-stats-heading = Статистика на ICE
+about-webrtc-ice-restart-count-label = Рестарта на ICE:
+about-webrtc-ice-rollback-count-label = Откази на ICE:
+about-webrtc-ice-pair-bytes-sent = Байта изпратени:
+about-webrtc-ice-pair-bytes-received = Байта получени:
+about-webrtc-ice-component-id = Идентификатор на компонент
+
+## These adjectives are used to label a line of statistics collected for a peer
+## connection. The data represents either the local or remote end of the
+## connection.
+
+about-webrtc-type-local = Локален
+about-webrtc-type-remote = Отдалечен
+
+##
+
+# This adjective is used to label a table column. Cells in this column contain
+# the localized javascript string representation of "true" or are left blank.
+about-webrtc-nominated = Номинирано
+
+# This adjective is used to label a table column. Cells in this column contain
+# the localized javascript string representation of "true" or are left blank.
+# This represents an attribute of an ICE candidate.
+about-webrtc-selected = Избрано
+
+about-webrtc-save-page-label = Запазване на страницата
+about-webrtc-debug-mode-msg-label = Режим на дебъгване
+about-webrtc-debug-mode-off-state-label = Активиране режим на дебъгване
+about-webrtc-debug-mode-on-state-label = Спиране режим на дебъгване
+about-webrtc-stats-heading = Статистика за сесията
+about-webrtc-stats-clear = Изчистване на историята
+about-webrtc-log-heading = Журнал на свързването
+about-webrtc-log-clear = Изчистване на журнала
+about-webrtc-log-show-msg = показване на журнал
+ .title = щракнете, за да разширите раздела
+about-webrtc-log-hide-msg = скриване на журнал
+ .title = щракнете, за да свиете раздела
+
+about-webrtc-log-section-show-msg = Показване на журнал
+ .title = Щракнете, за да разширите раздела
+about-webrtc-log-section-hide-msg = Скриване на журнал
+ .title = Щракнете, за да свиете раздела
+
+## These are used to display a header for a PeerConnection.
+## Variables:
+## $browser-id (Number) - A numeric id identifying the browser tab for the PeerConnection.
+## $id (String) - A globally unique identifier for the PeerConnection.
+## $url (String) - The url of the site which opened the PeerConnection.
+## $now (Date) - The JavaScript timestamp at the time the report was generated.
+
+about-webrtc-connection-open = [ { $browser-id } | { $id } ] { $url } { $now }
+about-webrtc-connection-closed = [ { $browser-id } | { $id } ] { $url } (затворена) { $now }
+
+## These are used to indicate what direction media is flowing.
+## Variables:
+## $codecs - a list of media codecs
+
+
+##
+
+about-webrtc-local-candidate = Локален кандидат
+about-webrtc-remote-candidate = Отдалечен кандидат
+about-webrtc-raw-candidates-heading = Всички сурови кандидати
+about-webrtc-raw-local-candidate = Сурови местни кандидати
+about-webrtc-raw-remote-candidate = Сурови отдалечени кандидати
+about-webrtc-raw-cand-show-msg = показване сурови кандидати
+ .title = щракнете, за да разширите раздела
+about-webrtc-raw-cand-hide-msg = скриване сурови кандидати
+ .title = щракнете, за да свиете раздела
+about-webrtc-raw-cand-section-show-msg = Показване сурови кандидати
+ .title = Щракнете, за да разширите раздела
+about-webrtc-raw-cand-section-hide-msg = Скриване сурови кандидати
+ .title = Щракнете, за да свиете раздела
+about-webrtc-priority = Приоритет
+about-webrtc-fold-show-msg = подробности
+ .title = щракнете, за да разширите раздела
+about-webrtc-fold-hide-msg = без подробности
+ .title = щракнете, за да свиете раздела
+about-webrtc-fold-default-show-msg = Подробности
+ .title = Щракнете, за да разширите раздела
+about-webrtc-fold-default-hide-msg = Без подробности
+ .title = Щракнете, за да свиете раздела
+about-webrtc-decoder-label = Декодер
+about-webrtc-encoder-label = Кодер
+
+## SSRCs are identifiers that represent endpoints in an RTP stream
+
+
+## These are displayed on the button that shows or hides the
+## PeerConnection configuration disclosure
+
+
+##
+
+
+## These are paths used for saving the about:webrtc page or log files so
+## they can be attached to bug reports.
+## Variables:
+## $path (String) - The path to which the file is saved.
+
+about-webrtc-save-page-msg = страницата е запазена в: { $path }
+about-webrtc-debug-mode-off-state-msg = журналът на дебъгването може да бъде намерен в: { $path }
+about-webrtc-debug-mode-on-state-msg = активиран режим на дебъгване, журнал на дебъгването в: { $path }
+about-webrtc-aec-logging-off-state-msg = журналните файлове могат да бъдат намерени в: { $path }
+
+about-webrtc-save-page-complete-msg = Страницата е запазена в: { $path }
+about-webrtc-debug-mode-toggled-off-state-msg = Журналът на дебъгването може да бъде намерен в: { $path }
+about-webrtc-debug-mode-toggled-on-state-msg = Активиран режим на дебъгване, журнал на дебъгването в: { $path }
+
+##
+
+# Jitter is the variance in the arrival time of packets.
+# See: https://w3c.github.io/webrtc-stats/#dom-rtcreceivedrtpstreamstats-jitter
+# Variables:
+# $jitter (Number) - The jitter.
+about-webrtc-jitter-label = колебания { $jitter }
+
+# ICE candidates arriving after the remote answer arrives are considered trickled
+# (an attribute of an ICE candidate). These are highlighted in the ICE stats
+# table with light blue background.
+about-webrtc-trickle-caption-msg = Забавилите се кандидати (дошли след отговора) за оцветени в синьо
+
+## "SDP" is an abbreviation for Session Description Protocol, an IETF standard.
+## See http://wikipedia.org/wiki/Session_Description_Protocol
+
+
+## These are displayed on the button that shows or hides the SDP information disclosure
+
+
+## These are displayed on the button that shows or hides the Media Context information disclosure.
+## The Media Context is the set of preferences and detected capabilities that informs
+## the negotiated CODEC settings.
+
+
+##
+
diff --git a/l10n-bg/toolkit/toolkit/about/aboutWindowsMessages.ftl b/l10n-bg/toolkit/toolkit/about/aboutWindowsMessages.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/about/aboutWindowsMessages.ftl
@@ -0,0 +1,3 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/l10n-bg/toolkit/toolkit/about/abuseReports.ftl b/l10n-bg/toolkit/toolkit/about/abuseReports.ftl
new file mode 100644
index 0000000000..1a684034b4
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/about/abuseReports.ftl
@@ -0,0 +1,29 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Panel buttons.
+
+
+## Message bars descriptions.
+
+
+## Variables:
+## $addon-name (string) - Name of the add-on
+
+
+## Message bars descriptions.
+##
+## Variables:
+## $addon-name (string) - Name of the add-on
+
+## Message bars actions.
+
+
+## Abuse report reasons (optionally paired with related examples and/or suggestions)
+
+abuse-report-settings-suggestions = Преди да подадете сигнал за разширението опитайте да промените настройките му:
+
+abuse-report-broken-example = Пример: Функциите са бавни, трудни за използване или не работят; части от уебсайтове не се зареждат или изглеждат необичайно
+
diff --git a/l10n-bg/toolkit/toolkit/about/certviewer.ftl b/l10n-bg/toolkit/toolkit/about/certviewer.ftl
new file mode 100644
index 0000000000..12d6cc2d3f
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/about/certviewer.ftl
@@ -0,0 +1,21 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Error messages
+
+
+## Certificate information labels
+
+
+## Variables:
+## $fileName (String) - The file name to save the PEM data in, derived from the common name from the certificate being displayed.
+
+
+##
+
+
+## Labels for tabs displayed in stand-alone about:certificate page
+
+certificate-viewer-tab-servers = Сървъри
diff --git a/l10n-bg/toolkit/toolkit/about/config.ftl b/l10n-bg/toolkit/toolkit/about/config.ftl
new file mode 100644
index 0000000000..f11f91ac8d
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/about/config.ftl
@@ -0,0 +1,53 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## These strings appear on the warning you see when first visiting about:config.
+
+about-config-intro-warning-title = Продължете с повишено внимание
+about-config-intro-warning-text = Промяната на разширените настройки може да повлияе на бързодействието или сигурността на { -brand-short-name }.
+about-config-intro-warning-checkbox = Повторно предупреждаване при отваряне на тези настройки
+about-config-intro-warning-button = Продължаване въпреки риска
+
+##
+
+# This is shown on the page before searching but after the warning is accepted.
+about-config-caution-text = Промяната на тези настройки може да повлияе на бързодействието или сигурността на { -brand-short-name }.
+
+about-config-page-title = Разширени настройки
+
+about-config-search-input1 =
+ .placeholder = Търсене в настройките
+about-config-show-all = Показване на всички
+
+about-config-pref-add-button =
+ .title = Добавяне
+about-config-pref-toggle-button =
+ .title = Превключване
+about-config-pref-edit-button =
+ .title = Променяне
+about-config-pref-save-button =
+ .title = Запазване
+about-config-pref-reset-button =
+ .title = Нулиране
+about-config-pref-delete-button =
+ .title = Изтриване
+
+## Labels for the type selection radio buttons shown when adding preferences.
+
+about-config-pref-add-type-boolean = Булева
+about-config-pref-add-type-number = Число
+about-config-pref-add-type-string = Низ
+
+## Preferences with a non-default value are differentiated visually, and at the
+## same time the state is made accessible to screen readers using an aria-label
+## that won't be visible or copied to the clipboard.
+##
+## Variables:
+## $value (String): The full value of the preference.
+
+about-config-pref-accessible-value-default =
+ .aria-label = { $value } (по подразбиране)
+about-config-pref-accessible-value-custom =
+ .aria-label = { $value } (персонализирано)
diff --git a/l10n-bg/toolkit/toolkit/about/url-classifier.ftl b/l10n-bg/toolkit/toolkit/about/url-classifier.ftl
new file mode 100644
index 0000000000..cc86e80e4c
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/about/url-classifier.ftl
@@ -0,0 +1,58 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+url-classifier-title = Информация за класификатора на URL
+url-classifier-search-title = Търсене
+url-classifier-search-result-title = Резултати
+url-classifier-search-result-uri = Адрес: { $uri }
+url-classifier-search-result-list = Списък на таблици: { $list }
+url-classifier-search-input = Адрес
+url-classifier-search-error-invalid-url = Неправилен адрес
+url-classifier-search-error-no-features = Няма избрани възможности
+url-classifier-search-btn = Започнете да търсите
+url-classifier-search-features = Възможности
+url-classifier-search-listType = Вид на списъка
+url-classifier-provider-title = Доставчик
+url-classifier-provider = Доставчик
+url-classifier-provider-last-update-time = Последно обновяване
+url-classifier-provider-next-update-time = Следващо обновяване
+url-classifier-provider-back-off-time = Време за премахване на елемент
+url-classifier-provider-last-update-status = Състояние на последното обновяване
+url-classifier-provider-update-btn = Обновяване
+url-classifier-cache-title = Склад за данни
+url-classifier-cache-refresh-btn = Опресняване
+url-classifier-cache-clear-btn = Изчистване
+url-classifier-cache-table-name = Име на таблица
+url-classifier-cache-ncache-entries = Брой на отрицателни записи в склада
+url-classifier-cache-pcache-entries = Брой на положителни записи в склада
+url-classifier-cache-show-entries = Показване на записите
+url-classifier-cache-entries = Записи в склада
+url-classifier-cache-prefix = Представка
+url-classifier-cache-ncache-expiry = Срок за съхранение в отрицателния склад
+url-classifier-cache-fullhash = Пълен хеш
+url-classifier-cache-pcache-expiry = Срок за съхранение в положителния склад
+url-classifier-debug-title = Отстраняване на дефекти
+url-classifier-debug-module-btn = Задаване на модули за журнала
+url-classifier-debug-file-btn = Задаване на файлове за журнала
+url-classifier-debug-js-log-chk = Задаване журнал за JS
+url-classifier-debug-sb-modules = Модули за журнала при безопасно разглеждане
+url-classifier-debug-modules = Текущи модули за журнала
+url-classifier-debug-sbjs-modules = Журнал на JS при безопасно разглеждане
+url-classifier-debug-file = Текущ файл на журнала
+
+url-classifier-trigger-update = Пускане на обновяване
+url-classifier-not-available = липсва
+url-classifier-disable-sbjs-log = Изключване на журнала на JS при безопасно разглеждане
+url-classifier-enable-sbjs-log = Включване на журнала на JS при безопасно разглеждане
+url-classifier-enabled = Включено
+url-classifier-disabled = Изключено
+url-classifier-updating = обновяване
+url-classifier-cannot-update = грешка при обновяване
+url-classifier-success = успешно
+
+## Variables
+## $error (string) - Error message
+
+url-classifier-update-error = грешка при обновяване ({ $error })
+url-classifier-download-error = грешка при изтегляне ({ $error })
diff --git a/l10n-bg/toolkit/toolkit/branding/accounts.ftl b/l10n-bg/toolkit/toolkit/branding/accounts.ftl
new file mode 100644
index 0000000000..c6166da9fd
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/branding/accounts.ftl
@@ -0,0 +1,7 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# “Account” can be localized, “Firefox” must be treated as a brand,
+# and kept in English.
+-fxaccount-brand-name = Firefox Account
diff --git a/l10n-bg/toolkit/toolkit/branding/brandings.ftl b/l10n-bg/toolkit/toolkit/branding/brandings.ftl
new file mode 100644
index 0000000000..416a4cdc1f
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/branding/brandings.ftl
@@ -0,0 +1,45 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## The following feature names must be treated as a brand.
+##
+## They cannot be:
+## - Transliterated.
+## - Translated.
+##
+## Declension should be avoided where possible, leaving the original
+## brand unaltered in prominent UI positions.
+##
+## For further details, consult:
+## https://mozilla-l10n.github.io/styleguides/mozilla_general/#brands-copyright-and-trademark
+
+-facebook-container-brand-name = Facebook Container
+-lockwise-brand-name = Firefox Lockwise
+-lockwise-brand-short-name = Lockwise
+-monitor-brand-name = Firefox Monitor
+-monitor-brand-short-name = Monitor
+-pocket-brand-name = Pocket
+-send-brand-name = Firefox Send
+-screenshots-brand-name = Firefox Screenshots
+-mozilla-vpn-brand-name = Mozilla VPN
+-profiler-brand-name = Firefox Profiler
+-translations-brand-name = Firefox Translations
+-focus-brand-name = Firefox Focus
+
+-relay-brand-name = Firefox Relay
+-relay-brand-short-name = Relay
+
+# “Suggest” can be localized, “Firefox” must be treated as a brand
+# and kept in English.
+-firefox-suggest-brand-name = Предложение от Firefox
+
+# ”Home" can be localized, “Firefox” must be treated as a brand
+# and kept in English.
+-firefox-home-brand-name = Начална страница на Firefox
+
+# View" can be localized, “Firefox” must be treated as a brand
+# and kept in English.
+-firefoxview-brand-name = Преглед от Firefox
+
diff --git a/l10n-bg/toolkit/toolkit/contentanalysis/contentanalysis.ftl b/l10n-bg/toolkit/toolkit/contentanalysis/contentanalysis.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/contentanalysis/contentanalysis.ftl
@@ -0,0 +1,3 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/l10n-bg/toolkit/toolkit/downloads/downloadUI.ftl b/l10n-bg/toolkit/toolkit/downloads/downloadUI.ftl
new file mode 100644
index 0000000000..eefa94f4e1
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/downloads/downloadUI.ftl
@@ -0,0 +1,51 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+download-ui-confirm-title = Отмяна на всички изтегляния?
+
+## Variables:
+## $downloadsCount (Number): The current downloads count.
+
+download-ui-confirm-quit-cancel-downloads =
+ { $downloadsCount ->
+ [1] Ако излезете сега, 1 изтегляне ще бъде отменено. Искате ли да го направите?
+ *[other] Ако излезете сега, { $downloadsCount } изтегляния ще бъдат отменени. Искате ли да го направите?
+ }
+download-ui-confirm-quit-cancel-downloads-mac =
+ { $downloadsCount ->
+ [1] Ако напуснете сега, 1 изтегляне ще бъде отменено. Искате ли да го направите?
+ *[other] Ако напуснете сега, { $downloadsCount } изтегляния ще бъдат отменени. Искате ли да го направите?
+ }
+download-ui-dont-quit-button =
+ { PLATFORM() ->
+ [mac] Без напускане
+ *[other] Без излизане
+ }
+
+download-ui-confirm-offline-cancel-downloads =
+ { $downloadsCount ->
+ [1] Ако излезете извън мрежата, 1 изтегляне ще бъде отменено. Искате ли да го направите?
+ *[other] Ако излезете извън мрежата, { $downloadsCount } изтегляния ще бъдат отменени. Искате ли да го направите?
+ }
+download-ui-dont-go-offline-button = Оставане в Мрежата
+
+download-ui-confirm-leave-private-browsing-windows-cancel-downloads =
+ { $downloadsCount ->
+ [1] Ако затворите всички поверителни прозорци, 1 изтегляне ще бъде отказано. Сигурни ли сте, че искате да напуснете поверителното разглеждане?
+ *[other] Ако затворите всички поверителни прозорци, { $downloadsCount } изтегляния ще бъдат отказани. Сигурни ли сте, че искате да напуснете поверителното разглеждане?
+ }
+download-ui-dont-leave-private-browsing-button = Оставане в поверително разглеждане
+
+download-ui-cancel-downloads-ok =
+ { $downloadsCount ->
+ [1] Отмяна на 1 изтегляне
+ *[other] Отмяна на { $downloadsCount } изтегляния
+ }
+
+##
+
+download-ui-file-executable-security-warning-title = Отваряне на изпълним файл?
+# Variables:
+# $executable (String): The executable file to be opened.
+download-ui-file-executable-security-warning = Файлът „{ $executable }“ е изпълним. Възможно е такъв файл да съдържа вируси или друг зловреден код. Бъдете внимателни при отваряне на файлове от такъв вид. Сигурни ли сте, че искате „{ $executable }“ да бъде изпълнен?
diff --git a/l10n-bg/toolkit/toolkit/downloads/downloadUtils.ftl b/l10n-bg/toolkit/toolkit/downloads/downloadUtils.ftl
new file mode 100644
index 0000000000..b1222a2771
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/downloads/downloadUtils.ftl
@@ -0,0 +1,106 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+## Variables:
+## $timeValue (number) - Number of units of time
+
+# Short form for seconds
+download-utils-short-seconds =
+ { $timeValue ->
+ [one] сек.
+ *[other] сек.
+ }
+# Short form for minutes
+download-utils-short-minutes =
+ { $timeValue ->
+ [one] мин.
+ *[other] мин.
+ }
+# Short form for hours
+download-utils-short-hours =
+ { $timeValue ->
+ [one] ч.
+ *[other] ч.
+ }
+# Short form for days
+download-utils-short-days =
+ { $timeValue ->
+ [one] д.
+ *[other] д.
+ }
+
+##
+
+# — is the "em dash" (long dash)
+# example: 4 minutes left — 1.1 of 11.1 GB (2.2 MB/sec)
+# Variables:
+# $timeLeft (String): time left.
+# $transfer (String): transfer progress.
+# $rate (String): rate number.
+# $unit (String): rate unit.
+download-utils-status = { $timeLeft } – { $transfer } ({ $rate } { $unit }/сек.)
+# If download speed is a JavaScript Infinity value, this phrase is used
+# — is the "em dash" (long dash)
+# example: 4 minutes left — 1.1 of 11.1 GB (Really fast)
+# Variables:
+# $timeLeft (String): time left.
+# $transfer (String): transfer progress.
+download-utils-status-infinite-rate = { $timeLeft } – { $transfer } (Наистина бързо)
+# — is the "em dash" (long dash)
+# example: 4 minutes left — 1.1 of 11.1 GB
+# Variables:
+# $timeLeft (String): time left.
+# $transfer (String): transfer progress.
+download-utils-status-no-rate = { $timeLeft } – { $transfer }
+
+download-utils-bytes = байта
+download-utils-kilobyte = КБ
+download-utils-megabyte = МБ
+download-utils-gigabyte = ГБ
+
+# example: 1.1 of 333 MB
+# Variables:
+# $progress (String): progress number.
+# $total (String): total number.
+# $totalUnits (String): total unit.
+download-utils-transfer-same-units = { $progress } от { $total } { $totalUnits }
+# example: 11.1 MB of 3.3 GB
+# Variables:
+# $progress (String): progress number.
+# $progressUnits (String): progress unit.
+# $total (String): total number.
+# $totalUnits (String): total unit.
+download-utils-transfer-diff-units = { $progress } { $progressUnits } от { $total } { $totalUnits }
+# example: 111 KB
+# Variables:
+# $progress (String): progress number.
+# $progressUnits (String): unit.
+download-utils-transfer-no-total = { $progress } { $progressUnits }
+
+# examples: 1m; 11h
+# Variables:
+# $time (String): time number.
+# $unit (String): time unit.
+download-utils-time-pair = { $time } { $unit }
+# examples: 1m left; 11h left
+# Variables:
+# $time (String): time left, including a unit
+download-utils-time-left-single = Остават { $time }
+# examples: 11h 2m left; 1d 22h left
+# Variables:
+# $time1 (String): time left, including a unit
+# $time2 (String): smaller measure of time left, including a unit
+download-utils-time-left-double = Остават { $time1 } { $time2 }
+download-utils-time-few-seconds = Остават няколко секунди
+download-utils-time-unknown = Неизвестно оставащо време
+
+# Variables:
+# $scheme (String): URI scheme like data: jar: about:
+download-utils-done-scheme = ресурс #{ $scheme }
+# Special case of done-scheme for file:
+# This is used as an eTLD replacement for local files, so make it lower case
+download-utils-done-file-scheme = местен файл
+
+# Displayed time for files finished yesterday
+download-utils-yesterday = вчера
diff --git a/l10n-bg/toolkit/toolkit/featuregates/features.ftl b/l10n-bg/toolkit/toolkit/featuregates/features.ftl
new file mode 100644
index 0000000000..3d8c5e784c
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/featuregates/features.ftl
@@ -0,0 +1,13 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# The title of the experiment should be kept in English as it may be referenced
+# by various online articles and is technical in nature.
+experimental-features-css-masonry2 =
+ .label = CSS: Зидарско подреждане
+# The title of the experiment should be kept in English as it may be referenced
+# by various online articles and is technical in nature.
+experimental-features-web-gpu2 =
+ .label = Web API: WebGPU
+experimental-features-ime-search-description = IME (Редактор на метод за въвеждане) е инструмент, който ви позволява да въвеждате сложни символи, като тези, използвани в източноазиатските или индийските писмени езици, като използвате стандартна клавиатура. Активирането на този експеримент ще остави панела на адресната лента отворен, показвайки резултати от търсенето и предложения, докато използва IME за въвеждане на текст. Обърнете внимание, че IME може да показва панел, който покрива резултатите от адресната лента, следователно това предпочитание се препоръчва само за IME, който не използва този тип панел.
diff --git a/l10n-bg/toolkit/toolkit/formautofill/formAutofill.ftl b/l10n-bg/toolkit/toolkit/formautofill/formAutofill.ftl
new file mode 100644
index 0000000000..68dc970cf1
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/formautofill/formAutofill.ftl
@@ -0,0 +1,16 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## OS Prompt Dialog
+
+# The links lead users to Form Autofill browser preferences.
+autofill-options-link = Настройки за попълване на формуляри
+autofill-options-link-osx = Настройки за попълване на формуляри
+
+## The credit card capture doorhanger
+
+
+# Used on the doorhanger when an credit card change is detected.
+
diff --git a/l10n-bg/toolkit/toolkit/global/alert.ftl b/l10n-bg/toolkit/toolkit/global/alert.ftl
new file mode 100644
index 0000000000..9c40c9d2d9
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/global/alert.ftl
@@ -0,0 +1,8 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+alert-close =
+ .tooltiptext = Затваряне на това известие
+alert-settings-title =
+ .tooltiptext = Настройки
diff --git a/l10n-bg/toolkit/toolkit/global/appPicker.ftl b/l10n-bg/toolkit/toolkit/global/appPicker.ftl
new file mode 100644
index 0000000000..58d3a8e56d
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/global/appPicker.ftl
@@ -0,0 +1,10 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+app-picker-browse-button =
+ .buttonlabelextra2 = Разглеждане…
+app-picker-send-msg =
+ .value = Изпращане на този елемент към:
+app-picker-no-app-found =
+ .value = Не са намерени приложения за този вид файл.
diff --git a/l10n-bg/toolkit/toolkit/global/browser-utils.ftl b/l10n-bg/toolkit/toolkit/global/browser-utils.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/global/browser-utils.ftl
@@ -0,0 +1,3 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/l10n-bg/toolkit/toolkit/global/commonDialog.ftl b/l10n-bg/toolkit/toolkit/global/commonDialog.ftl
new file mode 100644
index 0000000000..752cfdf3ee
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/global/commonDialog.ftl
@@ -0,0 +1,10 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+common-dialog-copy-cmd =
+ .label = Копиране
+ .accesskey = К
+common-dialog-select-all-cmd =
+ .label = Избиране на всичко
+ .accesskey = в
diff --git a/l10n-bg/toolkit/toolkit/global/contextual-identity.ftl b/l10n-bg/toolkit/toolkit/global/contextual-identity.ftl
new file mode 100644
index 0000000000..9ceb84ddca
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/global/contextual-identity.ftl
@@ -0,0 +1,29 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Names of the default containers in Firefox.
+## See https://support.mozilla.org/kb/how-use-firefox-containers
+
+user-context-personal =
+ .label = Личен
+ .accesskey = Л
+user-context-work =
+ .label = Служебен
+ .accesskey = С
+user-context-banking =
+ .label = Банкиране
+ .accesskey = Б
+user-context-shopping =
+ .label = Пазаруване
+ .accesskey = П
+
+##
+
+user-context-none =
+ .label = Неизолиран
+ .accesskey = Н
+user-context-manage-containers =
+ .label = Управление на изолатори
+ .accesskey = з
diff --git a/l10n-bg/toolkit/toolkit/global/cookieBannerHandling.ftl b/l10n-bg/toolkit/toolkit/global/cookieBannerHandling.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/global/cookieBannerHandling.ftl
@@ -0,0 +1,3 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/l10n-bg/toolkit/toolkit/global/createProfileWizard.ftl b/l10n-bg/toolkit/toolkit/global/createProfileWizard.ftl
new file mode 100644
index 0000000000..f9fd7e7c5c
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/global/createProfileWizard.ftl
@@ -0,0 +1,53 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+create-profile-window2 =
+ .title = Помощник за създаване на профил
+ .style = min-width: 50em; min-height: 32em;
+
+## First wizard page
+
+create-profile-first-page-header2 =
+ { PLATFORM() ->
+ [macos] Въведение
+ *[other] Добре дошли в { create-profile-window2.title }
+ }
+
+profile-creation-explanation-1 = { -brand-short-name } съхранява информацията за вашите настройки и предпочитания в личния ви профил.
+
+profile-creation-explanation-2 = Ако с други потребители използвате общо копие на { -brand-short-name }, може да използвате отделни профили, за да държите личната си информация отделена. За да стане това, всеки потребител трябва да създаде свой собствен профил.
+
+profile-creation-explanation-3 = Ако само вие използвате това копие на { -brand-short-name } трябва да имате поне един профил. Ако желаете, може да създадете множество профили за себе си, в които да съхранявате различни настройки и предпочитания. Например, да имате различни профили за работа и вкъщи.
+
+profile-creation-explanation-4 =
+ { PLATFORM() ->
+ [macos] За да създадете ваш профил, натиснете „Продължаване“.
+ *[other] За да започнете процес по създаване на профил изберете „Напред“.
+ }
+
+## Second wizard page
+
+create-profile-last-page-header2 =
+ { PLATFORM() ->
+ [macos] Завършване
+ *[other] Завършване на { create-profile-window2.title }
+ }
+
+profile-creation-intro = Ако създадете няколко профила, може да ги разграничавате с различни имена. Използвайте шаблонното име или използвайте свое.
+
+profile-prompt = Име на профила:
+ .accesskey = И
+
+profile-default-name =
+ .value = Текущ потребител
+
+profile-directory-explanation = Вашите потребителски настройки и лични данни ще бъдат запазени в:
+
+create-profile-choose-folder =
+ .label = Избиране на папка…
+ .accesskey = б
+
+create-profile-use-default =
+ .label = Използване на стандартна папка
+ .accesskey = п
diff --git a/l10n-bg/toolkit/toolkit/global/cspErrors.ftl b/l10n-bg/toolkit/toolkit/global/cspErrors.ftl
new file mode 100644
index 0000000000..d702eaf2c7
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/global/cspErrors.ftl
@@ -0,0 +1,32 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Variables:
+# $directive (String): the name of a CSP directive, such as "script-src".
+csp-error-missing-directive = Липсва задължителна директива „{ $directive }“ в политиката.
+
+# Variables:
+# $directive (String): the name of a CSP directive, such as "script-src".
+# $keyword (String): the name of a CSP keyword, usually 'unsafe-inline'.
+csp-error-illegal-keyword = Директивата „{ $directive }“ съдържа забранена ключова дума { $keyword }
+
+# Variables:
+# $directive (String): the name of a CSP directive, such as "script-src".
+# $scheme (String): a protocol name, such as "http", which appears as "http:", as it would in a URL.
+csp-error-illegal-protocol = Директивата „{ $directive }“ съдържа забранен протокол на източника { $scheme }
+
+# Variables:
+# $directive (String): the name of a CSP directive, such as "script-src".
+# $scheme (String): a protocol name, such as "http", which appears as "http:", as it would in a URL.
+csp-error-missing-host = { $scheme }: протоколът изисква хост в директивата „{ $directive }“
+
+# Variables:
+# $directive (String): the name of a CSP directive, such as "script-src".
+# $source (String): the name of a CSP source, usually 'self'.
+csp-error-missing-source = „{ $directive }“ трябва да включва източника { $source }
+
+# Variables:
+# $directive (String): the name of a CSP directive, such as "script-src".
+# $scheme (String): a protocol name, such as "http", which appears as "http:", as it would in a URL.
+csp-error-illegal-host-wildcard = { $scheme }: заместващите знаци в директивата „{ $directive }“ трябва да включва поне един некоренов домейн (напр. *.example.com вместо само *.com)
diff --git a/l10n-bg/toolkit/toolkit/global/datepicker.ftl b/l10n-bg/toolkit/toolkit/global/datepicker.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/global/datepicker.ftl
@@ -0,0 +1,3 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/l10n-bg/toolkit/toolkit/global/datetimebox.ftl b/l10n-bg/toolkit/toolkit/global/datetimebox.ftl
new file mode 100644
index 0000000000..0ec4f2848d
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/global/datetimebox.ftl
@@ -0,0 +1,39 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+## Placeholders for date and time inputs
+
+datetime-year-placeholder = гггг
+datetime-month-placeholder = мм
+datetime-day-placeholder = дд
+datetime-time-placeholder = --
+
+## Field labels for input type=date
+
+datetime-year =
+ .aria-label = Година
+datetime-month =
+ .aria-label = Месец
+datetime-day =
+ .aria-label = Ден
+
+## Field labels for input type=time
+
+datetime-hour =
+ .aria-label = Час
+datetime-minute =
+ .aria-label = Минути
+datetime-second =
+ .aria-label = Секунди
+datetime-millisecond =
+ .aria-label = Милисекунди
+datetime-dayperiod =
+ .aria-label = пр.об./сл.об.
+
+## Calendar button for input type=date
+
+# This label is used by screenreaders and other assistive technology
+# to indicate the purpose of a toggle button inside of the <input type="date">
+# field that opens/closes a date picker calendar dialog
+
diff --git a/l10n-bg/toolkit/toolkit/global/extensionPermissions.ftl b/l10n-bg/toolkit/toolkit/global/extensionPermissions.ftl
new file mode 100644
index 0000000000..078bf2664d
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/global/extensionPermissions.ftl
@@ -0,0 +1,31 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Extension permission description keys are derived from permission names.
+## Permissions for which the message has been changed and the key updated
+## must have a corresponding entry in the `PERMISSION_L10N_ID_OVERRIDES` map.
+
+webext-perms-description-bookmarks = Четене и промяна на отметки
+webext-perms-description-browserSettings = Четене и промяна на настройки на четеца
+webext-perms-description-browsingData = Изчистване на история, бисквитки и свързани данни
+webext-perms-description-clipboardRead = Взимане данни от системния буфер
+webext-perms-description-clipboardWrite = Поставяне на данни в системния буфер
+webext-perms-description-devtools = Разширяване на развойните инструменти да имат достъп до данните ви от отворените раздели
+webext-perms-description-downloads = Изтегляне на файлове, четене и промяна историята на изтеглянията
+webext-perms-description-downloads-open = Отваряне на изтеглените на компютъра файлове
+webext-perms-description-find = Достъп до текста от всички отворени раздели
+webext-perms-description-geolocation = Достъп до местоположението
+webext-perms-description-history = Достъп до историята на разглеждане
+webext-perms-description-management = Следене използването на разширения и управлението на теми
+webext-perms-description-nativeMessaging = Обменяне на съобщения с приложения различни от { -brand-short-name }
+webext-perms-description-notifications = Показване на известия
+webext-perms-description-pkcs11 = Предоставяне на шифровани услуги за упълномощаване
+webext-perms-description-privacy = Четене и промяна на настройките за поверителност
+webext-perms-description-proxy = Управление на настройките на мрежовия посредник
+webext-perms-description-sessions = Достъп до наскоро затворените раздели
+webext-perms-description-tabs = Достъп до разделите
+webext-perms-description-tabHide = Скриване и показване на разделите на четеца
+webext-perms-description-topSites = Достъп до историята на разглеждане
+webext-perms-description-webNavigation = Достъп до действията на четеца по време на разглеждане
diff --git a/l10n-bg/toolkit/toolkit/global/extensions.ftl b/l10n-bg/toolkit/toolkit/global/extensions.ftl
new file mode 100644
index 0000000000..dc5546b84a
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/global/extensions.ftl
@@ -0,0 +1,95 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Headers used in the webextension permissions dialog,
+## See https://bug1308309.bmoattachments.org/attachment.cgi?id=8814612
+## for an example of the full dialog.
+## Note: This string will be used as raw markup. Avoid characters like <, >, &
+## Variables:
+## $extension (String): replaced with the localized name of the extension.
+
+webext-perms-header = Добавяне на „{ $extension }“?
+webext-perms-sideload-header = Добавката „{ $extension }“ е добавена
+webext-perms-optional-perms-header = Добавката „{ $extension }“ иска допълнителни права.
+
+##
+
+webext-perms-add =
+ .label = Добавяне
+ .accesskey = Д
+webext-perms-cancel =
+ .label = Отказ
+ .accesskey = О
+
+webext-perms-sideload-text = Друга програма от компютъра е инсталирала добавка, която може да се отрази на разглеждането. Моля, прегледайте правата на тази добавка и изберете Включване или Отказ (оставя добавката изключена).
+webext-perms-sideload-text-no-perms = Друга програма от компютъра е инсталирала добавка, която може да се отрази на разглеждането. Моля, изберете Включване или Отказ (оставя добавката изключена).
+webext-perms-sideload-enable =
+ .label = Включване
+ .accesskey = В
+webext-perms-sideload-cancel =
+ .label = Отказ
+ .accesskey = О
+
+webext-perms-update-accept =
+ .label = Обновяване
+ .accesskey = О
+
+webext-perms-optional-perms-list-intro = Иска права за:
+webext-perms-optional-perms-allow =
+ .label = Разрешаване
+ .accesskey = р
+webext-perms-optional-perms-deny =
+ .label = Забраняване
+ .accesskey = з
+
+webext-perms-host-description-all-urls = Достъп до вашите данни от всички страници
+
+# Variables:
+# $domain (String): will be replaced by the DNS domain for which a webextension is requesting access (e.g., mozilla.org)
+webext-perms-host-description-wildcard = Достъп до вашите данни от страниците на домейна { $domain }
+
+# Variables:
+# $domainCount (Number): Integer indicating the number of additional
+# hosts for which this webextension is requesting permission.
+webext-perms-host-description-too-many-wildcards =
+ { $domainCount ->
+ [one] Достъп до вашите данни от { $domainCount } друг домейн
+ *[other] Достъп до вашите данни от { $domainCount } други домейна
+ }
+# Variables:
+# $domain (String): will be replaced by the DNS host name for which a webextension is requesting access (e.g., www.mozilla.org)
+webext-perms-host-description-one-site = Достъп до вашите данни от { $domain }
+
+# Variables:
+# $domainCount (Number): Integer indicating the number of additional
+# hosts for which this webextension is requesting permission.
+webext-perms-host-description-too-many-sites =
+ { $domainCount ->
+ [one] Достъп до вашите данни от { $domainCount } друга страница
+ *[other] Достъп до вашите данни от { $domainCount } други страници
+ }
+
+## Headers used in the webextension permissions dialog for synthetic add-ons.
+## The part of the string describing what privileges the extension gives should be consistent
+## with the value of webext-site-perms-description-gated-perms-{sitePermission}.
+## Note, this string will be used as raw markup. Avoid characters like <, >, &
+## Variables:
+## $hostname (String): the hostname of the site the add-on is being installed from.
+
+
+##
+
+
+## Headers used in the webextension permissions dialog.
+## Note: This string will be used as raw markup. Avoid characters like <, >, &
+## Variables:
+## $extension (String): replaced with the localized name of the extension being installed.
+## $hostname (String): will be replaced by the DNS host name for which a webextension enables permissions.
+
+webext-site-perms-header-with-perms = Добавяне на { $extension }? Разширението предоставя следните възможности на { $hostname }:
+webext-site-perms-header-unsigned-with-perms = Добавяне на { $extension }? Разширение не е проверено. Злонамерени разширения могат да откраднат лична информация или да компрометират устройството. Добавяйте само ако имате доверие на източника. Това разширение предоставя следните възможности на { $hostname }:
+
+## These should remain in sync with permissions.NAME.label in sitePermissions.properties
+
diff --git a/l10n-bg/toolkit/toolkit/global/handlerDialog.ftl b/l10n-bg/toolkit/toolkit/global/handlerDialog.ftl
new file mode 100644
index 0000000000..478198435e
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/global/handlerDialog.ftl
@@ -0,0 +1,45 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+## Permission Dialog
+## Variables:
+## $host - the hostname that is initiating the request
+## $scheme - the type of link that's being opened.
+## $appName - Name of the application that will be opened.
+
+
+## Please keep the emphasis around the hostname and scheme (ie the
+## `<strong>` HTML tags). Please also keep the hostname as close to the start
+## of the sentence as your language's grammar allows.
+
+## Permission Dialog
+## Variables:
+## $host (string) - The hostname that is initiating the request
+## $scheme (string) - The type of link that's being opened.
+## $appName (string) - Name of the application that will be opened.
+## $extension (string) - Name of extension that initiated the request
+
+## Please keep the emphasis around the hostname and scheme (ie the
+## `<strong>` HTML tags). Please also keep the hostname as close to the start
+## of the sentence as your language's grammar allows.
+## Variables:
+## $host (string) - The hostname that is initiating the request
+## $scheme (string) - The type of link that's being opened.
+
+##
+
+## Chooser dialog
+## Variables:
+## $scheme - the type of link that's being opened.
+
+## Chooser dialog
+## Variables:
+## $scheme (string) - The type of link that's being opened.
+
+choose-other-app-description = Избиране на друго приложение
+choose-app-btn =
+ .label = Избиране…
+ .accessKey = И
+choose-other-app-window-title = Избиране на приложение…
+
diff --git a/l10n-bg/toolkit/toolkit/global/htmlForm.ftl b/l10n-bg/toolkit/toolkit/global/htmlForm.ftl
new file mode 100644
index 0000000000..17d984ae71
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/global/htmlForm.ftl
@@ -0,0 +1,14 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# This string is shown at the end of the tooltip text for
+# <input type='file' multiple> when there are more than 21 files selected
+# (when we will only list the first 20, plus an "and X more" line).
+# Variables:
+# $fileCount (Number): The number of remaining files.
+input-file-and-more-files =
+ { $fileCount ->
+ [one] и още един
+ *[other] и още { $fileCount }
+ }
diff --git a/l10n-bg/toolkit/toolkit/global/mozCard.ftl b/l10n-bg/toolkit/toolkit/global/mozCard.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/global/mozCard.ftl
@@ -0,0 +1,3 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/l10n-bg/toolkit/toolkit/global/mozFiveStar.ftl b/l10n-bg/toolkit/toolkit/global/mozFiveStar.ftl
new file mode 100644
index 0000000000..f4a20a1560
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/global/mozFiveStar.ftl
@@ -0,0 +1,9 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# The rating out of 5 stars.
+# Variables:
+# $rating (number) - A number between 0 and 5. The translation should show at most one digit after the comma.
+moz-five-star-rating =
+ .title = Оценено на { NUMBER($rating, maximumFractionDigits: 1) } от 5
diff --git a/l10n-bg/toolkit/toolkit/global/mozMessageBar.ftl b/l10n-bg/toolkit/toolkit/global/mozMessageBar.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/global/mozMessageBar.ftl
@@ -0,0 +1,3 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/l10n-bg/toolkit/toolkit/global/mozSupportLink.ftl b/l10n-bg/toolkit/toolkit/global/mozSupportLink.ftl
new file mode 100644
index 0000000000..c838304fe0
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/global/mozSupportLink.ftl
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+moz-support-link-text = Научете повече
diff --git a/l10n-bg/toolkit/toolkit/global/notification.ftl b/l10n-bg/toolkit/toolkit/global/notification.ftl
new file mode 100644
index 0000000000..0f531658fe
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/global/notification.ftl
@@ -0,0 +1,9 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+notification-learnmore-default-label =
+ .value = Научете повече
+
+close-notification-message =
+ .tooltiptext = Затваряне на съобщението
diff --git a/l10n-bg/toolkit/toolkit/global/popupnotification.ftl b/l10n-bg/toolkit/toolkit/global/popupnotification.ftl
new file mode 100644
index 0000000000..f09d9bfefc
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/global/popupnotification.ftl
@@ -0,0 +1,10 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+popup-notification-learn-more = Научете повече
+popup-notification-more-actions-button =
+ .aria-label = Повече действия
+popup-notification-default-button =
+ .label = Добре
+ .accesskey = Д
diff --git a/l10n-bg/toolkit/toolkit/global/processTypes.ftl b/l10n-bg/toolkit/toolkit/global/processTypes.ftl
new file mode 100644
index 0000000000..509c0feab7
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/global/processTypes.ftl
@@ -0,0 +1,45 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+##
+## Localization for remote types defined in RemoteType.h
+##
+
+process-type-web = Съдържание от мрежата
+
+# process used to run privileged about pages,
+# such as about:home
+process-type-privilegedabout = Привилегировани страници Относно
+
+# process used to run privileged mozilla pages,
+# such as accounts.firefox.com
+process-type-privilegedmozilla = Привилегировано съдържание от Mozilla
+
+process-type-extension = Разширение
+
+# process used to open file:// URLs
+process-type-file = Местен файл
+
+# process used to isolate a webpage from other web pages
+# to improve security
+process-type-webisolated = Изолирано съдържание от мрежата
+
+# process preallocated; may change to other types
+process-type-prealloc = Preallocated
+
+##
+## Localization for Gecko process types defined in GeckoProcessTypes.h
+##
+
+# process used to communicate with the GPU for
+# graphics acceleration
+process-type-gpu = GPU
+
+# process used to perform network operations
+process-type-socket = Socket
+
+##
+## Other
+##
+
diff --git a/l10n-bg/toolkit/toolkit/global/profileDowngrade.ftl b/l10n-bg/toolkit/toolkit/global/profileDowngrade.ftl
new file mode 100644
index 0000000000..aa0f17386b
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/global/profileDowngrade.ftl
@@ -0,0 +1,17 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+profiledowngrade-window2 =
+ .title = Отворихте по-стара версия на { -brand-product-name }
+ .style = min-width: 490px;
+
+profiledowngrade-window-create =
+ .label = Създаване на профил
+
+profiledowngrade-quit =
+ .label =
+ { PLATFORM() ->
+ [windows] Изход
+ *[other] Изход
+ }
diff --git a/l10n-bg/toolkit/toolkit/global/profileSelection.ftl b/l10n-bg/toolkit/toolkit/global/profileSelection.ftl
new file mode 100644
index 0000000000..1aa086963d
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/global/profileSelection.ftl
@@ -0,0 +1,36 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+profile-selection-window =
+ .title = { -brand-short-name } – Избор на потребителски профил
+
+profile-selection-button-accept =
+ .label = Пускане на { -brand-short-name }
+
+profile-selection-button-cancel =
+ .label = Изход
+
+profile-selection-new-button =
+ .label = Създаване на профил…
+ .accesskey = С
+
+profile-selection-rename-button =
+ .label = Преименуване на профил…
+ .accesskey = П
+
+profile-selection-delete-button =
+ .label = Изтриване на профил…
+ .accesskey = т
+
+## Messages used in the profile manager
+
+profile-manager-description = { -brand-short-name } съхранява във вашия профил информация за вашите настройки, предпочитания и други неща.
+
+profile-manager-work-offline =
+ .label = Работа извън мрежата
+ .accesskey = м
+
+profile-manager-use-selected =
+ .label = Използване на избрания профил при пускане без да се пита
+ .accesskey = И
diff --git a/l10n-bg/toolkit/toolkit/global/resetProfile.ftl b/l10n-bg/toolkit/toolkit/global/resetProfile.ftl
new file mode 100644
index 0000000000..ac5673e346
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/global/resetProfile.ftl
@@ -0,0 +1,13 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+refresh-profile-dialog-button =
+ .label = Освежаване на { -brand-short-name }
+refresh-profile = Летящ старт за { -brand-short-name }
+refresh-profile-button = Освежаване на { -brand-short-name }…
+refresh-profile-learn-more = Научете повече
+
+refresh-profile-progress =
+ .title = Освежаване на { -brand-short-name }
+refresh-profile-progress-description = Почти е готово…
diff --git a/l10n-bg/toolkit/toolkit/global/resistFingerPrinting.ftl b/l10n-bg/toolkit/toolkit/global/resistFingerPrinting.ftl
new file mode 100644
index 0000000000..5d71c4b685
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/global/resistFingerPrinting.ftl
@@ -0,0 +1,6 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Spoof Accept-Language prompt
+privacy-spoof-english = Ако промените езика на английски ще бъдете по-трудни за идентификация и би могло да увеличи вашата поверителност. Желаете ли да бъдат правени заявки за английската версия на страниците?
diff --git a/l10n-bg/toolkit/toolkit/global/run-from-dmg.ftl b/l10n-bg/toolkit/toolkit/global/run-from-dmg.ftl
new file mode 100644
index 0000000000..8a9e3e40ee
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/global/run-from-dmg.ftl
@@ -0,0 +1,19 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Strings for a dialog that may open on macOS before the app's main window
+## opens. The dialog prompts the user to allow the app to install itself in an
+## appropriate location before relaunching itself from that location if the
+## user accepts.
+
+prompt-to-install-title = Да бъде завършено инсталирането на { -brand-short-name }?
+
+## Strings for a dialog that opens if the installation failed.
+
+
+## Strings for a dialog that recommends to the user to start an existing
+## installation of the app in the Applications directory if one is detected,
+## rather than the app that was double-clicked in a .dmg.
+
diff --git a/l10n-bg/toolkit/toolkit/global/tabprompts.ftl b/l10n-bg/toolkit/toolkit/global/tabprompts.ftl
new file mode 100644
index 0000000000..d209dabe07
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/global/tabprompts.ftl
@@ -0,0 +1,13 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+tabmodalprompt-username =
+ .value = Потребителско име:
+tabmodalprompt-password =
+ .value = Парола:
+
+tabmodalprompt-ok-button =
+ .label = Добре
+tabmodalprompt-cancel-button =
+ .label = Прекъсване
diff --git a/l10n-bg/toolkit/toolkit/global/textActions.ftl b/l10n-bg/toolkit/toolkit/global/textActions.ftl
new file mode 100644
index 0000000000..b1b2e21c3e
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/global/textActions.ftl
@@ -0,0 +1,48 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+text-action-undo =
+ .label = Отмяна
+ .accesskey = О
+text-action-undo-shortcut =
+ .key = Z
+text-action-redo =
+ .label = Повторение
+ .accesskey = в
+text-action-redo-shortcut =
+ .key = Y
+text-action-cut =
+ .label = Изрязване
+ .accesskey = р
+text-action-cut-shortcut =
+ .key = X
+text-action-copy =
+ .label = Копиране
+ .accesskey = К
+text-action-copy-shortcut =
+ .key = C
+text-action-paste =
+ .label = Поставяне
+ .accesskey = с
+text-action-paste-no-formatting =
+ .label = Поставяне без форматиране
+ .accesskey = б
+text-action-paste-shortcut =
+ .key = V
+text-action-delete =
+ .label = Изтриване
+ .accesskey = з
+text-action-select-all =
+ .label = Избиране на всичко
+ .accesskey = ч
+text-action-select-all-shortcut =
+ .key = A
+text-action-spell-check-toggle =
+ .label = Проверка на правописа
+ .accesskey = П
+text-action-spell-dictionaries =
+ .label = Езици
+ .accesskey = Е
+text-action-search-text-box-clear =
+ .title = Изчистване
diff --git a/l10n-bg/toolkit/toolkit/global/timepicker.ftl b/l10n-bg/toolkit/toolkit/global/timepicker.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/global/timepicker.ftl
@@ -0,0 +1,3 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/l10n-bg/toolkit/toolkit/global/tree.ftl b/l10n-bg/toolkit/toolkit/global/tree.ftl
new file mode 100644
index 0000000000..555e14e4c8
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/global/tree.ftl
@@ -0,0 +1,6 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+tree-columnpicker-restore-order =
+ .label = Стандартен набор колони
diff --git a/l10n-bg/toolkit/toolkit/global/unknownContentType.ftl b/l10n-bg/toolkit/toolkit/global/unknownContentType.ftl
new file mode 100644
index 0000000000..01611091b6
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/global/unknownContentType.ftl
@@ -0,0 +1,42 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+unknowncontenttype-handleinternally =
+ .label = Отваряне с { -brand-short-name }
+ .accesskey = т
+
+unknowncontenttype-settingschange =
+ .value =
+ { PLATFORM() ->
+ [windows] Настройките могат да бъдат променени в менюто Настройки на { -brand-short-name }.
+ *[other] Настройките могат да бъдат променени в меню Настройки на { -brand-short-name }.
+ }
+
+unknowncontenttype-intro = Избрахте да отворите:
+unknowncontenttype-which-is = който е:
+unknowncontenttype-from = от:
+unknowncontenttype-prompt = Бихте ли желали този файл да бъде запазен?
+unknowncontenttype-action-question = Какво да направи { -brand-short-name } с този файл?
+unknowncontenttype-open-with =
+ .label = Отваряне с
+ .accesskey = О
+unknowncontenttype-other =
+ .label = Друго…
+unknowncontenttype-choose-handler =
+ .label =
+ { PLATFORM() ->
+ [macos] Избиране…
+ *[other] Разглеждане…
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [macos] И
+ *[other] Р
+ }
+unknowncontenttype-save-file =
+ .label = Запазване на файла
+ .accesskey = З
+unknowncontenttype-remember-choice =
+ .label = Запомняне на действието за този вид файлове.
+ .accesskey = З
diff --git a/l10n-bg/toolkit/toolkit/global/videocontrols.ftl b/l10n-bg/toolkit/toolkit/global/videocontrols.ftl
new file mode 100644
index 0000000000..76e663fee7
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/global/videocontrols.ftl
@@ -0,0 +1,65 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# This label is used by screenreaders and other assistive technology to indicate
+# to users how much of the video has been loaded from the network. It will be
+# followed by the percentage of the video that has loaded (e.g. "Loading: 13%").
+videocontrols-buffer-bar-label = Зареждане:
+videocontrols-volume-control =
+ .aria-label = Сила на звука
+videocontrols-closed-caption-button =
+ .aria-label = Субтитри
+
+videocontrols-play-button =
+ .aria-label = Изпълняване
+videocontrols-pause-button =
+ .aria-label = Пауза
+videocontrols-mute-button =
+ .aria-label = Без звук
+videocontrols-unmute-button =
+ .aria-label = Със звук
+videocontrols-enterfullscreen-button =
+ .aria-label = Цял екран
+videocontrols-exitfullscreen-button =
+ .aria-label = Излизане от цял екран
+videocontrols-casting-button-label =
+ .aria-label = Пускане на екрана
+videocontrols-closed-caption-off =
+ .offlabel = Изключено
+
+# This string is used as part of the Picture-in-Picture video toggle button when
+# the mouse is hovering it.
+videocontrols-picture-in-picture-label = Картина в картината
+
+videocontrols-error-aborted = Зареждането на видео спря.
+videocontrols-error-network = Зареждането на видео е прекъснато поради мрежова грешка.
+videocontrols-error-decode = Видеото не може да бъде възпроизведено, защото файлът е развален.
+videocontrols-error-src-not-supported = Видеоформатът или този вид MIME не се поддържа.
+videocontrols-error-no-source = Не е намерен поддържан видео формат и вид MIME.
+videocontrols-error-generic = Възпроизвеждането на видео прекъсна поради неизвестна грешка.
+videocontrols-status-picture-in-picture = Видеоклипът се възпроизвежда в режим картина в картината.
+
+# This message shows the current position and total video duration
+#
+# Variables:
+# $position (String): The current media position
+# $duration (String): The total video duration
+#
+# For example, when at the 5 minute mark in a 6 hour long video,
+# $position would be "5:00" and $duration would be "6:00:00", result
+# string would be "5:00 / 6:00:00". Note that $duration is not always
+# available. For example, when at the 5 minute mark in an unknown
+# duration video, $position would be "5:00" and the string which is
+# surrounded by <span> would be deleted, result string would be "5:00".
+videocontrols-position-and-duration-labels = { $position }<span data-l10n-name="position-duration-format"> / { $duration }</span>
+
+# This is a plain text version of the videocontrols-position-and-duration-labels
+# string, used by screenreaders.
+#
+# Variables:
+# $position (String): The current media position
+# $duration (String): The total video duration
+videocontrols-scrubber-position-and-duration =
+ .aria-label = Местоположение
+ .aria-valuetext = { $position } / { $duration }
diff --git a/l10n-bg/toolkit/toolkit/global/wizard.ftl b/l10n-bg/toolkit/toolkit/global/wizard.ftl
new file mode 100644
index 0000000000..727cf9ccab
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/global/wizard.ftl
@@ -0,0 +1,37 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+wizard-macos-button-back =
+ .label = Връщане назад
+ .accesskey = з
+wizard-linux-button-back =
+ .label = Назад
+ .accesskey = з
+wizard-win-button-back =
+ .label = < Назад
+ .accesskey = з
+
+wizard-macos-button-next =
+ .label = Продължаване
+ .accesskey = П
+wizard-linux-button-next =
+ .label = Напред
+ .accesskey = п
+wizard-win-button-next =
+ .label = Напред >
+ .accesskey = п
+
+wizard-macos-button-finish =
+ .label = Готово
+wizard-linux-button-finish =
+ .label = Завършване
+wizard-win-button-finish =
+ .label = Завършване
+
+wizard-macos-button-cancel =
+ .label = Прекъсване
+wizard-linux-button-cancel =
+ .label = Прекъсване
+wizard-win-button-cancel =
+ .label = Прекъсване
diff --git a/l10n-bg/toolkit/toolkit/intl/languageNames.ftl b/l10n-bg/toolkit/toolkit/intl/languageNames.ftl
new file mode 100644
index 0000000000..6c9bf36d7a
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/intl/languageNames.ftl
@@ -0,0 +1,211 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+language-name-aa = Афарски
+language-name-ab = Абхазки
+language-name-ach = Аколи
+language-name-ae = Авестски
+language-name-af = Африканс
+language-name-ak = Акан
+language-name-am = Амхарски
+language-name-an = Арагонски
+language-name-ar = Арабски
+language-name-as = Асамски
+language-name-ast = Астурски
+language-name-av = Аварски
+language-name-ay = Аймара
+language-name-az = Азербайджански
+language-name-ba = Башкирски
+language-name-be = Беларуски
+language-name-bg = Български
+language-name-bh = Бихарски
+language-name-bi = Бислама
+language-name-bm = Бамбара
+language-name-bn = Бенгалски
+language-name-bo = Тибетски
+language-name-br = Бретонски
+language-name-bs = Босненски
+language-name-ca = Каталонски
+language-name-cak = Какчикелски
+language-name-ce = Чеченски
+language-name-ch = Чаморо
+language-name-co = Корсикански
+language-name-cr = Крии
+language-name-crh = Кримско-татарски
+language-name-cs = Чешки
+language-name-csb = Кашубски
+language-name-cu = Църковнославянски
+language-name-cv = Чувашки
+language-name-cy = Уелски
+language-name-da = Датски
+language-name-de = Немски
+language-name-dsb = Долнолужишки
+language-name-dv = Дивехи
+language-name-dz = Дзонгкха
+language-name-ee = Еве
+language-name-el = Гръцки
+language-name-en = Английски
+language-name-eo = Есперанто
+language-name-es = Испански
+language-name-et = Естонски
+language-name-eu = Баски
+language-name-fa = Персийски
+language-name-ff = Фула
+language-name-fi = Фински
+language-name-fj = Фиджийски
+language-name-fo = Фарьорски
+language-name-fr = Френски
+language-name-fur = Фриулиански
+language-name-fy = Западнофризийски
+language-name-ga = Ирландски
+language-name-gd = Шотландски Галски
+language-name-gl = Галисийски
+language-name-gn = Гуарани
+language-name-gu = Гуджарати
+language-name-gv = Манкски
+language-name-ha = Хауса
+language-name-haw = Хавайски
+language-name-he = Иврит
+language-name-hi = Хинди
+language-name-hil = Хилигайнон
+language-name-ho = Хири Моту
+language-name-hr = Хърватски
+language-name-hsb = Горнолужишки
+language-name-ht = Хаитянски креолски
+language-name-hu = Унгарски
+language-name-hy = Арменски
+language-name-hz = Хереро
+language-name-ia = Интерлингва
+language-name-id = Индонезийски
+language-name-ie = Оксидентал
+language-name-ig = Игбо
+language-name-ii = Съчуански И
+language-name-ik = Инупиак
+language-name-io = Идо
+language-name-is = Исландски
+language-name-it = Италиански
+language-name-iu = Инуктитут
+language-name-ja = Японски
+language-name-jv = Явански
+language-name-ka = Грузински
+language-name-kab = Кабилски
+language-name-kg = Конгоански
+language-name-ki = Кикую
+language-name-kj = Кваняма
+language-name-kk = Казахски
+language-name-kl = Гренландски
+language-name-km = Кхмерски
+language-name-kn = Каннада
+language-name-ko = Корейски
+language-name-kok = Конкани
+language-name-kr = Канури
+language-name-ks = Кашмирски
+language-name-ku = Кюрдски
+language-name-kv = Коми
+language-name-kw = Корнуолски
+language-name-ky = Киргизки
+language-name-la = Латински
+language-name-lb = Люксембургски
+language-name-lg = Ганда
+language-name-li = Лимбургски
+language-name-lij = Лигурски
+language-name-ln = Лингала
+language-name-lo = Лаоски
+language-name-lt = Литовски
+language-name-ltg = Латгалски
+language-name-lu = Луба-Катанга
+language-name-lv = Латвийски
+language-name-mai = Майтили
+language-name-meh = Югозападен тлаксиаски мищекси
+language-name-mg = Малгашки
+language-name-mh = Маршалезе
+language-name-mi = Маорски
+language-name-mix = Микстепекски мищекси
+language-name-mk = Македонски
+language-name-ml = Малаялам
+language-name-mn = Монголски
+language-name-mr = Марати
+language-name-ms = Малайски
+language-name-mt = Малтийски
+language-name-my = Бирмански
+language-name-na = Науру
+language-name-nb = Норвежки (Букмол)
+language-name-nd = Северен Ндебеле
+language-name-ne = Непалски
+language-name-ng = Ндонга
+language-name-nl = Нидерландски
+language-name-nn = Норвежки (Нюношк)
+language-name-no = Норвежки
+language-name-nr = Южен Ндебеле
+language-name-nso = Северен Сото
+language-name-nv = Навахо
+language-name-ny = Нянджа
+language-name-oc = Окситански
+language-name-oj = Оджибва
+language-name-om = Оромо
+language-name-or = Ория
+language-name-os = Осетски
+language-name-pa = Пенджабски
+language-name-pi = Пали
+language-name-pl = Полски
+language-name-ps = Пущу
+language-name-pt = Португалски
+language-name-qu = Кечуа
+language-name-rm = Реторомански
+language-name-rn = Рунди
+language-name-ro = Румънски
+language-name-ru = Руски
+language-name-rw = Киняруанда
+language-name-sa = Санскрит
+language-name-sc = Сардински
+language-name-sd = Синдхи
+language-name-se = Северносаамски
+language-name-sg = Санго
+language-name-si = Синхалски
+language-name-sk = Словашки
+language-name-sl = Словенски
+language-name-sm = Самоански
+language-name-sn = Шона
+language-name-so = Сомалийски
+language-name-son = Сонгай
+language-name-sq = Албански
+language-name-sr = Сръбски
+language-name-ss = Свати
+language-name-st = Сесото
+language-name-su = Сундански
+language-name-sv = Шведски
+language-name-sw = Суахили
+language-name-ta = Тамилски
+language-name-te = Телугу
+language-name-tg = Таджикски
+language-name-th = Тайски
+language-name-ti = Тигриня
+language-name-tig = Тигре
+language-name-tk = Туркменски
+language-name-tl = Тагалог
+language-name-tlh = Клингонски
+language-name-tn = Тсвана
+language-name-to = Тонгански
+language-name-tr = Турски
+language-name-ts = Цонга
+language-name-tt = Татарски
+language-name-tw = Туи
+language-name-ty = Таитянски
+language-name-ug = Уйгурски
+language-name-uk = Украински
+language-name-ur = Урду
+language-name-uz = Узбекски
+language-name-ve = Венда
+language-name-vi = Виетнамски
+language-name-vo = Волапюк
+language-name-wa = Валонски
+language-name-wen = Сорбиански
+language-name-wo = Волоф
+language-name-xh = Ксоса
+language-name-yi = Идиш
+language-name-yo = Йоруба
+language-name-za = Зуанг
+language-name-zam = Мяуатлански сапотекски
+language-name-zh = Китайски
+language-name-zu = Зулуски
diff --git a/l10n-bg/toolkit/toolkit/intl/regionNames.ftl b/l10n-bg/toolkit/toolkit/intl/regionNames.ftl
new file mode 100644
index 0000000000..9ca902271d
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/intl/regionNames.ftl
@@ -0,0 +1,275 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### Notice: If you're updating this list, you should also
+### update the list in mozIntl.js.
+
+region-name-ad = Андора
+region-name-ae = Обединени арабски емирства
+region-name-af = Афганистан
+region-name-ag = Антигуа и Барбуда
+region-name-ai = Ангуила
+region-name-al = Албания
+region-name-am = Армения
+region-name-ao = Ангола
+region-name-aq = Антарктика
+region-name-ar = Аржентина
+region-name-as = Американска Самоа
+region-name-at = Австрия
+region-name-au = Австралия
+region-name-aw = Аруба
+region-name-az = Азербайджан
+region-name-ba = Босна и Херцеговина
+region-name-bb = Барбадос
+region-name-bd = Бангладеш
+region-name-be = Белгия
+region-name-bf = Буркина Фасо
+region-name-bg = България
+region-name-bh = Бахрейн
+region-name-bi = Бурунди
+region-name-bj = Бенин
+region-name-bl = Сен Бартелеми
+region-name-bm = Бермудски острови
+region-name-bn = Бруней Даруссалам
+region-name-bo = Боливия
+region-name-br = Бразилия
+region-name-bs = Бахами
+region-name-bt = Бутан
+region-name-bv = остров Буве
+region-name-bw = Ботсвана
+region-name-by = Беларус
+region-name-bz = Белиз
+region-name-ca = Канада
+region-name-cc = Кокосови острови (острови Кийлинг)
+region-name-cd = Конго (Киншаса)
+region-name-cf = Централноафриканска република
+region-name-cg = Конго (Бразавил)
+region-name-ch = Швейцария
+region-name-ci = Кот д’Ивоар
+region-name-ck = острови Кук
+region-name-cl = Чили
+region-name-cm = Камерун
+region-name-cn = Китай
+region-name-co = Колумбия
+region-name-cp = остров Клипертон
+region-name-cr = Коста Рика
+region-name-cu = Куба
+region-name-cw = Кюрасао
+region-name-cx = остров Рождество
+region-name-cy = Кипър
+region-name-de = Германия
+region-name-dg = Диего Гарсия
+region-name-dj = Джибути
+region-name-dk = Дания
+region-name-dm = Доминика
+region-name-do = Доминиканска република
+region-name-dz = Алжир
+region-name-ec = Еквадор
+region-name-ee = Естония
+region-name-eg = Египет
+region-name-eh = Западна Сахара
+region-name-er = Еритрея
+region-name-es = Испания
+region-name-et = Етиопия
+region-name-fi = Финландия
+region-name-fj = Фиджи
+region-name-fk = Фолклендски острови
+region-name-fm = Микронезия
+region-name-fo = Фарьорски острови
+region-name-fr = Франция
+region-name-ga = Габон
+region-name-gb = Обединеното кралство
+region-name-gd = Гренада
+region-name-ge = Грузия
+region-name-gf = Френска Гвиана
+region-name-gg = Гърнзи
+region-name-gh = Гана
+region-name-gi = Гибралтар
+region-name-gl = Гренландия
+region-name-gm = Гамбия
+region-name-gn = Гвинея
+region-name-gp = Гваделупа
+region-name-gq = Екваториална Гвинея
+region-name-gr = Гърция
+region-name-gs = Южна Джорджия и Южни Сандвичеви острови
+region-name-gt = Гватемала
+region-name-gu = Гуам
+region-name-gw = Гвинея-Бисау
+region-name-gy = Гаяна
+region-name-hk = Хонконг, САР на Китай
+region-name-hm = острови Хърд и Макдоналд
+region-name-hn = Хондурас
+region-name-hr = Хърватия
+region-name-ht = Хаити
+region-name-hu = Унгария
+region-name-id = Индонезия
+region-name-ie = Ирландия
+region-name-il = Израел
+region-name-im = остров Ман
+region-name-in = Индия
+region-name-io = Британска територия в Индийския океан
+region-name-iq = Ирак
+region-name-ir = Иран
+region-name-is = Исландия
+region-name-it = Италия
+region-name-je = Джърси
+region-name-jm = Ямайка
+region-name-jo = Йордания
+region-name-jp = Япония
+region-name-ke = Кения
+region-name-kg = Киргизстан
+region-name-kh = Камбоджа
+region-name-ki = Кирибати
+region-name-km = Коморски острови
+region-name-kn = Сейнт Китс и Невис
+region-name-kp = Северна Корея
+region-name-kr = Южна Корея
+region-name-kw = Кувейт
+region-name-ky = Кайманови острови
+region-name-kz = Казахстан
+region-name-la = Лаос
+region-name-lb = Ливан
+region-name-lc = Сейнт Лусия
+region-name-li = Лихтенщайн
+region-name-lk = Шри Ланка
+region-name-lr = Либерия
+region-name-ls = Лесото
+region-name-lt = Литва
+region-name-lu = Люксембург
+region-name-lv = Латвия
+region-name-ly = Либия
+region-name-ma = Мароко
+region-name-mc = Монако
+region-name-md = Молдова
+region-name-me = Черна гора
+region-name-mf = Сен Мартен
+region-name-mg = Мадагаскар
+region-name-mh = Маршалови острови
+region-name-ml = Мали
+region-name-mm = Мианмар (Бирма)
+region-name-mn = Монголия
+region-name-mo = Макао, САР на Китай
+region-name-mp = Северни Мариански острови
+region-name-mq = Мартиника
+region-name-mr = Мавритания
+region-name-ms = Монтсерат
+region-name-mt = Малта
+region-name-mu = Мавриций
+region-name-mv = Малдиви
+region-name-mw = Малави
+region-name-mx = Мексико
+region-name-my = Малайзия
+region-name-mz = Мозамбик
+region-name-na = Намибия
+region-name-nc = Нова Каледония
+region-name-ne = Нигер
+region-name-nf = остров Норфолк
+region-name-ng = Нигерия
+region-name-ni = Никарагуа
+region-name-nl = Нидерландия
+region-name-no = Норвегия
+region-name-np = Непал
+region-name-nr = Науру
+region-name-nu = Ниуе
+region-name-nz = Нова Зеландия
+region-name-om = Оман
+region-name-pa = Панама
+region-name-pe = Перу
+region-name-pf = Френска Полинезия
+region-name-pg = Папуа-Нова Гвинея
+region-name-ph = Филипини
+region-name-pk = Пакистан
+region-name-pl = Полша
+region-name-pm = Сен Пиер и Микелон
+region-name-pn = Острови Питкерн
+region-name-pr = Пуерто Рико
+region-name-pt = Португалия
+region-name-pw = Палау
+region-name-py = Парагвай
+region-name-qa = Катар
+region-name-qm = Острови Мидуей
+region-name-qs = Басас-да-Индия
+region-name-qu = Остров Хуан де Нова
+region-name-qw = Остров Уейк
+region-name-qx = Острови Глориосо
+region-name-qz = Акротири
+region-name-re = Реюнион
+region-name-ro = Румъния
+region-name-rs = Сърбия
+region-name-ru = Русия
+region-name-rw = Руанда
+region-name-sa = Саудитска Арабия
+region-name-sb = Соломонови острови
+region-name-sc = Сейшели
+region-name-sd = Судан
+region-name-se = Швеция
+region-name-sg = Сингапур
+region-name-sh = Света Елена
+region-name-si = Словения
+region-name-sk = Словакия
+region-name-sl = Сиера Леоне
+region-name-sm = Сан Марино
+region-name-sn = Сенегал
+region-name-so = Сомалия
+region-name-sr = Суринам
+region-name-ss = Южен Судан
+region-name-st = Сао Томе и Принсипи
+region-name-sv = Салвадор
+region-name-sx = Синт Мартен
+region-name-sy = Сирия
+region-name-tc = острови Търкс и Кайкос
+region-name-td = Чад
+region-name-tf = Френски южни и антарктически територии
+region-name-tg = Того
+region-name-th = Тайланд
+region-name-tj = Таджикистан
+region-name-tk = Токелау
+region-name-tl = Източен Тимор
+region-name-tm = Туркменистан
+region-name-tn = Тунис
+region-name-to = Тонгански
+region-name-tr = Турция
+region-name-tt = Тринидад и Тобаго
+region-name-tv = Тувалу
+region-name-tw = Тайван
+region-name-tz = Танзания
+region-name-ua = Украйна
+region-name-ug = Уганда
+region-name-us = Съединени щати
+region-name-uy = Уругвай
+region-name-uz = Узбекистан
+region-name-va = Ватикан
+region-name-vc = Сейнт Винсънт и Гренадини
+region-name-ve = Венецуела
+region-name-vg = Британски Вирджински острови
+region-name-vi = Американски Вирджински острови
+region-name-vn = Виетнам
+region-name-vu = Вануату
+region-name-wf = Уолис и Футуна
+region-name-ws = Самоа
+region-name-xa = Острови Ашмор и Картие
+region-name-xb = Остров Бейкър
+region-name-xc = Коралови острови
+region-name-xd = Декелия
+region-name-xe = Остров Еуропа
+region-name-xg = Ивица Газа
+region-name-xh = Остров Хауленд
+region-name-xj = Ян Майен
+region-name-xk = Косово
+region-name-xl = Остров Палмира
+region-name-xm = Риф Кингман
+region-name-xp = Параселски острови
+region-name-xq = Остров Джарвис
+region-name-xr = Свалбард
+region-name-xs = Острови Спратли
+region-name-xt = Остров Трамлин
+region-name-xu = Атол Джонстън
+region-name-xv = Остров Наваса
+region-name-xw = Западен бряг
+region-name-ye = Йемен
+region-name-yt = Майот
+region-name-za = Южна Африка
+region-name-zm = Замбия
+region-name-zw = Зимбабве
diff --git a/l10n-bg/toolkit/toolkit/main-window/autocomplete.ftl b/l10n-bg/toolkit/toolkit/main-window/autocomplete.ftl
new file mode 100644
index 0000000000..502adf694a
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/main-window/autocomplete.ftl
@@ -0,0 +1,14 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Import Logins Autocomplete
+
+## Variables:
+## $host (String) - Host name of the current site.
+
+
+##
+
+autocomplete-import-learn-more = Научете повече
diff --git a/l10n-bg/toolkit/toolkit/main-window/findbar.ftl b/l10n-bg/toolkit/toolkit/main-window/findbar.ftl
new file mode 100644
index 0000000000..c6a9ea213f
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/main-window/findbar.ftl
@@ -0,0 +1,76 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### This file contains the entities needed to use the Find Bar.
+
+findbar-next =
+ .tooltiptext = Намиране на следващо съвпадение на фразата
+findbar-previous =
+ .tooltiptext = Намиране на предишно съвпадение на фразата
+
+findbar-find-button-close =
+ .tooltiptext = Затваряне на лентата за търсене
+
+findbar-highlight-all2 =
+ .label = Открояване на всички
+ .accesskey =
+ { PLATFORM() ->
+ [macos] в
+ *[other] в
+ }
+ .tooltiptext = Открояване на всички съвпадения на фразата
+
+findbar-case-sensitive =
+ .label = Съвпадение на регистъра
+ .accesskey = р
+ .tooltiptext = Търсене със съвпадение на регистъра на буквите
+
+findbar-match-diacritics =
+ .label = Без производни букви
+ .accesskey = п
+ .tooltiptext = Не се показват производни букви с ударение и други знаци
+
+findbar-entire-word =
+ .label = Цели думи
+ .accesskey = д
+ .tooltiptext = Търсене на цели думи
+
+findbar-not-found = Фразата не е намерена
+
+findbar-wrapped-to-top = Край на страницата, продължаване от началото
+findbar-wrapped-to-bottom = Достигнато е началото на страницата, продължаване открая
+
+findbar-normal-find =
+ .placeholder = Търсене в страницата
+findbar-fast-find =
+ .placeholder = Бързо търсене
+findbar-fast-find-links =
+ .placeholder = Бързо търсене (препратки)
+
+findbar-case-sensitive-status =
+ .value = (Съвпадение на регистъра)
+findbar-match-diacritics-status =
+ .value = (Производни букви)
+findbar-entire-word-status =
+ .value = (Само цели думи)
+
+# Variables:
+# $current (Number): Index of the currently selected match
+# $total (Number): Total count of matches
+findbar-found-matches =
+ .value =
+ { $total ->
+ [one] { $current } от { $total } съвпадение
+ *[other] { $current } от { $total } съвпадения
+ }
+
+# Variables:
+# $limit (Number): Total count of matches allowed before counting stops
+findbar-found-matches-count-limit =
+ .value =
+ { $limit ->
+ [one] Повече от { $limit } съвпадение
+ *[other] Повече от { $limit } съвпадения
+ }
diff --git a/l10n-bg/toolkit/toolkit/neterror/certError.ftl b/l10n-bg/toolkit/toolkit/neterror/certError.ftl
new file mode 100644
index 0000000000..9c2670c276
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/neterror/certError.ftl
@@ -0,0 +1,137 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Variables:
+# $hostname (String) - Hostname of the website with cert error.
+cert-error-intro = { $hostname } използва невалиден сертификат.
+
+cert-error-mitm-intro = Страниците потвърждават самоличността си чрез сертификати, издавани от сертифициращи органи.
+
+cert-error-mitm-mozilla = { -brand-short-name } е подкрепен от Mozilla - организация с нестопанска цел, която управлява изцяло отворено хранилище за администратори на сертификати (CA). Хранилището на СА дава допълнителни гаранции, че сертифициращите органи следват най-добрите практики за защита на потребителите.
+
+cert-error-mitm-connection = { -brand-short-name } използва хранилището на Mozilla с администратори на сертификати (CA), за да провери дали връзката е шифрована, вместо сертификатите, предоставени от операционната система на потребителя. Така, ако антивирусна програма или мрежа прехваща връзката и променя сертификата за сигурност, с издаден от СА, който не е в хранилището на Mozilla с CA, връзката не се счита за защитена.
+
+cert-error-trust-unknown-issuer-intro = Някой може би се опитва да подмени истинската страница и по-добре да не продължавате.
+
+# Variables:
+# $hostname (String) - Hostname of the website with cert error.
+cert-error-trust-unknown-issuer = Страниците потвърждават самоличността си чрез сертификати. { -brand-short-name } не се доверява на { $hostname }, защото издателят на сертификата е неизвестен, сертификатът е самоподписан или сървърът не изпраща верните посреднически сертификати.
+
+cert-error-trust-cert-invalid = Няма увереност в сертификата, защото е издаден от невалиден сертификат CA.
+
+cert-error-trust-untrusted-issuer = Няма увереност в сертификата, защото няма увереност в сертификата на издателя.
+
+cert-error-trust-signature-algorithm-disabled = Сертификатът не е доверен, защото е подписан с алгоритъм за подписване, който е деактивиран, защото не е безопасен.
+
+cert-error-trust-expired-issuer = Няма увереност в сертификата, защото издателят на сертификата е с изтекла валидност.
+
+cert-error-trust-self-signed = Няма увереност в сертификата, защото е самоподписан.
+
+cert-error-trust-symantec = Сертификатите, издадени от GeoTrust, RapidSSL, Symantec, Thawte и VeriSign вече не се считат за безопасни, тъй като тези сертификационни органи не са спазвали практиките за сигурност в миналото.
+
+cert-error-untrusted-default = Сертификатът идва от недостоверен източник.
+
+# Variables:
+# $hostname (String) - Hostname of the website with cert error.
+cert-error-domain-mismatch = Страниците потвърждават самоличността си чрез сертификати. { -brand-short-name } не се доверява на тази страница, защото сертификатът не е валиден за { $hostname }.
+
+# Variables:
+# $hostname (String) - Hostname of the website with cert error.
+# $alt-name (String) - Alternate domain name for which the cert is valid.
+cert-error-domain-mismatch-single = Страниците потвърждават самоличността си чрез сертификати. { -brand-short-name } не се доверява на тази страница, защото сертификатът не е валиден за { $hostname }. Сертификатът е валиден само за <a data-l10n-name="domain-mismatch-link">{ $alt-name }</a>.
+
+# Variables:
+# $hostname (String) - Hostname of the website with cert error.
+# $alt-name (String) - Alternate domain name for which the cert is valid.
+cert-error-domain-mismatch-single-nolink = Страниците потвърждават самоличността си чрез сертификати. { -brand-short-name } не се доверява на тази страница, защото сертификатът не е валиден за { $hostname }. Сертификатът е валиден само за { $alt-name }.
+
+# Variables:
+# $subject-alt-names (String) - Alternate domain names for which the cert is valid.
+cert-error-domain-mismatch-multiple = Страниците потвърждават самоличността си чрез сертификати. { -brand-short-name } не се доверява на тази страница, защото сертификатът не е валиден за { $hostname }. Сертификатът е валиден само за следните домейни { $subject-alt-names }
+
+# Variables:
+# $hostname (String) - Hostname of the website with cert error.
+# $not-after-local-time (Date) - Certificate is not valid after this time.
+cert-error-expired-now = Страниците потвърждават самоличността си чрез сертификати, които важат ограничен период от време. Сертификатът на { $hostname } е изтекъл на { $not-after-local-time }.
+
+# Variables:
+# $hostname (String) - Hostname of the website with cert error.
+# $not-before-local-time (Date) - Certificate is not valid before this time.
+cert-error-not-yet-valid-now = Страниците потвърждават самоличността си чрез сертификати, които важат ограничен период от време. Сертификатът на { $hostname } няма да е валиден преди { $not-before-local-time }.
+
+# Variables:
+# $error (string) - NSS error code string that specifies type of cert error. e.g. unknown issuer, invalid cert, etc.
+cert-error-code-prefix = Код на грешката: { $error }
+
+# Variables:
+# $error (String) - NSS error code string that specifies type of cert error. e.g. unknown issuer, invalid cert, etc.
+cert-error-code-prefix-link = Код на грешката: <a data-l10n-name="error-code-link">{ $error }</a>
+
+# Variables:
+# $hostname (String) - Hostname of the website with SSL error.
+# $errorMessage (String) - Error message corresponding to the type of error we are experiencing.
+cert-error-ssl-connection-error = Грешка при свързване с { $hostname }. { $errorMessage }
+
+# Variables:
+# $hostname (String) - Hostname of the website with cert error.
+cert-error-symantec-distrust-description = Страниците потвърждават самоличността си чрез сертификати, издавани от сертифициращи органи. Повечето мрежови четци вече не се доверяват на сертификатите, издадени от GeoTrust, RapidSSL, Symantec, Thawte и VeriSign. { $hostname } използва сертификат от един от тези издатели и затова самоличността на страницата не може да бъде потвърдена.
+
+cert-error-symantec-distrust-admin = Може да уведомите администратора на страницата за този проблем.
+
+cert-error-old-tls-version = Този сайт вероятно не поддържа протокола TLS 1.2, който е минималната версия, поддържана от { -brand-short-name }.
+
+# Variables:
+# $hasHSTS (Boolean) - Indicates whether HSTS header is present.
+cert-error-details-hsts-label = Сигурен HTTP чрез ограничаване на транспорта (HSTS): { $hasHSTS }
+
+# Variables:
+# $hasHPKP (Boolean) - Indicates whether HPKP header is present.
+cert-error-details-key-pinning-label = Закотвен публичен ключ на HTTP: { $hasHPKP }
+
+cert-error-details-cert-chain-label = Верига на сертификата:
+
+open-in-new-window-for-csp-or-xfo-error = Отваряне в нов прозорец
+
+# Variables:
+# $hostname (String) - Hostname of the website blocked by csp or xfo error.
+csp-xfo-blocked-long-desc = С цел защита на вашата сигурност, { $hostname } няма да позволи { -brand-short-name } да покаже страницата ако друг сайт я е вградил. За да видите тази страница е необходимо да я отворите в нов прозорец.
+
+## Messages used for certificate error titles
+
+connectionFailure-title = Не може да бъде установена връзка
+deniedPortAccess-title = Този адрес е ограничен
+# "Hmm" is a sound made when considering or puzzling over something.
+# You don't have to include it in your translation if your language does not have a written word like this.
+dnsNotFound-title = Хмм. Страницата не е намерена
+
+fileNotFound-title = Файлът не е намерен
+fileAccessDenied-title = Достъпът до файла е отказан
+generic-title = Олеле.
+captivePortal-title = Влизане в мрежа
+# "Hmm" is a sound made when considering or puzzling over something.
+# You don't have to include it in your translation if your language does not have a written word like this.
+malformedURI-title = Хм. Адресът не изглежда правилен
+netInterrupt-title = Връзката беше прекъсната
+notCached-title = Документът е с изтекъл срок на валидност
+netOffline-title = Работа извън мрежата
+contentEncodingError-title = Грешка в кодировката на съдържанието
+unsafeContentType-title = Опасен вид файл
+netReset-title = Връзката е прекъсната
+netTimeout-title = Времето за изчакване на връзка изтече
+unknownProtocolFound-title = Адресът не е разпознат
+proxyConnectFailure-title = Мрежовият посредник отказва връзката
+proxyResolveFailure-title = Мрежовия посредник не може да бъде открит
+redirectLoop-title = Страницата не пренасочва правилно
+unknownSocketType-title = Неочакван отговор от сървъра
+nssFailure2-title = Неуспешно установяване на шифрована връзка
+csp-xfo-error-title = { -brand-short-name } не може да отвори страницата
+corruptedContentError-title = Грешка поради развалено съдържание
+sslv3Used-title = Невъзможно създаване на защитена връзка
+inadequateSecurityError-title = Връзката е незащитена
+blockedByPolicy-title = Забранена страница
+clockSkewError-title = Часовникът на компютъра не е верен
+networkProtocolError-title = Нарушение на мрежовия протокол
+nssBadCert-title = Внимание: Вероятен риск за сигурността
+nssBadCert-sts-title = Неуспешно свързване: Евентуален проблем със сигурността
+certerror-mitm-title = Софтуер пречи на { -brand-short-name } да осъществи защитена връзка към страницата
diff --git a/l10n-bg/toolkit/toolkit/neterror/netError.ftl b/l10n-bg/toolkit/toolkit/neterror/netError.ftl
new file mode 100644
index 0000000000..97d46bc687
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/neterror/netError.ftl
@@ -0,0 +1,152 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Error page titles
+
+neterror-page-title = Проблем при зареждане на страница
+certerror-page-title = Внимание: Вероятен риск за сигурността
+certerror-sts-page-title = Неуспешно свързване: Евентуален проблем със сигурността
+neterror-blocked-by-policy-page-title = Забранена страница
+neterror-captive-portal-page-title = Влизане в мрежа
+neterror-dns-not-found-title = Сървърът не е намерен
+neterror-malformed-uri-page-title = Неправилен адрес
+
+## Error page actions
+
+neterror-advanced-button = Разширени…
+neterror-copy-to-clipboard-button = Копиране на текста в системния буфер
+neterror-learn-more-link = Научете повече…
+neterror-open-portal-login-page-button = Страница за вписване в мрежа
+neterror-override-exception-button = Продължаване въпреки риска
+neterror-pref-reset-button = Възстановяване на настройки по подразбиране
+neterror-return-to-previous-page-button = Връщане назад
+neterror-return-to-previous-page-recommended-button = Връщане назад (препоръчително)
+neterror-try-again-button = Нов опит
+neterror-settings-button = Промяна на настройките за DNS
+neterror-view-certificate-link = Преглед на сертификата
+
+##
+
+neterror-pref-reset = Изглежда настройките на сигурността може да са предизвикали това. Искате ли да бъдат възстановени настройките по подразбиране?
+neterror-error-reporting-automatic = Докладване на такива грешки, за да може { -vendor-short-name } да идентифицира и ограничи злонамерени сайтове
+
+## Specific error messages
+
+neterror-generic-error = По някаква причина { -brand-short-name } не може да отвори страницата.
+
+neterror-load-error-try-again = Страницата може да е временно недостъпна или натоварена. Опитайте отново след малко.
+neterror-load-error-connection = Ако не може да отворите друга страница, проверете връзката си с интернет.
+neterror-load-error-firewall = Ако компютърът или мрежата ви са зад защитна стена или мрежов посредник проверете дали { -brand-short-name } има право на достъп до Интернет.
+
+neterror-captive-portal = Трябва да се впишете в тази мрежа, за да получите достъп до интернет.
+
+## TRR-only specific messages
+## Variables:
+## $hostname (String) - Hostname of the website to which the user was trying to connect.
+## $trrDomain (String) - Hostname of the DNS over HTTPS server that is currently in use.
+
+
+## Native fallback specific messages
+## Variables:
+## $trrDomain (String) - Hostname of the DNS over HTTPS server that is currently in use.
+
+
+##
+
+neterror-file-not-found-filename = Проверете името на файла за регистъра на буквите или други технически грешки.
+neterror-file-not-found-moved = Проверете дали файлът не е преместен, преименуван или изтрит.
+
+neterror-access-denied = Може да е премахнат, преместен или правата му да ограничават достъпа.
+
+neterror-unknown-protocol = Вероятно ще трябва да инсталирате друг софтуер, за да отворите този адрес.
+
+neterror-redirect-loop = Такъв проблем може да е причинен от изключване или забраняване на бисквитките.
+
+neterror-unknown-socket-type-psm-installed = Проверете дали системата има инсталиран Personal Security Manager.
+neterror-unknown-socket-type-server-config = Настройките на сървъра може да са нестандартни.
+
+neterror-not-cached-intro = Търсеният документ не е наличен в склада на { -brand-short-name }.
+neterror-not-cached-sensitive = Като предпазна мярка { -brand-short-name } не прави повторна заявка на документи с поверително съдържание.
+neterror-not-cached-try-again = Натиснете „Повторен опит“ за нова заявка на документа от страницата.
+
+neterror-net-offline = Натиснете „Повторен опит“, за да превключите към режим с връзка и да презаредите страницата.
+
+neterror-proxy-resolve-failure-settings = Уверете се, че настройките на мрежовия посредник са правилни.
+neterror-proxy-resolve-failure-connection = Проверете дали връзката на компютъра с мрежата е наред.
+neterror-proxy-resolve-failure-firewall = Ако компютърът или мрежата ви са зад защитна стена или мрежов посредник проверете дали { -brand-short-name } има право на достъп до Интернет.
+
+neterror-proxy-connect-failure-settings = Уверете се, че настройките на мрежовия посредник са правилни.
+neterror-proxy-connect-failure-contact-admin = Свържете се с мрежовия администратор и проверете дали мрежовият посредник работи.
+
+neterror-content-encoding-error = Моля, уведомете собствениците на страницата за проблема.
+
+neterror-unsafe-content-type = Моля, уведомете собствениците на страницата за проблема.
+
+neterror-nss-failure-not-verified = Страницата не може да бъде показана, защото достоверността на получените данни не може да бъде проверена.
+neterror-nss-failure-contact-website = Моля, уведомете собствениците на страницата за проблема.
+
+# Variables:
+# $hostname (String) - Hostname of the website to which the user was trying to connect.
+certerror-intro = { -brand-short-name } забеляза възможна заплаха за сигурността и не продължи към <b>{ $hostname }</b>. Ако посетите страницата злонамерено лице може да опита да открадне от вас информация като пароли, електронни писма или данни за банкови карти.
+# Variables:
+# $hostname (String) - Hostname of the website to which the user was trying to connect.
+certerror-sts-intro = { -brand-short-name } забеляза възможна заплаха за сигурността и не продължи към <b>{ $hostname }</b>, защото страницата изисква защитена връзка.
+# Variables:
+# $hostname (String) - Hostname of the website to which the user was trying to connect.
+certerror-expired-cert-intro = { -brand-short-name } откри проблем и не продължи към <b>{ $hostname }</b>. Сайтът е или неправилно настроен, или часовникът на вашия компютър е неверен.
+# Variables:
+# $hostname (String) - Hostname of the website to which the user was trying to connect.
+# $mitm (String) - The name of the software intercepting communications between you and the website (or “man in the middle”)
+certerror-mitm = <b>{ $hostname }</b> най-вероятно е безопасен сайт, но не може да бъде установена защитена връзка. Проблемът е причинен от <b>{ $mitm }</b>, което софтуер на вашия компютър или вашата мрежа.
+
+neterror-corrupted-content-intro = Страницата не може да бъде показана поради грешка при прехвърляне на данните.
+neterror-corrupted-content-contact-website = Моля, уведомете собствениците на страницата за проблема.
+
+# Do not translate "SSL_ERROR_UNSUPPORTED_VERSION".
+neterror-sslv3-used = Допълнителна информация: SSL_ERROR_UNSUPPORTED_VERSION
+
+# Variables:
+# $hostname (String) - Hostname of the website to which the user was trying to connect.
+neterror-inadequate-security-intro = <b>{ $hostname }</b> използва остаряла технология за сигурност, уязвима към атаки. Такива атаки могат лесно да разкрият информация, която мислите, че е защитена. Администраторът на сайта трябва да поправи сървъра преди да може да използвате сайта.
+# Do not translate "NS_ERROR_NET_INADEQUATE_SECURITY".
+neterror-inadequate-security-code = Код на грешка: NS_ERROR_NET_INADEQUATE_SECURITY
+
+# Variables:
+# $hostname (String) - Hostname of the website to which the user was trying to connect.
+# $now (Date) - The current datetime, to be formatted as a date
+neterror-clock-skew-error = Часовникът на компютъра показва { DATETIME($now, dateStyle: "medium") }, което пречи на { -brand-short-name } да осъществи защитена връзка. За да посетите <b>{ $hostname }</b> сверете датата, часа и часовия пояс на компютъра в системните настройки. След това презаредете страницата на <b>{ $hostname }</b>.
+
+neterror-network-protocol-error-intro = Страницата не може да бъде показана поради грешка в мрежовия протокол.
+neterror-network-protocol-error-contact-website = Моля, уведомете собствениците на страницата за проблема.
+
+certerror-expired-cert-second-para = Вероятно е сертификатът на страницата е изтекъл, което пречи на { -brand-short-name } да осъществи защитена връзка. Ако посетите страницата злонамерено лице може да опита да открадне от вас информация като пароли, електронни писма или данни за банкови карти.
+certerror-expired-cert-sts-second-para = Вероятно е сертификатът на страницата е изтекъл, което пречи на { -brand-short-name } да осъществи защитена връзка.
+
+certerror-what-can-you-do-about-it-title = Какво да направите в тази ситуация?
+
+certerror-unknown-issuer-what-can-you-do-about-it-website = Проблемът най-вероятно е в страницата и нищо не може да направите.
+certerror-unknown-issuer-what-can-you-do-about-it-contact-admin = Ако сте във ведомствена мрежа или използвате антивирусно приложение може потърсите помощ от поддържащия екип. Също може да уведомите администратора на страницата за този проблем.
+
+# Variables:
+# $hostname (String) - Hostname of the website to which the user was trying to connect.
+# $now (Date) - The current datetime, to be formatted as a date
+certerror-expired-cert-what-can-you-do-about-it-clock = Часовникът на компютъра показва { DATETIME($now, dateStyle: "medium") }. Сверете датата, часа и часовия пояс на компютъра в системните настройки и презаредете страницата на <b>{ $hostname }</b>.
+certerror-expired-cert-what-can-you-do-about-it-contact-website = Ако часовникът е верен тогава страницата не е настроена правилно и нищо не може да направите. Може да уведомите администратора на страницата за този проблем.
+
+certerror-bad-cert-domain-what-can-you-do-about-it = Проблемът най-вероятно е в страницата и нищо не може да направите. Може да уведомите администратора на страницата за него.
+
+certerror-mitm-what-can-you-do-about-it-antivirus = Ако антивирусната програма има възможност за сканиране на шифровани връзки (обикновено наричана „сканиране на уеб“ или „сканиране на https“), може да я изключите. Ако това не помогне премахнете и инсталирайте отново програмата.
+certerror-mitm-what-can-you-do-about-it-corporate = Ако използвате ведомствена мрежа се свържете с отдела за поддръжка.
+# Variables:
+# $mitm (String) - The name of the software intercepting communications between you and the website (or “man in the middle”)
+certerror-mitm-what-can-you-do-about-it-attack = Ако не сте запознати с <b>{ $mitm }</b> това може да е атака и не трябва да продължавате към страницата.
+
+# Variables:
+# $mitm (String) - The name of the software intercepting communications between you and the website (or “man in the middle”)
+certerror-mitm-what-can-you-do-about-it-attack-sts = Ако не сте запознати с <b>{ $mitm }</b> това може да е атака и няма какво да направите, за да посетите страницата.
+
+# Variables:
+# $hostname (String) - Hostname of the website to which the user was trying to connect.
+certerror-what-should-i-do-bad-sts-cert-explanation = <b>{ $hostname }</b> използва политика за сигурност наречена HTTP Strict Transport Security (HSTS), което означава, че { -brand-short-name } може да използва само сигурни връзки. Не може да добавяте изключение при посещение на тази страница.
diff --git a/l10n-bg/toolkit/toolkit/neterror/nsserrors.ftl b/l10n-bg/toolkit/toolkit/neterror/nsserrors.ftl
new file mode 100644
index 0000000000..40ee8b867e
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/neterror/nsserrors.ftl
@@ -0,0 +1,350 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+# DO NOT ADD THINGS OTHER THAN ERROR MESSAGES HERE.
+# This file gets parsed into a JS dictionary of all known error message ids in
+# gen_aboutneterror_codes.py . If we end up needing fluent attributes or
+# refactoring them in some way, the script will need updating.
+
+psmerr-ssl-disabled = Не може да бъде осъществена безопасна връзка, защото SSL протоколът е изключен.
+psmerr-ssl2-disabled = Не може да бъде осъществена безопасна връзка, защото страницата използва стара и несигурна версия на протокола SSL.
+
+# This is a multi-line message.
+psmerr-hostreusedissuerandserial =
+ Вие получихте невалиден сертификат. Моля, свържете се с администратора на сървъра и дайте следната информация:
+
+ Вашият сертификат съдържа същия сериен номер като друг, издаден от сертификатора. Моля, дайте нов сертификат с уникален сериен номер.
+
+ssl-error-export-only-server = Не може да се осъществи сигурна комуникация. Партньорът не поддържа висококачествено шифроване.
+ssl-error-us-only-server = Не може да се осъществи сигурна комуникация. Партньорът изисква неподдържано висококачествено шифроване.
+ssl-error-no-cypher-overlap = Не може да се осъществи сигурна комуникация. Няма общи алгоритми за шифроване.
+ssl-error-no-certificate = Не може да се намери сертификата или ключа, необходим за удостоверяване.
+ssl-error-bad-certificate = Не може да се осъществи сигурна комуникация. Сертификатът на партньора е отхвърлен.
+ssl-error-bad-client = Сървърът получи лоши данни от клиента.
+ssl-error-bad-server = Клиентът получи лоши данни от сървъра.
+ssl-error-unsupported-certificate-type = Неподдържан вид на сертификат.
+ssl-error-unsupported-version = Партньорът използва неподдържана версия на протокол за сигурност.
+ssl-error-wrong-certificate = Провалено клиентско удостоверяване: частният ключ в базата данни с ключове не съвпада с публичния ключ в базата данни със сертификати.
+ssl-error-bad-cert-domain = Не може да се осъществи сигурна комуникация с партньора: поисканото име на домейн не съвпада със сертификата на сървъра.
+ssl-error-post-warning = Неразпознат код на грешка на SSL.
+ssl-error-ssl2-disabled = Партньорът поддържа само версия 2 на SSL, която е блокирана локално.
+ssl-error-bad-mac-read = SSL получи запис с неправилен код за удостоверяване на съобщение (MAC).
+ssl-error-bad-mac-alert = SSL докладва неправилен код за удостоверяване на съобщение (MAC).
+ssl-error-bad-cert-alert = Партньорът на SSL не може да провери вашия сертификат.
+ssl-error-revoked-cert-alert = Партньорът на SSL отхвърли вашия сертификат като анулиран.
+ssl-error-expired-cert-alert = Партньорът на SSL отхвърли вашия сертификат като с изтекъл срок.
+ssl-error-ssl-disabled = Не може да се осъществи връзка: SSL е деактивиран.
+ssl-error-fortezza-pqg = Не може да се осъществи връзка: партньорът на SSL е в друг домейн FORTEZZA.
+ssl-error-unknown-cipher-suite = Поискан бе неизвестен комплект за шифроване на SSL.
+ssl-error-no-ciphers-supported = Няма активирани комплекти за шифроване в тази програма.
+ssl-error-bad-block-padding = SSL получи запис с лошо допълване на блок.
+ssl-error-rx-record-too-long = SSL получи запис, надвишаващ максималната разрешена големина.
+ssl-error-tx-record-too-long = SSL се опита да изпрати запис, надвишаващ максималната разрешена големина.
+ssl-error-rx-malformed-hello-request = SSL получи лошо конструирано съобщение за ръкостискане Hello Request.
+ssl-error-rx-malformed-client-hello = SSL получи лошо конструирано съобщение за ръкостискане Client Hello.
+ssl-error-rx-malformed-server-hello = SSL получи лошо конструирано съобщение за ръкостискане Server Hello.
+ssl-error-rx-malformed-certificate = SSL получи лошо конструирано съобщение за ръкостискане Certificate.
+ssl-error-rx-malformed-server-key-exch = SSL получи лошо конструирано съобщение за ръкостискане Server Key Exchange.
+ssl-error-rx-malformed-cert-request = SSL получи лошо конструирано съобщение за ръкостискане Certificate Request.
+ssl-error-rx-malformed-hello-done = SSL получи лошо конструирано съобщение за ръкостискане Server Hello Done.
+ssl-error-rx-malformed-cert-verify = SSL получи лошо конструирано съобщение за ръкостискане Certificate Verify.
+ssl-error-rx-malformed-client-key-exch = SSL получи лошо конструирано съобщение за ръкостискане Client Key Exchange.
+ssl-error-rx-malformed-finished = SSL получи лошо конструирано съобщение за ръкостискане Finished.
+ssl-error-rx-malformed-change-cipher = SSL получи лошо конструиран запис Change Cipher Spec.
+ssl-error-rx-malformed-alert = SSL получи лошо конструиран запис Alert.
+ssl-error-rx-malformed-handshake = SSL получи лошо конструиран запис Handshake.
+ssl-error-rx-malformed-application-data = SSL получи лошо конструиран запис Application Data.
+ssl-error-rx-unexpected-hello-request = SSL получи неочаквано съобщение за ръкостискане Hello Request.
+ssl-error-rx-unexpected-client-hello = SSL получи неочаквано съобщение за ръкостискане Client Hello.
+ssl-error-rx-unexpected-server-hello = SSL получи неочаквано съобщение за ръкостискане Server Hello.
+ssl-error-rx-unexpected-certificate = SSL получи неочаквано съобщение за ръкостискане Certificate.
+ssl-error-rx-unexpected-server-key-exch = SSL получи неочаквано съобщение за ръкостискане Server Key Exchange.
+ssl-error-rx-unexpected-cert-request = SSL получи неочаквано съобщение за ръкостискане Certificate Request.
+ssl-error-rx-unexpected-hello-done = SSL получи неочаквано съобщение за ръкостискане Server Hello Done.
+ssl-error-rx-unexpected-cert-verify = SSL получи неочаквано съобщение за ръкостискане Certificate Verify.
+ssl-error-rx-unexpected-client-key-exch = SSL получи неочаквано съобщение за ръкостискане Client Key Exchange.
+ssl-error-rx-unexpected-finished = SSL получи неочаквано съобщение за ръкостискане Finished.
+ssl-error-rx-unexpected-change-cipher = SSL получи неочаквано съобщение за ръкостискане Change Cipher Spec.
+ssl-error-rx-unexpected-alert = SSL получи неочакван запис Alert.
+ssl-error-rx-unexpected-handshake = SSL получи неочакван запис Handshake.
+ssl-error-rx-unexpected-application-data = SSL получи неочакван запис Application Data.
+ssl-error-rx-unknown-record-type = SSL получи запис с неизвестен вид съдържание.
+ssl-error-rx-unknown-handshake = SSL получи неочаквано съобщение за ръкостискане от неизвестен вид.
+ssl-error-rx-unknown-alert = SSL получи предупреждаващ запис с неизвестно описание на предупреждението.
+ssl-error-close-notify-alert = Партньорът на SSL затвори връзката.
+ssl-error-handshake-unexpected-alert = Партньорът на SSL не очакваше полученото от него съобщение за ръкостискане.
+ssl-error-decompression-failure-alert = Партньорът на SSL не можа успешно да декомпресира получения от него запис на SSL.
+ssl-error-handshake-failure-alert = Партньорът на SSL не може да съгласува приемлив набор от параметри на сигурността.
+ssl-error-illegal-parameter-alert = Партньорът на SSL отхвърли съобщението за ръкостискане поради неприемливо съдържание.
+ssl-error-unsupported-cert-alert = Партньорът на SSL не поддържа вида сертификати, които получи.
+ssl-error-certificate-unknown-alert = Партньорът на SSL има неуточнен проблем с получените от него сертификати.
+ssl-error-generate-random-failure = SSL се натъкна на проблем в генерирането на случайни числа.
+ssl-error-sign-hashes-failure = Данни, необходими за проверка на вашия сертификат, не можаха да бъдат цифрово подписани.
+ssl-error-extract-public-key-failure = SSL не можа да извлече публичния ключ от сертификата на партньора.
+ssl-error-server-key-exchange-failure = Неуточнена грешка при обработката на ръкостискането на SSL Server Key Exchange.
+ssl-error-client-key-exchange-failure = Неуточнена грешка при обработката на ръкостискането на SSL Client Key Exchange.
+ssl-error-encryption-failure = Шифроващият алгоритъм за масови данни се провали в избрания комплект за шифроване.
+ssl-error-decryption-failure = Дешифроващият алгоритъм за масови данни се провали в избрания комплект за шифроване.
+ssl-error-socket-write-failure = Грешка при опит за запис на шифровани данни в използвания сокет.
+ssl-error-md5-digest-failure = Грешка при хеширане с MD5.
+ssl-error-sha-digest-failure = Грешка при хеширане с SHA-1.
+ssl-error-mac-computation-failure = Грешка при изчисляване на MAC.
+ssl-error-sym-key-context-failure = Грешка при създаване на контекст за симетричен ключ.
+ssl-error-sym-key-unwrap-failure = Грешка при разопаковане на симетричен ключ в съобщение Client Key Exchange.
+ssl-error-pub-key-size-limit-exceeded = SSL на сървъра се опита да използва публичен ключ с по-високо ниво на сигурност отколкото позволява комплекта за шифроване, разрешен за експорт от САЩ.
+ssl-error-iv-param-failure = Кодът на PKCS11 не можа да направи параметър от IV.
+ssl-error-init-cipher-suite-failure = Грешка при инициализиране на избрания комплект за шифроване.
+ssl-error-session-key-gen-failure = Клиентът не можа да генерира сесийни ключове за сесията на SSL.
+ssl-error-no-server-key-for-alg = Сървърът няма предложен ключ за опитания алгоритъм за обмяна на ключове.
+ssl-error-token-insertion-removal = Токен на PKCS#11 беше вмъкнат или премахнат, докато операцията все още беше в ход.
+ssl-error-token-slot-not-found = Не можа да се намери токен на PKCS#11, който да извърши изисквана операция.
+ssl-error-no-compression-overlap = Не може да се осъществи сигурна комуникация. Няма общи алгоритми за компресиране.
+ssl-error-handshake-not-completed = Не може да се инициира друго ръкостискане на SSL, докато текущото ръкостискане все още е в ход.
+ssl-error-bad-handshake-hash-value = От партньора са получени неправилни хеш стойности на ръкостискането.
+ssl-error-cert-kea-mismatch = Даденият сертификат не може да се използва с избрания алгоритъм за обмяна на ключове.
+ssl-error-no-trusted-ssl-client-ca = Няма удостоверител на сертификати, на който да се доверяваме за клиентското удостоверяване по SSL.
+ssl-error-session-not-found = Клиентският сесиен идентификатор на SSL не е намерен в склада за сесии на сървъра.
+ssl-error-decryption-failed-alert = Партньорът не можа да дешифрира полученият от него запис на SSL.
+ssl-error-record-overflow-alert = Партньорът получи запис на SSL, който е по-дълъг от позволеното.
+ssl-error-unknown-ca-alert = Партньорът не признава и не се доверява на CA-то, който е издал вашия сертификат.
+ssl-error-access-denied-alert = Партньорът получи валиден сертификат, но достъпът беше отказан.
+ssl-error-decode-error-alert = Партньорът не можа да декодира съобщение за ръкостискане на SSL.
+ssl-error-decrypt-error-alert = Партньорът докладва за грешка в проверка на подпис или в обмяна на ключове.
+ssl-error-export-restriction-alert = Партньорът докладва несъвместимост на договарянето с регулациите за експорт на САЩ.
+ssl-error-protocol-version-alert = Партньорът докладва несъвместима или неподдържана версия на протокола.
+ssl-error-insufficient-security-alert = Сървърът изисква шифри, които са по-сигурни от поддържаните от клиента.
+ssl-error-internal-error-alert = Партньорът докладва за своя вътрешна грешка.
+ssl-error-user-canceled-alert = Потребителят на партньора прекъсна ръкостискането.
+ssl-error-no-renegotiation-alert = Партньорът не позволява предоговаряне на параметрите по сигурността на SSL.
+ssl-error-server-cache-not-configured = Складът на SSL сървъра не е настроен и не е изключен за този сокет.
+ssl-error-unsupported-extension-alert = Партньорът на SSL не поддържа изисканото разширение hello на TLS.
+ssl-error-certificate-unobtainable-alert = Партньорът на SSL не можа да получи вашия сертификат от подадения URL.
+ssl-error-unrecognized-name-alert = Партньорът на SSL няма сертификат за исканото име по DNS.
+ssl-error-bad-cert-status-response-alert = Партньорът на SSL не можа да получи отговор от OCSP за неговия сертификат.
+ssl-error-bad-cert-hash-value-alert = Партньорът на SSL докладва за грешна стойност на хеш на сертификат.
+ssl-error-rx-unexpected-new-session-ticket = SSL получи неочаквано съобщение за ръкостискане New Session Ticket.
+ssl-error-rx-malformed-new-session-ticket = SSL получи лошо конструирано съобщение за ръкостискане New Session Ticket.
+ssl-error-decompression-failure = SSL получи компресиран запис, който не можа да се декомпресира.
+ssl-error-renegotiation-not-allowed = Не е позволено предоговаряне в този сокет на SSL.
+ssl-error-unsafe-negotiation = Партньорът опита ръкостискане в стар стил, който е потенциално уязвим.
+ssl-error-rx-unexpected-uncompressed-record = SSL получи неочакван некомпресиран запис.
+ssl-error-weak-server-ephemeral-dh-key = SSL получи слаб краткотраен ключ Diffie-Hellman в съобщение за ръкостискане Server Key Exchange.
+ssl-error-next-protocol-data-invalid = SSL получи невалидни данни за разширение NPN.
+ssl-error-feature-not-supported-for-ssl2 = SSL възможност неподдържана за връзки с SSL 2.0.
+ssl-error-feature-not-supported-for-servers = SSL възможност неподдържана за сървъри.
+ssl-error-feature-not-supported-for-clients = SSL възможност неподдържана за клиенти.
+ssl-error-invalid-version-range = Невалиден диапазон на версии на SSL.
+ssl-error-cipher-disallowed-for-version = Партньорът на SSL избра комплект за шифроване, който не е позволен за избраната версия на протокола.
+ssl-error-rx-malformed-hello-verify-request = SSL получи лошо конструирано съобщение за ръкостискане Hello Verify Request.
+ssl-error-rx-unexpected-hello-verify-request = SSL получи неочаквано съобщение за ръкостискане Hello Verify Request.
+ssl-error-feature-not-supported-for-version = SSL възможност неподдържана за тази версия на протокола.
+ssl-error-rx-unexpected-cert-status = SSL получи неочаквано съобщение за ръкостискане Certificate Status.
+ssl-error-unsupported-hash-algorithm = Партньорът на TLS използва неподдържан алгоритъм за хеш.
+ssl-error-digest-failure = Грешка при хеширане.
+ssl-error-incorrect-signature-algorithm = Указана е неправилна сигнатура на алгоритъм в цифрово подписан елемент.
+ssl-error-next-protocol-no-callback = Разширението за договаряне на следващ протокол е включено, но обратното повикване беше прекъснато преди да бъде нужно.
+ssl-error-next-protocol-no-protocol = Сървърът не поддържа протокол, който клиентът обявява в разширение ALPN.
+ssl-error-inappropriate-fallback-alert = Сървърът отхвърли ръкостискането, защото клиентът понижи версията на TLS до такава, която не се поддържа от сървъра.
+ssl-error-weak-server-cert-key = Сертификатът на сървъра има публичен ключ, който е твърде слаб.
+ssl-error-rx-short-dtls-read = Няма достатъчно място в междинната памет за запис на DTLS.
+ssl-error-no-supported-signature-algorithm = Настроен е неподдържан алгоритъм за подпис на TLS.
+ssl-error-unsupported-signature-algorithm = Партньорът използва неподдържана комбинация от подпис и алгоритъм за хеширане.
+ssl-error-missing-extended-master-secret = Партньорът се опита да продължи без правилно разширение extended_master_secret.
+ssl-error-unexpected-extended-master-secret = Партньорът се опита да продължи с неочаквано разширение extended_master_secret.
+
+sec-error-io = Получи се входно-изходна грешка по време на удостоверяване по сигурността.
+sec-error-library-failure = грешка в библиотеката по сигурност.
+sec-error-bad-data = библиотека по сигурност: получени грешни данни.
+sec-error-output-len = библиотека по сигурност: грешка в големината на изхода.
+sec-error-input-len = библиотеката по сигурност получи грешка във големината на входа.
+sec-error-invalid-args = библиотека по сигурност: невалидни аргументи.
+sec-error-invalid-algorithm = библиотека по сигурност: невалиден алгоритъм.
+sec-error-invalid-ava = библиотека по сигурност: невалиден AVA.
+sec-error-invalid-time = Неправилно форматиран низ за време.
+sec-error-bad-der = библиотека по сигурност: неправилно форматирано съобщение, кодирано с DER.
+sec-error-bad-signature = Сертификатът на партньора има невалиден подпис.
+sec-error-expired-certificate = Сертификатът на партньора е с изтекъл срок на валидност.
+sec-error-revoked-certificate = Сертификатът на партньора е анулиран.
+sec-error-unknown-issuer = Издателят на сертификата на партньора е непознат.
+sec-error-bad-key = Публичният ключ на партньора е невалиден.
+sec-error-bad-password = Въведената парола по сигурността е грешна.
+sec-error-retry-password = Новата парола е въведена неправилно. Моля, опитайте отново.
+sec-error-no-nodelock = библиотека по сигурност: няма nodeblock.
+sec-error-bad-database = библиотека по сигурност: лоша база данни.
+sec-error-no-memory = библиотека по сигурност: грешка при заделяне на памет.
+sec-error-untrusted-issuer = Издателят на сертификата на партньора е отбелязан като недоверен от потребителя.
+sec-error-untrusted-cert = Сертификатът на партньора е отбелязан като недоверен от потребителя.
+sec-error-duplicate-cert = Сертификатът вече съществува във вашата база данни.
+sec-error-duplicate-cert-name = Името на изтегления сертификат се дублира със съществуващ сертификат от вашата база от данни.
+sec-error-adding-cert = Грешка при добавяне на сертификат към база данни.
+sec-error-filing-key = Грешка при попълване на ключа за този сертификат.
+sec-error-no-key = Частният ключ за този сертификат не може да бъде намерен в базата от данни от ключове
+sec-error-cert-valid = Сертификатът е валиден.
+sec-error-cert-not-valid = Сертификатът не е валиден.
+sec-error-cert-no-response = Библиотека за сертификати: Няма отговор
+sec-error-expired-issuer-certificate = Сертификатът на издателя на сертификата е с изтекъл срок на валидност. Проверете датата и часа на вашата система.
+sec-error-crl-expired = CRL на издателя на сертификата е с изтекъл срок на валидност. Обновете го или проверете датата и часа на вашата система.
+sec-error-crl-bad-signature = CRL на издателя на сертификата е с невалиден подпис.
+sec-error-crl-invalid = Новият CRL е с невалиден формат.
+sec-error-extension-value-invalid = Стойност на разширение в сертификата е невалидно.
+sec-error-extension-not-found = Не е намерено разширение в сертификата.
+sec-error-ca-cert-invalid = Сертификатът на издателя е невалиден.
+sec-error-path-len-constraint-invalid = Ограничение за дължина на пътя на сертификата е невалидно.
+sec-error-cert-usages-invalid = Полето за употреби за сертификата е невалидно.
+sec-internal-only = **САМО за вътрешен модул**
+sec-error-invalid-key = Ключът не поддържа исканата операция.
+sec-error-unknown-critical-extension = Сертификатът съдържа неизвестно критично разширение.
+sec-error-old-crl = Новото CRL не е направено по-късно от сегашното CRL.
+sec-error-no-email-cert = Не е шифровано или подписано: все още нямате сертификат за имейл.
+sec-error-no-recipient-certs-query = Не е шифровано: нямате сертификати за всеки от получателите.
+sec-error-not-a-recipient = Не може да се дешифрова: не сте получател или не е намерен съвпадащ сертификат и частен ключ.
+sec-error-pkcs7-keyalg-mismatch = Не може да се дешифрова: алгоритъмът за шифроване на ключа не съвпада с вашия сертификат.
+sec-error-pkcs7-bad-signature = Грешка при проверка на подпис: подписалият не е намерен, твърде много подписали или неправилни или развалени данни.
+sec-error-unsupported-keyalg = Неподдържан или непознат алгоритъм за ключа.
+sec-error-decryption-disallowed = Не може да се дешифрова: шифровано с непозволен алгоритъм или дължина на ключ.
+sec-error-no-krl = Не е намерен KRL за сертификата на сайта.
+sec-error-krl-expired = KRL за сертификата на сайта е с изтекъл срок на валидност.
+sec-error-krl-bad-signature = KRL за сертификата на сайта е с невалиден подпис.
+sec-error-revoked-key = Ключът за сертификата на сайта е анулиран.
+sec-error-krl-invalid = Новият KRL е с невалиден формат.
+sec-error-need-random = библиотека по сигурност: нужни са случайни данни.
+sec-error-no-module = библиотека по сигурност: няма модул по сигурността, който да изпълни исканата операция.
+sec-error-no-token = Сигурната карта или токенът не съществува, трябва да бъде инициализиран или е изваден.
+sec-error-read-only = библиотека по сигурност: база данни само за четене.
+sec-error-no-slot-selected = Не е избран слот или токен.
+sec-error-cert-nickname-collision = Сертификат със същото име вече съществува.
+sec-error-key-nickname-collision = Ключ със същото съкратено име вече съществува.
+sec-error-safe-not-created = грешка при създаване на безопасен обект
+sec-error-baggage-not-created = грешка при създаване на временен обект
+sec-error-bad-export-algorithm = Не е позволен задължителен алгоритъм.
+sec-error-exporting-certificates = Грешка при опит за изнасяне на сертификати.
+sec-error-importing-certificates = Грешка при опит за внасяне на сертификати.
+sec-error-pkcs12-decoding-pfx = Грешка при внасяне. Грешка при декодиране. Файлът не е валиден.
+sec-error-pkcs12-invalid-mac = Грешка при внасяне. Невалиден MAC. Неправилна парола или развален файл.
+sec-error-pkcs12-unsupported-mac-algorithm = Грешка при внасяне. Неподдържан алгоритъм за MAC.
+sec-error-pkcs12-unsupported-transport-mode = Грешка при внасяне. Поддържани са само цялост с пароли или поверителни режими.
+sec-error-pkcs12-corrupt-pfx-structure = Грешка при внасяне. Файловата структура е повредена.
+sec-error-pkcs12-unsupported-pbe-algorithm = Грешка при внасяне. Неподдържан алгоритъм за шифроване.
+sec-error-pkcs12-unsupported-version = Грешка при внасяне. Неподдържана версия на файл.
+sec-error-pkcs12-privacy-password-incorrect = Грешка при внасяне. Невярна поверителна парола.
+sec-error-pkcs12-cert-collision = Грешка при внасяне. В базата данни вече има такова съкратено име.
+sec-error-user-cancelled = Потребителят натисна Прекъсване.
+sec-error-pkcs12-duplicate-data = Не е внесен, вече е в базата данни.
+sec-error-message-send-aborted = Съобщението не е изпратено.
+sec-error-inadequate-key-usage = Използването на ключа на сертификата е неадекватно за пробваната операция.
+sec-error-inadequate-cert-type = Този вид сертификати не е одобрен за приложението.
+sec-error-cert-addr-mismatch = Адресът в подписващия сертификат не съвпада с адреса в заглавките на съобщението.
+sec-error-pkcs12-unable-to-import-key = Грешка при внасяне. Грешка при опит за внасяне на частен ключ.
+sec-error-pkcs12-importing-cert-chain = Грешка при внасяне. Грешка при опит за внасяне на верига сертификати.
+sec-error-pkcs12-unable-to-locate-object-by-name = Грешка при изнасяне. Не можа да се намери сертификата или ключа по съкратено име.
+sec-error-pkcs12-unable-to-export-key = Грешка при изнасяне. Частният ключ не можа да бъде намерен или изнесен.
+sec-error-pkcs12-unable-to-write = Грешка при изнасяне. Грешка при запис във файл.
+sec-error-pkcs12-unable-to-read = Грешка при внасяне. Грешка при четене от файл.
+sec-error-pkcs12-key-database-not-initialized = Грешка при изнасяне. Базата данни с ключове е повредена или изтрита.
+sec-error-keygen-fail = Грешка при генериране на двойка ключове публичен/частен.
+sec-error-invalid-password = Въведената парола е невалидна. Моля, изберете друга.
+sec-error-retry-old-password = Старата парола е въведена неправилно. Моля, опитайте отново.
+sec-error-bad-nickname = Съкратеното име на сертификата вече се използва.
+sec-error-not-fortezza-issuer = Веригата FORTEZZA на партньора съдържа не-FORTEZZA сертификат.
+sec-error-cannot-move-sensitive-key = Конфиденциален ключ не можа да бъде преместен в слота, където е нужен.
+sec-error-js-invalid-module-name = Невалидно име на модул.
+sec-error-js-invalid-dll = Невалидно име на файл на модул
+sec-error-js-add-mod-failure = Добавяне на модул е невъзможно
+sec-error-js-del-mod-failure = Грешка при изтриване на модула
+sec-error-old-krl = Новото KRL не е направено по-късно от сегашното CRL.
+sec-error-ckl-conflict = Новото CKL има различен издател от текущото CKL. Изтрийте текущото CKL.
+sec-error-cert-not-in-name-space = Не е позволено на удостоверителя на сертификати (CA) за този сертификат да издава сертификат с такова име.
+sec-error-krl-not-yet-valid = Списъкът за анулиране на ключове на този сертификат все още не е валиден.
+sec-error-crl-not-yet-valid = Списъкът за анулиране на сертификати на този сертификат все още не е валиден.
+sec-error-unknown-cert = Исканият сертификат не можа да бъде намерен.
+sec-error-unknown-signer = Сертификатът на подписалия не може да бъде намерен.
+sec-error-cert-bad-access-location = Местоположението на сървъра за състояние на сертификата е с невалиден формат.
+sec-error-ocsp-unknown-response-type = Отговорът от OCSP не може да бъде напълно декодиран; от неизвестен вид е.
+sec-error-ocsp-bad-http-response = Съръвърът за OCSP върна неочаквани/невалидни данни по HTTP.
+sec-error-ocsp-malformed-request = Съръвърът за OCSP прецени заявката като развалена или неправилно формирана.
+sec-error-ocsp-server-error = Съръвърът за OCSP докладва своя вътрешна грешка.
+sec-error-ocsp-try-server-later = Съръвърът за OCSP предлага да се опита по-късно.
+sec-error-ocsp-request-needs-sig = Съръвърът за OCSP изисква подпис за тази заявка.
+sec-error-ocsp-unauthorized-request = Съръвърът за OCSP отказа тази заявка като неудостоверена.
+sec-error-ocsp-unknown-response-status = Съръвърът за OCSP върна неразпознаваемо състояние.
+sec-error-ocsp-unknown-cert = Съръвърът за OCSP няма състояние за сертификата.
+sec-error-ocsp-not-enabled = Трябва да активирате OCSP преди извършването на тази операция.
+sec-error-ocsp-no-default-responder = Трябва да зададете подразбиращ се отговарящ OCSP преди извършването на тази операция.
+sec-error-ocsp-malformed-response = Отговорът от сървъра на OCSP беше развален или неправилно формиран.
+sec-error-ocsp-unauthorized-response = Подписалият отговора на OCSP не е удостоверен да дава състояние за този сертификат.
+sec-error-ocsp-future-response = Отговорът на OCSP все още не е валиден, защото съдържа дата в бъдещето.
+sec-error-ocsp-old-response = Отговорът на OCSP съдържа неактуална информация.
+sec-error-digest-not-found = Не е намерен CMS или PKCS #7 Digest в подписано съобщение.
+sec-error-unsupported-message-type = Неподдържан CMS или вид на PKCS #7 Message.
+sec-error-module-stuck = Модул за PKCS #11 не може да бъде премахнат, тъй като все още се използва.
+sec-error-bad-template = Не може да се декодират данни ASN.1. Зададеният шаблон е невалиден.
+sec-error-crl-not-found = Не е намерен съвпадащ CRL.
+sec-error-reused-issuer-and-serial = Опитвате се да внесете сертификат със същия издател и сериен номер както съществуващ сертификат, но това не е същия сертификат.
+sec-error-busy = NSS не можа да се изключи. Все още се използват някои обекти.
+sec-error-extra-input = Кодирано с DER съобщение съдържа допълнителни неизползвани данни.
+sec-error-unsupported-elliptic-curve = Неподдържани елиптични криви.
+sec-error-unsupported-ec-point-form = Неподдържана точкова форма на елиптични криви.
+sec-error-unrecognized-oid = Неразпознат идентификатор на обект (OI).
+sec-error-ocsp-invalid-signing-cert = Невалиден подписващ сертификат на OCSP в отговор от OCSP.
+sec-error-revoked-certificate-crl = Сертификатът е анулиран в анулиращия списък от сертификати (CRL) на издателя.
+sec-error-revoked-certificate-ocsp = Отговарящият OCSP на издателя докладва, че сертификатът е анулиран.
+sec-error-crl-invalid-version = Анулиращият списък от сертификати (CRL) на издателя има неизвестен номер на версия.
+sec-error-crl-v1-critical-extension = Анулиращият списък от сертификати V1 (CRL) на издателя има критично разширение.
+sec-error-crl-unknown-critical-extension = Анулиращият списък от сертификати V2 (CRL) на издателя има неизвестно критично разширение.
+sec-error-unknown-object-type = Подаден е непознат вид обект.
+sec-error-incompatible-pkcs11 = Драйвер за PKCS #11 нарушава спецификацията по несъвместим начин.
+sec-error-no-event = За момента няма наличен нов слот за събитие.
+sec-error-crl-already-exists = CRL вече съществува.
+sec-error-not-initialized = NSS не е инициализиран.
+sec-error-token-not-logged-in = Операцията се провали, защото токенът на PKCS #11 не е вписан.
+sec-error-ocsp-responder-cert-invalid = Настроеният сертификат на отговорника по OCSP е невалиден.
+sec-error-ocsp-bad-signature = Отговорът от OCSP е с невалиден подпис.
+sec-error-out-of-search-limits = Валидиращото търсене на сертификат е извън обхвата на търсенето
+sec-error-invalid-policy-mapping = Съпоставянето на правила за пропускане (policy mapping) съдържа anypolicy
+sec-error-policy-validation-failed = Веригата сертификати не отговаря на валидиращите правила за пропускане (policy)
+sec-error-unknown-aia-location-type = Неизвестен вид местоположение в разширение AIA
+sec-error-bad-http-response = Сървърът върна грешен отговор по HTTP
+sec-error-bad-ldap-response = Сървърът върна грешен отговор по LDAP
+sec-error-failed-to-encode-data = Грешка при кодиране на данни с кодиране ASN1
+sec-error-bad-info-access-location = Грешно местоположение за достъп до информация в разширение на сертификата
+sec-error-libpkix-internal = Вътрешна грешка в libpkix при валидиране на сертификат.
+sec-error-pkcs11-general-error = Модул на PKCS #11 върна CKR_GENERAL_ERROR, показвайки, че се е случила непоправима грешка.
+sec-error-pkcs11-function-failed = Модул на PKCS #11 върна CKR_FUNCTION_ERROR, показвайки, че исканата функционалност не може да бъде извършена. Опитването отново на същата операция може и да успее.
+sec-error-pkcs11-device-error = Модул на PKCS #11 върна CKR_DEVICE_ERROR, показвайки, че се е получил проблем с токена или слота.
+sec-error-bad-info-access-method = Неизвестен метод за достъп до информация в разширение на сертификата.
+sec-error-crl-import-failed = Грешка при опит за внасяне на CRL.
+sec-error-expired-password = Паролата е с изтекъл срок на валидност.
+sec-error-locked-password = Паролата е заключена.
+sec-error-unknown-pkcs11-error = Неизвестна грешка на PKCS #11.
+sec-error-bad-crl-dp-url = Невалиден или неподдържан URL в име на точка за разпространение на CRL.
+sec-error-cert-signature-algorithm-disabled = Сертификатът е подписан с подписващ алгоритъм, който е деактивиран, понеже не е сигурен.
+
+mozilla-pkix-error-key-pinning-failure = Сървърът използва закотвяне на ключове (HPKP), но не може да се построи доверена верига от сертификати, която да съвпада със закотвянето (pinset). Нарушенията при закотвяне на ключове не могат да бъдат пренебрегнати.
+mozilla-pkix-error-ca-cert-used-as-end-entity = Сървърът използва сертификат с разширение за основни ограничения, определящи го като удостоверител на сертификати (CA). Това не може да е така при правилно издаден сертификат.
+mozilla-pkix-error-inadequate-key-size = Сървърът предостави сертификат с дължина на ключ, която е твърде малка за осигуряване на сигурна връзка.
+mozilla-pkix-error-v1-cert-used-as-ca = За издаване на сървърния сертификат е използван сертификат X.509 версия 1, който не е доверена опора. Сертификатите X.509 версия 1 са изведени от употреба и не трябва да се използват за подписване на други сертификати.
+mozilla-pkix-error-not-yet-valid-certificate = Сървърът предостави сертификат, който все още не е валиден.
+mozilla-pkix-error-not-yet-valid-issuer-certificate = За издаване на сървърския сертификат е използван все още невалиден сертификат.
+mozilla-pkix-error-signature-algorithm-mismatch = Подписващият алгоритъм в полето с подпис на сертификата не съвпада с алгоритъма в неговото поле signatureAlgorithm.
+mozilla-pkix-error-ocsp-response-for-cert-missing = Отговорът от OCSP не съдържа състоянието на проверявания сертификат.
+mozilla-pkix-error-validity-too-long = Сървърът предостави сертификат, който е валиден от твърде много време насам.
+mozilla-pkix-error-required-tls-feature-missing = Липсва задължителна възможност на TLS.
+mozilla-pkix-error-invalid-integer-encoding = Сървърът представи сертификат, съдържащ невалидно кодиране на цяло число. Разпространени причини за това са отрицателен сериен номер, отрицателен RSA moduli и кодиране, по-дълги от нужното.
+mozilla-pkix-error-empty-issuer-name = Сървърът предостави сертификат с празно име на издателя.
+mozilla-pkix-error-additional-policy-constraint-failed = При проверката на сертификата е установено нарушение на ограничение, наложено от допълнителна политика.
+mozilla-pkix-error-self-signed-cert = Няма увереност в сертификата, защото е самоподписан.
+
+xp-java-remove-principal-error = Принципалът не можа да се премахне
+xp-java-delete-privilege-error = Привилегията не можа да се премахне
+xp-java-cert-not-exists-error = Принципалът няма сертификат
+
+xp-sec-fortezza-bad-card = Картата Fortezza не е правилно инициализирана. Моля, изкарайте я и я върнете на издателя.
+xp-sec-fortezza-no-card = Не са намерени карти Fortezza
+xp-sec-fortezza-none-selected = Не е избрана карта Fortezza
+xp-sec-fortezza-more-info = Моля, изберете профил за повече информация
+xp-sec-fortezza-person-not-found = Не е намерен профил
+xp-sec-fortezza-no-more-info = Няма повече информация за този профил
+xp-sec-fortezza-bad-pin = Невалиден пин
+xp-sec-fortezza-person-error = Не можаха да се инициализират профилите на Fortezza.
diff --git a/l10n-bg/toolkit/toolkit/passwordmgr/passwordmgr.ftl b/l10n-bg/toolkit/toolkit/passwordmgr/passwordmgr.ftl
new file mode 100644
index 0000000000..d1c513870d
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/passwordmgr/passwordmgr.ftl
@@ -0,0 +1,23 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Save and update password doorhanger
+
+password-manager-save-password-button-allow =
+ .label = Запазване
+ .accesskey = а
+password-manager-password-password-button-allow =
+ .label = Обновяване
+ .accesskey = О
+password-manager-update-password-button-deny =
+ .label = Отказ
+ .accesskey = з
+# This is displayed in place of the username when it is missing.
+password-manager-no-username-placeholder = Няма потребителско име
+password-manager-toggle-password =
+ .label = Показване на паролата
+ .accesskey = р
+password-manager-confirm-password-change = Потвърждение на смяна на парола
+password-manager-select-username = Изберете коя регистрация да бъде обновена:
diff --git a/l10n-bg/toolkit/toolkit/payments/payments.ftl b/l10n-bg/toolkit/toolkit/payments/payments.ftl
new file mode 100644
index 0000000000..6dff2baced
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/payments/payments.ftl
@@ -0,0 +1,18 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+# This value isn't used directly, but is defined to avoid duplication
+# in the "credit-card-label-*" strings.
+#
+# Variables:
+# $month (String): Numeric month the credit card expires
+# $year (String): Four-digit year the credit card expires
+credit-card-expiration = Изтича на { $month }.{ $year }
+
+## These labels serve as a description of a credit card.
+## The description must include a credit card number, and may optionally
+## include a cardholder name, an expiration date, or both, so we have
+## four variations.
+
diff --git a/l10n-bg/toolkit/toolkit/pdfviewer/viewer.ftl b/l10n-bg/toolkit/toolkit/pdfviewer/viewer.ftl
new file mode 100644
index 0000000000..d58e343f52
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/pdfviewer/viewer.ftl
@@ -0,0 +1,247 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Main toolbar buttons (tooltips and alt text for images)
+
+pdfjs-previous-button =
+ .title = Предишна страница
+pdfjs-previous-button-label = Предишна
+pdfjs-next-button =
+ .title = Следваща страница
+pdfjs-next-button-label = Следваща
+# .title: Tooltip for the pageNumber input.
+pdfjs-page-input =
+ .title = Страница
+# Variables:
+# $pagesCount (Number) - the total number of pages in the document
+# This string follows an input field with the number of the page currently displayed.
+pdfjs-of-pages = от { $pagesCount }
+# Variables:
+# $pageNumber (Number) - the currently visible page
+# $pagesCount (Number) - the total number of pages in the document
+pdfjs-page-of-pages = ({ $pageNumber } от { $pagesCount })
+pdfjs-zoom-out-button =
+ .title = Намаляване
+pdfjs-zoom-out-button-label = Намаляване
+pdfjs-zoom-in-button =
+ .title = Увеличаване
+pdfjs-zoom-in-button-label = Увеличаване
+pdfjs-zoom-select =
+ .title = Мащабиране
+pdfjs-presentation-mode-button =
+ .title = Превключване към режим на представяне
+pdfjs-presentation-mode-button-label = Режим на представяне
+pdfjs-open-file-button =
+ .title = Отваряне на файл
+pdfjs-open-file-button-label = Отваряне
+pdfjs-print-button =
+ .title = Отпечатване
+pdfjs-print-button-label = Отпечатване
+
+## Secondary toolbar and context menu
+
+pdfjs-tools-button =
+ .title = Инструменти
+pdfjs-tools-button-label = Инструменти
+pdfjs-first-page-button =
+ .title = Към първата страница
+pdfjs-first-page-button-label = Към първата страница
+pdfjs-last-page-button =
+ .title = Към последната страница
+pdfjs-last-page-button-label = Към последната страница
+pdfjs-page-rotate-cw-button =
+ .title = Завъртане по час. стрелка
+pdfjs-page-rotate-cw-button-label = Завъртане по часовниковата стрелка
+pdfjs-page-rotate-ccw-button =
+ .title = Завъртане обратно на час. стрелка
+pdfjs-page-rotate-ccw-button-label = Завъртане обратно на часовниковата стрелка
+pdfjs-cursor-text-select-tool-button =
+ .title = Включване на инструмента за избор на текст
+pdfjs-cursor-text-select-tool-button-label = Инструмент за избор на текст
+pdfjs-cursor-hand-tool-button =
+ .title = Включване на инструмента ръка
+pdfjs-cursor-hand-tool-button-label = Инструмент ръка
+pdfjs-scroll-vertical-button =
+ .title = Използване на вертикално плъзгане
+pdfjs-scroll-vertical-button-label = Вертикално плъзгане
+pdfjs-scroll-horizontal-button =
+ .title = Използване на хоризонтално
+pdfjs-scroll-horizontal-button-label = Хоризонтално плъзгане
+pdfjs-scroll-wrapped-button =
+ .title = Използване на мащабируемо плъзгане
+pdfjs-scroll-wrapped-button-label = Мащабируемо плъзгане
+pdfjs-spread-none-button =
+ .title = Режимът на сдвояване е изключен
+pdfjs-spread-none-button-label = Без сдвояване
+pdfjs-spread-odd-button =
+ .title = Сдвояване, започвайки от нечетните страници
+pdfjs-spread-odd-button-label = Нечетните отляво
+pdfjs-spread-even-button =
+ .title = Сдвояване, започвайки от четните страници
+pdfjs-spread-even-button-label = Четните отляво
+
+## Document properties dialog
+
+pdfjs-document-properties-button =
+ .title = Свойства на документа…
+pdfjs-document-properties-button-label = Свойства на документа…
+pdfjs-document-properties-file-name = Име на файл:
+pdfjs-document-properties-file-size = Големина на файл:
+# Variables:
+# $size_kb (Number) - the PDF file size in kilobytes
+# $size_b (Number) - the PDF file size in bytes
+pdfjs-document-properties-kb = { $size_kb } КБ ({ $size_b } байта)
+# Variables:
+# $size_mb (Number) - the PDF file size in megabytes
+# $size_b (Number) - the PDF file size in bytes
+pdfjs-document-properties-mb = { $size_mb } МБ ({ $size_b } байта)
+pdfjs-document-properties-title = Заглавие:
+pdfjs-document-properties-author = Автор:
+pdfjs-document-properties-subject = Тема:
+pdfjs-document-properties-keywords = Ключови думи:
+pdfjs-document-properties-creation-date = Дата на създаване:
+pdfjs-document-properties-modification-date = Дата на промяна:
+# Variables:
+# $date (Date) - the creation/modification date of the PDF file
+# $time (Time) - the creation/modification time of the PDF file
+pdfjs-document-properties-date-string = { $date }, { $time }
+pdfjs-document-properties-creator = Създател:
+pdfjs-document-properties-producer = PDF произведен от:
+pdfjs-document-properties-version = Издание на PDF:
+pdfjs-document-properties-page-count = Брой страници:
+pdfjs-document-properties-page-size = Размер на страницата:
+pdfjs-document-properties-page-size-unit-inches = инч
+pdfjs-document-properties-page-size-unit-millimeters = мм
+pdfjs-document-properties-page-size-orientation-portrait = портрет
+pdfjs-document-properties-page-size-orientation-landscape = пейзаж
+pdfjs-document-properties-page-size-name-a-three = A3
+pdfjs-document-properties-page-size-name-a-four = A4
+pdfjs-document-properties-page-size-name-letter = Letter
+pdfjs-document-properties-page-size-name-legal = Правни въпроси
+
+## Variables:
+## $width (Number) - the width of the (current) page
+## $height (Number) - the height of the (current) page
+## $unit (String) - the unit of measurement of the (current) page
+## $name (String) - the name of the (current) page
+## $orientation (String) - the orientation of the (current) page
+
+pdfjs-document-properties-page-size-dimension-string = { $width } × { $height } { $unit } ({ $orientation })
+pdfjs-document-properties-page-size-dimension-name-string = { $width } × { $height } { $unit } ({ $name }, { $orientation })
+
+##
+
+# The linearization status of the document; usually called "Fast Web View" in
+# English locales of Adobe software.
+pdfjs-document-properties-linearized = Бърз преглед:
+pdfjs-document-properties-linearized-yes = Да
+pdfjs-document-properties-linearized-no = Не
+pdfjs-document-properties-close-button = Затваряне
+
+## Print
+
+pdfjs-print-progress-message = Подготвяне на документа за отпечатване…
+# Variables:
+# $progress (Number) - percent value
+pdfjs-print-progress-percent = { $progress }%
+pdfjs-print-progress-close-button = Отказ
+pdfjs-printing-not-supported = Внимание: Този четец няма пълна поддръжка на отпечатване.
+pdfjs-printing-not-ready = Внимание: Този PDF файл не е напълно зареден за печат.
+
+## Tooltips and alt text for side panel toolbar buttons
+
+pdfjs-toggle-sidebar-button =
+ .title = Превключване на страничната лента
+pdfjs-toggle-sidebar-button-label = Превключване на страничната лента
+pdfjs-document-outline-button =
+ .title = Показване на структурата на документа (двукратно щракване за свиване/разгъване на всичко)
+pdfjs-document-outline-button-label = Структура на документа
+pdfjs-attachments-button =
+ .title = Показване на притурките
+pdfjs-attachments-button-label = Притурки
+pdfjs-thumbs-button =
+ .title = Показване на миниатюрите
+pdfjs-thumbs-button-label = Миниатюри
+pdfjs-findbar-button =
+ .title = Намиране в документа
+pdfjs-findbar-button-label = Търсене
+
+## Thumbnails panel item (tooltip and alt text for images)
+
+# Variables:
+# $page (Number) - the page number
+pdfjs-thumb-page-title =
+ .title = Страница { $page }
+# Variables:
+# $page (Number) - the page number
+pdfjs-thumb-page-canvas =
+ .aria-label = Миниатюра на страница { $page }
+
+## Find panel button title and messages
+
+pdfjs-find-input =
+ .title = Търсене
+ .placeholder = Търсене в документа…
+pdfjs-find-previous-button =
+ .title = Намиране на предишно съвпадение на фразата
+pdfjs-find-previous-button-label = Предишна
+pdfjs-find-next-button =
+ .title = Намиране на следващо съвпадение на фразата
+pdfjs-find-next-button-label = Следваща
+pdfjs-find-highlight-checkbox = Открояване на всички
+pdfjs-find-match-case-checkbox-label = Съвпадение на регистъра
+pdfjs-find-entire-word-checkbox-label = Цели думи
+pdfjs-find-reached-top = Достигнато е началото на документа, продължаване от края
+pdfjs-find-reached-bottom = Достигнат е краят на документа, продължаване от началото
+pdfjs-find-not-found = Фразата не е намерена
+
+## Predefined zoom values
+
+pdfjs-page-scale-width = Ширина на страницата
+pdfjs-page-scale-fit = Вместване в страницата
+pdfjs-page-scale-auto = Автоматично мащабиране
+pdfjs-page-scale-actual = Действителен размер
+# Variables:
+# $scale (Number) - percent value for page scale
+pdfjs-page-scale-percent = { $scale }%
+
+## PDF page
+
+
+## Loading indicator messages
+
+pdfjs-loading-error = Получи се грешка при зареждане на PDF-а.
+pdfjs-invalid-file-error = Невалиден или повреден PDF файл.
+pdfjs-missing-file-error = Липсващ PDF файл.
+pdfjs-unexpected-response-error = Неочакван отговор от сървъра.
+pdfjs-rendering-error = Грешка при изчертаване на страницата.
+
+## Annotations
+
+# .alt: This is used as a tooltip.
+# Variables:
+# $type (String) - an annotation type from a list defined in the PDF spec
+# (32000-1:2008 Table 169 – Annotation types).
+# Some common types are e.g.: "Check", "Text", "Comment", "Note"
+pdfjs-text-annotation-type =
+ .alt = [Анотация { $type }]
+
+## Password
+
+pdfjs-password-label = Въведете парола за отваряне на този PDF файл.
+pdfjs-password-invalid = Невалидна парола. Моля, опитайте отново.
+pdfjs-password-ok-button = Добре
+pdfjs-password-cancel-button = Отказ
+pdfjs-web-fonts-disabled = Уеб-шрифтовете са забранени: разрешаване на използването на вградените PDF шрифтове.
+
+## Editing
+
+
+## Alt-text dialog
+
+
+## Editor resizers
+## This is used in an aria label to help to understand the role of the resizer.
+
diff --git a/l10n-bg/toolkit/toolkit/pictureinpicture/pictureinpicture.ftl b/l10n-bg/toolkit/toolkit/pictureinpicture/pictureinpicture.ftl
new file mode 100644
index 0000000000..31bd19f1b3
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/pictureinpicture/pictureinpicture.ftl
@@ -0,0 +1,26 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+pictureinpicture-player-title = Картина в картината
+
+## Variables:
+## $shortcut (String) - Keyboard shortcut to execute the command.
+
+## Note that this uses .tooltip rather than the standard '.title'
+## or '.tooltiptext' - but it has the same effect. Code in the
+## picture-in-picture window will read and copy this to an in-document
+## DOM node that then shows the tooltip.
+##
+## Variables:
+## $shortcut (String) - Keyboard shortcut to execute the command.
+
+##
+
+## Note that this uses .tooltip rather than the standard '.title'
+## or '.tooltiptext' - but it has the same effect. Code in the
+## picture-in-picture window will read and copy this to an in-document
+## DOM node that then shows the tooltip.
+
+##
+
diff --git a/l10n-bg/toolkit/toolkit/preferences/preferences.ftl b/l10n-bg/toolkit/toolkit/preferences/preferences.ftl
new file mode 100644
index 0000000000..aec5921af0
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/preferences/preferences.ftl
@@ -0,0 +1,37 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+password-not-set =
+ .value = (не е зададена)
+
+failed-pp-change = Грешка при промяна на главната парола.
+incorrect-pp = Главната парола, която въведохте е грешна. Моля, опитайте отново.
+pp-change-ok = Главната парола е сменена успешно.
+
+pp-change2empty-in-fips-mode = В момента сте в режим на FIPS. FIPS изисква главна парола.
+pw-change-success-title = Успешна промяна на парола
+pw-change-failed-title = Грешка при промяна на паролата
+pw-remove-button =
+ .label = Премахване
+
+primary-password-dialog =
+ .title = Главна парола
+set-password-old-password = Текуща парола:
+set-password-new-password = Нова парола:
+set-password-reenter-password = Нова парола отново:
+set-password-meter = Качество на паролата
+set-password-meter-loading = Зареждане
+
+primary-password-admin = Администраторът изисква да изберете главна парола, преди да запазвате регистрации и пароли.
+primary-password-description = Главната парола се използва за да защитава на чувствителната информация, като регистрации пароли, на устройството. Ако създадете главна парола, когато { -brand-short-name } извлича защитената с нея информация ще трябва да я въвеждате, еднократно за сесията.
+primary-password-warning = Моля, погрижете се да запомните тази главната парола. Ако я забравите ще загубите достъпа до защитената с нея информация на това устройство.
+
+remove-primary-password =
+ .title = Премахване на главна парола
+remove-info =
+ .value = Трябва да въведете текущата си парола, за да продължите:
+remove-primary-password-warning1 = Главната парола се използва за защитаване на чувствителна информация като регистрации и пароли.
+remove-primary-password-warning2 = Ако премахнете главната парола, вашата информация няма да бъде защитена, в случай на пробив в сигурността на компютъра ви.
+remove-password-old-password =
+ .value = Текуща парола:
diff --git a/l10n-bg/toolkit/toolkit/printing/printDialogs.ftl b/l10n-bg/toolkit/toolkit/printing/printDialogs.ftl
new file mode 100644
index 0000000000..f3a328fadd
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/printing/printDialogs.ftl
@@ -0,0 +1,112 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+print-setup =
+ .title = Настройка на страницата
+custom-prompt-title = Приспособяване…
+custom-prompt-prompt = Моля, въведете вашия текст за горен/долен колонтитул
+basic-tab =
+ .label = Формат и настройки
+advanced-tab =
+ .label = Полета и горен/долен колонтитул
+format-group-label =
+ .value = Формат
+orientation-label =
+ .value = Ориентация:
+portrait =
+ .label = Портрет
+ .accesskey = П
+landscape =
+ .label = Пейзаж
+ .accesskey = ж
+scale =
+ .label = Мащаб:
+ .accesskey = М
+scale-percent =
+ .value = %
+shrink-to-fit =
+ .label = Смаляване до ширината на страницата
+ .accesskey = ш
+options-group-label =
+ .value = Настройки
+print-bg =
+ .label = Отпечатване на фон (цветове и изображения)
+ .accesskey = ф
+margin-group-label-inches =
+ .value = Полета (инчове)
+margin-group-label-metric =
+ .value = Полета (милиметри)
+margin-top =
+ .value = Отгоре:
+ .accesskey = г
+margin-top-invisible =
+ .value = Отгоре:
+margin-bottom =
+ .value = Отдолу:
+ .accesskey = д
+margin-bottom-invisible =
+ .value = Отдолу:
+margin-left =
+ .value = Отляво:
+ .accesskey = л
+margin-left-invisible =
+ .value = Отляво:
+margin-right =
+ .value = Отдясно:
+ .accesskey = д
+margin-right-invisible =
+ .value = Отдясно:
+header-footer-label =
+ .value = Горен и долен колонтитул
+hf-left-label =
+ .value = Отляво:
+hf-center-label =
+ .value = Център:
+hf-right-label =
+ .value = Отдясно:
+header-left-tip =
+ .tooltiptext = Ляв горен колонтитул
+header-center-tip =
+ .tooltiptext = Централен горен колонтитул
+header-right-tip =
+ .tooltiptext = Десен горен колонтитул
+footer-left-tip =
+ .tooltiptext = Ляв долен колонтитул
+footer-center-tip =
+ .tooltiptext = Централен долен колонтитул
+footer-right-tip =
+ .tooltiptext = Десен долен колонтитул
+hf-blank =
+ .label = --празно--
+hf-title =
+ .label = Заглавие
+hf-url =
+ .label = URL
+hf-date-and-time =
+ .label = Дата/час
+hf-page =
+ .label = Страница #
+hf-page-and-total =
+ .label = Страница # от #
+hf-custom =
+ .label = Приспособяване…
+print-preview-window =
+ .title = Преглед преди отпечатване
+print-title =
+ .value = Заглавие:
+print-preparing =
+ .value = Подготвяне…
+print-progress =
+ .value = Напредък:
+print-window =
+ .title = Отпечатване
+print-complete =
+ .value = Отпечатването е завършено.
+
+# Variables
+# $percent (integer) - Number of printed percentage
+print-percent =
+ .value = { $percent }%
+dialog-cancel-label = Отказ
+dialog-close-label = Затваряне
diff --git a/l10n-bg/toolkit/toolkit/printing/printPreview.ftl b/l10n-bg/toolkit/toolkit/printing/printPreview.ftl
new file mode 100644
index 0000000000..55c209fe0a
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/printing/printPreview.ftl
@@ -0,0 +1,60 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+printpreview-simplify-page-checkbox =
+ .label = Опростен изглед
+ .accesskey = п
+ .tooltiptext = Тази страница не може да бъде автоматично опростена
+printpreview-simplify-page-checkbox-enabled =
+ .label = { printpreview-simplify-page-checkbox.label }
+ .accesskey = { printpreview-simplify-page-checkbox.accesskey }
+ .tooltiptext = Промяна на изгледа с цел по-лесно четене
+printpreview-close =
+ .label = Затваряне
+ .accesskey = З
+printpreview-portrait =
+ .label = Портрет
+ .accesskey = П
+printpreview-landscape =
+ .label = Пейзаж
+ .accesskey = ж
+printpreview-scale =
+ .value = Мащаб:
+ .accesskey = М
+printpreview-shrink-to-fit =
+ .label = Смаляване до прилягане
+printpreview-custom =
+ .label = Приспособяване…
+printpreview-print =
+ .label = Отпечатване…
+ .accesskey = п
+printpreview-of =
+ .value = от
+printpreview-custom-scale-prompt-title = Друг мащаб
+printpreview-page-setup =
+ .label = Настройки на отпечатване…
+ .accesskey = Н
+printpreview-page =
+ .value = Страница:
+ .accesskey = С
+
+## Variables
+## $percent (integer) - menuitem percent label
+## $arrow (String) - UTF-8 arrow character for navigation buttons
+
+printpreview-percentage-value =
+ .label = { $percent }%
+printpreview-homearrow =
+ .label = { $arrow }
+ .tooltiptext = Първа страница
+printpreview-previousarrow =
+ .label = { $arrow }
+ .tooltiptext = Предишна страница
+printpreview-nextarrow =
+ .label = { $arrow }
+ .tooltiptext = Следваща страница
+printpreview-endarrow =
+ .label = { $arrow }
+ .tooltiptext = Последна страница
+
diff --git a/l10n-bg/toolkit/toolkit/printing/printUI.ftl b/l10n-bg/toolkit/toolkit/printing/printUI.ftl
new file mode 100644
index 0000000000..c02e94db56
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/printing/printUI.ftl
@@ -0,0 +1,130 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+printui-title = Печат
+# Dialog title to prompt the user for a filename to save print to PDF.
+printui-save-to-pdf-title = Запазване като
+# Variables
+# $sheetCount (integer) - Number of paper sheets
+printui-sheets-count =
+ { $sheetCount ->
+ [one] Общо { $sheetCount } листа
+ *[other] { $sheetCount } листа
+ }
+printui-page-range-all = Всички
+printui-page-range-current = Текуща
+printui-page-range-odd = Нечетни
+printui-page-range-even = Четни
+printui-page-range-custom = По избор
+printui-page-range-label = Страници
+printui-page-range-picker =
+ .aria-label = Избор на страници
+printui-page-custom-range-input =
+ .aria-label = Въведете потребителски диапазон за страници
+ .placeholder = напр. 2-6, 9, 12-16
+# Section title for the number of copies to print
+printui-copies-label = Копия
+printui-orientation = Ориентация
+printui-landscape = Пейзаж
+printui-portrait = Портрет
+# Section title for the printer or destination device to target
+printui-destination-label = Местоназначение
+printui-destination-pdf-label = Запазване в PDF
+printui-more-settings = Още настройки
+printui-less-settings = По-малко настройки
+printui-paper-size-label = Размер на хартия
+# Section title (noun) for the print scaling options
+printui-scale = Мащаб
+printui-scale-fit-to-page-width = Побиране по ширина на листа
+# Label for input control where user can set the scale percentage
+printui-scale-pcent = Мащаб
+# Section title (noun) for the two-sided print options
+printui-two-sided-printing = Двустранно отпечатване
+printui-two-sided-printing-off = Изключено
+# Flip the sheet as if it were bound along its long edge.
+printui-two-sided-printing-long-edge = Обърнете на дълъг ръб
+# Flip the sheet as if it were bound along its short edge.
+printui-two-sided-printing-short-edge = Обърнете на къс ръб
+# Section title for miscellaneous print options
+printui-options = Настройки
+printui-headers-footers-checkbox = Печат на горни и долни колонтитули
+printui-backgrounds-checkbox = Печат на фонови изображения
+
+## The "Format" section, select a version of the website to print. Radio
+## options to select between the original page, selected text only, or a version
+## where the page is processed with "Reader View".
+
+# The section title.
+printui-source-label = Формат
+# Option for printing the original page.
+printui-source-radio = Оригинален
+# Option for printing just the content a user selected prior to printing.
+printui-selection-radio = Избраното
+# Option for "simplifying" the page by printing the Reader View version.
+printui-simplify-page-radio = Опростен
+
+##
+
+printui-color-mode-label = Цвят
+printui-color-mode-color = Цвят
+printui-color-mode-bw = Черно-бяло
+printui-margins = Отстояния
+printui-margins-default = По поздразбиране
+printui-margins-min = Минимум
+printui-margins-none = Без
+printui-margins-custom-inches = По избор (инчове)
+printui-margins-custom-mm = По избор (мм)
+printui-margins-custom-top = Отгоре
+printui-margins-custom-top-inches = Отгоре (инчове)
+printui-margins-custom-top-mm = Отгоре (мм)
+printui-margins-custom-bottom = Отдолу
+printui-margins-custom-bottom-inches = Отдолу (инчове)
+printui-margins-custom-bottom-mm = Отдолу (мм)
+printui-margins-custom-left = Отляво
+printui-margins-custom-left-inches = Отляво (инчове)
+printui-margins-custom-left-mm = Отляво (мм)
+printui-margins-custom-right = Отдясно
+printui-margins-custom-right-inches = Отдясно (инчове)
+printui-margins-custom-right-mm = Отдясно (мм)
+printui-system-dialog-link = Печат с помощта на системния диалог…
+printui-primary-button = Отпечатване
+printui-primary-button-save = Запазване
+printui-cancel-button = Отказ
+printui-close-button = Затваряне
+printui-loading = Подготвяне на преглед
+# Reported by screen readers and other accessibility tools to indicate that
+# the print preview has focus.
+printui-preview-label =
+ .aria-label = Преглед преди отпечатване
+printui-pages-per-sheet = Страници на лист
+# This is shown next to the Print button with an indefinite loading spinner
+# when the user prints a page and it is being sent to the printer.
+printui-print-progress-indicator = Отпечатване…
+printui-print-progress-indicator-saving = Запазване…
+
+## Paper sizes that may be supported by the Save to PDF destination:
+
+printui-paper-a5 = A5
+printui-paper-a4 = A4
+printui-paper-a3 = A3
+printui-paper-a2 = A2
+printui-paper-a1 = A1
+printui-paper-a0 = A0
+printui-paper-b5 = B5
+printui-paper-b4 = B4
+printui-paper-jis-b5 = JIS-B5
+printui-paper-jis-b4 = JIS-B4
+printui-paper-letter = Американско писмо
+printui-paper-legal = Американски юридически
+printui-paper-tabloid = Таблоид
+
+## Error messages shown when a user has an invalid input
+
+printui-error-invalid-scale = Мащабът трябва да е между 10 и 200.
+printui-error-invalid-margin = Въведете валидни отстояния за избрания размер хартия.
+printui-error-invalid-copies = Броят на копията трябва да е число между 1 и 10000
+# Variables
+# $numPages (integer) - Number of pages
+printui-error-invalid-range = Диапазонът трябва да е между 1 и { $numPages }.
+printui-error-invalid-start-overflow = Страница „от“ следва да е преди страница „до“.
diff --git a/l10n-bg/toolkit/toolkit/reportBrokenSite/reportBrokenSite.ftl b/l10n-bg/toolkit/toolkit/reportBrokenSite/reportBrokenSite.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/reportBrokenSite/reportBrokenSite.ftl
@@ -0,0 +1,3 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/l10n-bg/toolkit/toolkit/updates/backgroundupdate.ftl b/l10n-bg/toolkit/toolkit/updates/backgroundupdate.ftl
new file mode 100644
index 0000000000..e9894e7a28
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/updates/backgroundupdate.ftl
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+backgroundupdate-task-description = Задачата за проверка на актуализация във фонов режим проверява за актуализации на { -brand-short-name }, когато { -brand-short-name } не работи. Тази задача се инсталира автоматично от { -brand-short-name } и се преинсталира, когато се изпълни { -brand-short-name }. За да деактивирате тази задача, актуализирайте настройките на браузъра или настройката за корпоративни правила { -brand-short-name } „BackgroundAppUpdate“.
diff --git a/l10n-bg/toolkit/toolkit/updates/elevation.ftl b/l10n-bg/toolkit/toolkit/updates/elevation.ftl
new file mode 100644
index 0000000000..d7bfbd6dd1
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/updates/elevation.ftl
@@ -0,0 +1,14 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# This is temporary until bug 1521632 is fixed
+
+elevation-update-wizard =
+ .title = Обновяване на софтуера
+elevation-details-link-label =
+ .value = Подробности
+elevation-error-manual = Може ръчно да обновите { -brand-short-name } като посетите препратката и изтеглите последната версия:
+elevation-finished-page = Обновяване е готово за инсталиране
+elevation-finished-background-page = Изтеглено е обновяване по безопасността и устойчивостта на { -brand-short-name } и е готово за инсталиране.
+elevation-finished-background = Обновяване:
+elevation-more-elevated = Това обновяване изисква администраторски права. То ще бъде инсталирано при следващото отваряне на { -brand-short-name }. Може да рестартирате { -brand-short-name } още сега, да продължите работата си и да рестартирате по-късно или да откажете това обновяване.
diff --git a/l10n-bg/toolkit/toolkit/updates/history.ftl b/l10n-bg/toolkit/toolkit/updates/history.ftl
new file mode 100644
index 0000000000..abb72b9189
--- /dev/null
+++ b/l10n-bg/toolkit/toolkit/updates/history.ftl
@@ -0,0 +1,29 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+history-title = История на обновяванията
+history-intro = Инсталирани са следните обновявания
+
+close-button-label =
+ .buttonlabelcancel = Затваряне
+ .title = История на обновяванията
+
+no-updates-label = Засега не са инсталирани обновявания
+name-header = Име на обновяване
+date-header = Дата на инсталиране
+type-header = Вид
+state-header = Състояние
+
+# Used to display update history
+#
+# Variables:
+# $name (String): name of the update
+# $buildID (String): build identifier from the local updates.xml
+update-full-build-name = { $name } ({ $buildID })
+
+update-details = Подробности
+
+update-installed-on = Инсталирано на: { $date }
+
+update-status = Състояние: { $status }