Skip to content
Snippets Groups Projects
Commit 608d7c70 authored by Clayton, Brandon Scott's avatar Clayton, Brandon Scott
Browse files

Merge branch 'swagger' into 'main'

simplify swagger

See merge request !813
parents 3da444c0 b41afa77
No related branches found
No related tags found
1 merge request!813simplify swagger
Pipeline #569386 failed
Showing
with 1 addition and 1456 deletions
package gov.usgs.earthquake.nshmp.www;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.util.Optional;
import org.apache.commons.io.IOUtils;
import io.micronaut.core.io.scan.ClassPathResourceLoader;
import io.micronaut.http.HttpResponse;
import io.micronaut.http.MediaType;
import io.micronaut.http.annotation.Controller;
import io.micronaut.http.annotation.Get;
import io.micronaut.http.annotation.PathVariable;
import io.micronaut.http.annotation.Produces;
import io.swagger.v3.oas.annotations.Hidden;
import jakarta.annotation.Nullable;
import jakarta.inject.Inject;
/**
* Handle Swagger static resources.
*/
@Controller(
value = "/",
produces = {
MediaType.APPLICATION_YAML,
MediaType.TEXT_HTML,
MediaType.IMAGE_PNG,
MediaType.TEXT_PLAIN,
"font/woff",
"font/woff2",
"font/ttf",
"image/svg+xml",
"text/css",
"text/javascript",
})
public class SwaggerUIController {
private static final String SWAGGER_UI_RESOURCE_LOCATION = "classpath:swagger/";
private final ClassPathResourceLoader loader;
public SwaggerUIController(ClassPathResourceLoader loader) {
this.loader = loader;
}
@Inject
private NshmpMicronautServlet servlet;
@Get("{/path:.*}{.ext:png}")
@Produces(MediaType.IMAGE_PNG)
@Hidden
public byte[] getSwaggerPngImages(
@PathVariable @Nullable String path,
@PathVariable @Nullable String ext) throws IOException {
Optional<URL> resource = loader.getResource(SWAGGER_UI_RESOURCE_LOCATION + path + "." + ext);
return IOUtils.toByteArray(resource.orElseThrow().openStream());
}
@Get("{/path:.*}{.ext:b64}")
@Produces(MediaType.TEXT_PLAIN)
@Hidden
public HttpResponse<String> getSwaggerBase64Images(
@PathVariable @Nullable String path,
@PathVariable @Nullable String ext) throws IOException {
return HttpResponse.ok(getResourceString(SWAGGER_UI_RESOURCE_LOCATION + path + "." + ext))
.contentType(MediaType.TEXT_PLAIN);
}
@Get("{/path:.*}{.ext:css|js}")
@Produces({ "text/css", "text/javascript" })
@Hidden
public String getSwaggerLibrary(
@PathVariable @Nullable String path,
@PathVariable @Nullable String ext) throws IOException {
return getResourceString(SWAGGER_UI_RESOURCE_LOCATION + path + "." + ext);
}
@Get("{/path:.*}{.ext:svg}")
@Produces("image/svg+xml")
@Hidden
public String getSwaggerSvgImages(
@PathVariable @Nullable String path,
@PathVariable @Nullable String ext) throws IOException {
return getResourceString(SWAGGER_UI_RESOURCE_LOCATION + path + "." + ext);
}
@Get("{/path:.*}{.ext:eot}")
@Produces("application/vnd.ms-fontobject")
@Hidden
public String getSwaggerEotFont(
@PathVariable @Nullable String path,
@PathVariable @Nullable String ext) throws IOException {
return getResourceString(SWAGGER_UI_RESOURCE_LOCATION + path + "." + ext);
}
@Get("{/path:.*}{.ext:woff|woff2|ttf|otf}")
@Produces("font/*")
@Hidden
public String getSwaggerFont(
@PathVariable @Nullable String path,
@PathVariable @Nullable String ext) throws IOException {
return getResourceString(SWAGGER_UI_RESOURCE_LOCATION + path + "." + ext);
}
@Get("/")
@Produces(MediaType.TEXT_HTML)
@Hidden
public String getSwaggerIndexPage() throws IOException {
return getResourceString("classpath:swagger/index.html");
}
private String getResourceString(String path) throws IOException {
Optional<URL> resource = loader.getResource(path);
return IOUtils.toString(
(InputStream) resource.orElseThrow().getContent(),
StandardCharsets.UTF_8);
}
}
......@@ -6,7 +6,6 @@ micronaut:
router:
static-resources:
swagger:
enabled: true
paths: classpath:swagger
mapping: /**
server:
......
File deleted
File deleted
Source diff could not be displayed: it is too large. Options to address this: view the blob.
File deleted
File deleted
File deleted
@charset "UTF-8";
/* CSS Document */
footer, #navbar {
font-family: 'Source Sans Pro',sans-serif;
margin: 0;
position: relative;
}
*, *:before, *:after {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
footer, header, main, nav, div {
display: block;
}
.tmp-container {
margin-right: auto;
margin-left: auto;
padding-left: 15px;
padding-right: 15px;
}
.tmp-container a {
text-decoration: none;
background: transparent;
}
.tmp-container a:-webkit-any-link {
cursor: auto;
}
.tmp-container:before, .tmp-container:after {
content: " ";
display: table;
}
.tmp-container:after {
clear: both;
}
hr {
width: 100%;
margin-top: 42px;
clear: both;
}
@media only screen and (max-width:490px) {
hr {
margin-top: 60px;
}
}
/* header (only) nav */
.header-nav {
background: #00264c;
}
.logo-header img {
margin-top: 8px;
margin-bottom: 8px;
border: 0;
max-width: 100%;
height: auto;
}
.header-search form {
float: right;
width: auto;
padding-top: 0;
padding-bottom: 0;
margin-right: 0;
margin-left: 0;
border: 0;
-webkit-box-shadow: none;
box-shadow: none;
}
.header-search input[type="search"] {
height: 30px;
width: 260px;
margin-top: 18px;
}
.header-search button[type="submit"] {
position: absolute;
top: 0;
bottom: 0;
right: 15px;
border: 0;
color: #666;
background: transparent;
padding: 0;
width: 39px;
height: 39px;
margin-top: 21px;
}
input{
line-height: normal;
}
input[type="search"] {
-webkit-appearance: textfield;
-webkit-box-sizing: content-box;
-moz-box-sizing: content-box;
box-sizing: content-box;
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
input,
button {
font-family:inherit;
font-size:inherit;
line-height:inherit;
}
/* Always float the navbar header */
.navbar-header {
float: left;
}
/* footer (only) css */
.menu.nav {
margin-bottom: 0;
padding-left: 0;
list-style: none;
}
.nav:before, .nav:after {
content: none;
}
footer.footer {
background: #00264c;
padding-bottom: 0px;
position: relative;
width: 100%;
border-top: 1px solid #E5E5E5;
}
footer.footer .footer-doi {
padding-right: 0;
padding-left: 0;
}
footer.footer .footer-doi ul.menu li a {
padding: 5px 0px;
color: #ffffff;
float: left;
font-size: 12px;
}
footer.footer .footer-doi ul.menu li:first-of-type {
padding-left: 0px;
}
footer.footer .footer-doi ul.menu li {
float: left;
padding-right: 2px;
padding-left: 5px;
}
footer.footer .footer-doi ul.menu li:after {
content: "|";
color: #ffffff;
float: left;
padding-top: 5px;
padding-left: 7px;
font-size: 12px;
}
footer.footer .footer-doi ul.menu li:last-child:after {
content: "";
}
footer.footer .footer-wrap .menu.nav a {
padding: 4px 0px;
color: #ffffff;
font-size: 12px;
}
footer.footer .footer-social-links {
color: #ffffff;
font-size: 12px;
padding-right: 0;
}
footer.footer .footer-social-links ul {
float: right;
margin-top: 0px;
}
footer.footer .footer-social-links ul li.follow {
padding-top: 6px;
padding-right: 5px;
}
footer.footer .footer-social-links ul li {
float: left;
height: 24px;
margin: 0 2px;
list-style: none;
list-style-type: none;
}
footer.footer .footer-social-links ul li:last-of-type {
margin-right: 0px;
}
footer.footer .footer-social-links ul li a i {
color:#fff;
font-size: 24px;
}
/* Font Awesome Social Media icons */
/*!
* Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
* License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
*/
/* FONT PATH
* -------------------------- */
@font-face {
font-family: 'FontAwesome';
src: url('../fonts/fontawesome-webfont.eot');
src: url('../fonts/fontawesome-webfont.eot') format('embedded-opentype'),
url('../fonts/fontawesome-webfont.woff2') format('woff2'),
url('../fonts/fontawesome-webfont.woff') format('woff'),
url('../fonts/fontawesome-webfont.ttf') format('truetype'),
url('../fonts/fontawesome-webfont.svg') format('svg');
font-weight: normal;
font-style: normal;
}
.fa-wrapper {
position: relative
}
.fa {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.fa-ul {
padding-left: 0;
margin-left: 2.14285714em;
list-style-type: none;
}
.fa-ul > li {
position: relative;
}
.fa-li {
position: absolute;
left: -2.14285714em;
width: 2.14285714em;
top: 0.14285714em;
text-align: center;
}
.fa-search:before {
content: "\f002";
}
.fa-twitter-square:before {
content: "\f081";
}
.fa-facebook-square:before {
content: "\f082";
}
.fa-github:before {
content: "\f09b";
}
.fa-flickr:before {
content: "\f16e";
}
.fa-youtube-play:before {
content: "\f16a";
}
.fa-instagram:before {
content: "\f16d";
}
.only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0;
}
[role="button"]{
cursor:pointer;
}
.logo-header img {
height: 65px;
}
#maincontent {
font-family: 'Source Sans Pro',sans-serif;
font-size: 14px;
line-height: 1.42857;
color: #333333;
background-color: #fff;
padding-left: 15px;
padding-right: 15px;
}
@media (max-width:500px) {
.header-search form {
display: none}
}
src/main/resources/swagger/favicon.ico

10.7 KiB

html,
body {
height: 100%;
}
body {
margin: 0;
font-family: Roboto, 'Helvetica Neue', sans-serif;
}
/* Match Swagger UI wrapper */
.wrapper {
box-sizing: border-box;
margin: 0 auto;
max-width: 1460px;
padding: 0 20px;
width: 100%;
}
.logo-header {
margin-right: 8px;
}
.logo-header img {
height: 50px;
}
.header-search button[type=submit] {
margin-top: 14px;
}
details {
background-color: white;
box-shadow: 0 3px 1px -2px #0003, 0 2px 2px #00000024, 0 1px 5px #0000001f;
cursor: pointer;
}
details:hover {
background-color: #f3f3f3;
}
details[open] {
background-color: initial;
padding: 0 1.5em 1.5em 1.5em;
}
summary {
font-weight: bold;
padding: 1.5em;
}
details[open] > summary {
margin-left: -1.5em;
}
......@@ -3,32 +3,6 @@
<head>
<title>NSHMP Hazard Services</title>
<meta charset="UTF-8" />
<link
rel="icon"
type="image/x-icon"
href="favicon.ico"
/>
<link
rel="stylesheet"
type="text/css"
href="drupal/stylesheets/common.css"
/>
<link
rel="stylesheet"
type="text/css"
href="drupal/stylesheets/custom.css"
/>
<link
rel="stylesheet"
type="text/css"
href="uswds/css/uswds.min.css"
/>
<link
rel="stylesheet"
type="text/css"
href="index.css"
/>
<script src="uswds/js/uswds-init.min.js"></script>
<script src="https://unpkg.com/swagger-ui-dist/swagger-ui-bundle.js"></script>
<script src="https://unpkg.com/swagger-ui-dist/swagger-ui-standalone-preset.js"></script>
<link
......@@ -43,256 +17,10 @@
400,400italic,700%7cSource+Sans+Pro:400,300,700
"
/>
<!-- Google Tag Manager -->
<script>
(
function(w, d, s, l, i) {
w[l] = w[l] || [];
w[l].push({
'gtm.start': new Date().getTime(),
event: 'gtm.js'
});
var f = d.getElementsByTagName(s)[0],
j = d.createElement(s),
dl = l != 'dataLayer' ? '&l='+l : '';
j.async=true;
j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;
f.parentNode.insertBefore(j,f);
}
)(window,document,'script','dataLayer','GTM-TKQR8KP');
</script>
<!-- End Google Tag Manager -->
</head>
<body>
<script src="uswds/js/uswds.min.js"></script>
<!-- Google Tag Manager (noscript) -->
<noscript>
<iframe
sandbox
src="https://www.googletagmanager.com/ns.html?id=GTM-TKQR8KP"
height="0"
width="0"
style="display:none;visibility:hidden"
></iframe>
</noscript>
<!-- End Google Tag Manager (noscript) -->
<!-- Gov banner -->
<!-- https://designsystem.digital.gov/components/banner/ -->
<section
class="usa-banner"
aria-label="Official website of the United States government"
>
<div class="usa-accordion">
<header class="usa-banner__header">
<div class="usa-banner__inner">
<div class="grid-col-auto">
<img
aria-hidden="true"
class="usa-banner__header-flag"
src="uswds/img/us_flag_small.svg"
alt=""
/>
</div>
<div class="grid-col-fill tablet:grid-col-auto" aria-hidden="true">
<p class="usa-banner__header-text">
An official website of the United States government
</p>
<p class="usa-banner__header-action">Here’s how you know</p>
</div>
<button
type="button"
class="usa-accordion__button usa-banner__button"
aria-expanded="false"
aria-controls="gov-banner-default-default"
>
<span class="usa-banner__button-text">Here’s how you know</span>
</button>
</div>
</header>
<div
class="usa-banner__content usa-accordion__content"
id="gov-banner-default-default"
>
<div class="grid-row grid-gap-lg">
<div class="usa-banner__guidance tablet:grid-col-6">
<img
class="usa-banner__icon usa-media-block__img"
src="uswds/img/icon-dot-gov.svg"
role="img"
alt=""
aria-hidden="true"
/>
<div class="usa-media-block__body">
<p>
<strong>Official websites use .gov</strong><br/>
A <strong>.gov</strong> website belongs to an official government
organization in the United States.
</p>
</div>
</div>
<div class="usa-banner__guidance tablet:grid-col-6">
<img
class="usa-banner__icon usa-media-block__img"
src="uswds/img/icon-https.svg"
role="img"
alt=""
aria-hidden="true"
/>
<div class="usa-media-block__body">
<p>
<strong>Secure .gov websites use HTTPS</strong><br />
A <strong>lock</strong> (
<span class="icon-lock">
<svg
xmlns="http://www.w3.org/2000/svg"
width="52"
height="64"
viewBox="0 0 52 64"
class="usa-banner__lock-image"
role="img"
aria-labelledby="banner-lock-description-default"
focusable="false"
>
<title id="banner-lock-title-default">Lock</title>
<desc id="banner-lock-description-default">
Locked padlock icon
</desc>
<path
fill="#000000"
fill-rule="evenodd"
d="
M26 0c10.493 0 19 8.507 19 19v9h3a4 4 0 0 1 4 4v28a4
4 0 0 1-4 4H4a4 4 0 0 1-4-4V32a4 4 0 0 1 4-4h3v-9C7
8.507 15.507 0 26 0zm0 8c-5.979 0-10.843 4.77-10.996
10.712L15 19v9h22v-9c0-6.075-4.925-11-11-11z
"
/>
</svg>
</span>
) or <strong>https://</strong> means you’ve safely connected to
the .gov website. Share sensitive information only on official,
secure websites.
</p>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- End Gov banner-->
<!-- Header -->
<header id="navbar" class="header-nav" role="banner">
<div class="tmp-container">
<div class="header-search">
<a class="logo-header" href="https://earthquake.usgs.gov/nshmp/" title="Home">
<img class="img" src="usgs-logo.svg" alt="Home" />
</a>
</div>
</div>
</header>
<!-- End header -->
<!-- Software alert -->
<div class="wrapper">
<div class="usa-alert usa-alert--warning margin-top-2">
<div class="usa-alert__body">
This software is preliminary or provisional and is subject to revision.
It is being provided to meet the need for timely best science.
The software has not received final approval by the U.S. Geological Survey (USGS).
No warranty, expressed or implied, is made by the USGS or the U.S. Government as to
the functionality of the software and related material nor shall the fact of release
constitute any such warranty. The software is provided on the condition that neither
the USGS nor the U.S. Government shall be held liable for any damages resulting from
the authorized or unauthorized use of the software.
</div>
</div>
</div>
<!-- End software alert -->
<!-- Swagger components -->
<div id="swagger-ui"></div>
<!-- BEGIN USGS Footer Template -->
<footer class="footer">
<div class="tmp-container">
<!-- .footer-doi -->
<div class="footer-doi">
<!-- footer nav links -->
<ul class="menu nav">
<li class="first leaf menu-links menu-level-1">
<a href="https://www.doi.gov/privacy">DOI Privacy Policy</a>
</li>
<li class="leaf menu-links menu-level-1">
<a href="https://www.usgs.gov/policies-and-notices">Legal</a>
</li>
<li class="leaf menu-links menu-level-1">
<a href="https://www.usgs.gov/accessibility-and-us-geological-survey">
Accessibility
</a>
</li>
<li class="leaf menu-links menu-level-1">
<a href="https://www.usgs.gov/sitemap">Site Map</a>
</li>
<li class="last leaf menu-links menu-level-1">
<a href="https://answers.usgs.gov/">Contact USGS</a>
</li>
</ul>
<!--/ footer nav links -->
</div>
<!-- /.footer-doi -->
<hr>
<!-- .footer-utl-links -->
<div class="footer-doi">
<ul class="menu nav">
<li class="first leaf menu-links menu-level-1">
<a href="https://www.doi.gov/">U.S. Department of the Interior</a>
</li>
<li class="leaf menu-links menu-level-1">
<a href="https://www.doioig.gov/">DOI Inspector General</a>
</li>
<li class="leaf menu-links menu-level-1">
<a href="https://www.whitehouse.gov/">White House</a>
</li>
<li class="leaf menu-links menu-level-1">
<a href="https://www.whitehouse.gov/omb/management/egov/">E-gov</a>
</li>
<li class="leaf menu-links menu-level-1">
<a href="https://www.doi.gov/pmb/eeo/no-fear-act">No Fear Act</a>
</li>
<li class="last leaf menu-links menu-level-1">
<a href="https://www.usgs.gov/about/organization/science-support/foia">FOIA</a>
</li>
</ul>
</div>
<!-- /.footer-utl-links -->
</div>
</footer>
<!-- END USGS Footer Template- -->
<script src="index.js"></script>
</body>
</html>
window.onload = function() {
let contextPath = window.location.pathname;
contextPath = contextPath.endsWith('/') ? contextPath.slice(0, -1) : contextPath;
const ui = SwaggerUIBundle({
defaultModelsExpandDepth: 0,
deepLinking: true,
// docExpansion: 'full',
dom_id: '#swagger-ui',
layout: 'BaseLayout',
plugins: [SwaggerUIBundle.plugins.DownloadUrl, updateContextPath(contextPath)],
plugins: [SwaggerUIBundle.plugins.DownloadUrl],
presets: [SwaggerUIBundle.presets.apis],
tagsSorter: 'alpha',
tryItOutEnabled: true,
......@@ -18,25 +14,3 @@ window.onload = function() {
window.ui = ui;
};
function updateContextPath(contextPath) {
return {
statePlugins: {
spec: {
wrapActions: {
updateJsonSpec: (oriAction) => (...args) => {
const [spec] = args;
if (spec && spec.paths) {
const newPaths = {};
Object.entries(spec.paths).forEach(
([path, value]) => (newPaths[contextPath + path] = value)
);
spec.paths = newPaths;
}
oriAction(...args);
},
},
},
},
};
}
<svg xmlns="http://www.w3.org/2000/svg" width="2353" height="869" viewBox="40.2 28.7 2353.3 869.2"><style>.a{fill:#FFF;}</style><path d="M1135.8 38.7v425.7c0 89.8-50.7 184.6-203.7 184.6 -138 0-204.6-71.5-204.6-184.6V38.7h125.6v417.4c0 74 31.6 103.1 77.3 103.1 54.9 0 79.8-36.6 79.8-103.1V38.7H1135.8z" class="a"/><path d="M1339.9 649c-155.5 0-184.6-91.5-177.9-195.4h125.6c0 57.4 2.5 105.6 71.5 105.6 42.4 0 63.2-27.4 63.2-68.2 0-108.1-252.8-114.7-252.8-293.5 0-94 44.9-168.8 197.9-168.8 122.2 0 182.9 54.9 174.6 180.4h-122.2c0-44.9-7.5-90.6-58.2-90.6 -40.7 0-64.8 22.5-64.8 64 0 113.9 252.8 103.9 252.8 292.7C1549.5 630.7 1435.6 649 1339.9 649z" class="a"/><path d="M2184 649c-155.5 0-184.6-91.5-177.9-195.4h125.6c0 57.4 2.5 105.6 71.5 105.6 42.4 0 63.2-27.4 63.2-68.2 0-108.1-252.8-114.7-252.8-293.5 0-94 44.9-168.8 197.9-168.8 122.2 0 182.9 54.9 174.6 180.4h-122.2c0-44.9-7.5-90.6-58.2-90.6 -40.7 0-64.9 22.5-64.9 64 0 113.9 252.8 103.9 252.8 292.7C2393.6 630.7 2279.6 649 2184 649z" class="a"/><path d="M1784 415.3h73.9v132.5l-6.1 2.3c-19.1 6.7-41.6 11.6-62.4 11.6 -71.5 0-89.8-33.3-89.8-221.2 0-116.4 0-222 78.2-222 60.8 0 73.6 41 74.8 90.6h125.1c1-116.5-74-180.4-192.3-180.4 -205.4 0-212.9 153.8-212.9 305.2 0 227.8 24.7 316.2 235.9 316.2 49 0 127-11.1 163-20.9 2.2-0.6 6.1-3 6.1-6.1 0-16.4 0-298.4 0-298.4h-193.3V415.3L1784 415.3z" class="a"/><path d="M71.3 823.1c-1.2 4.8-2 9.5-1.2 12.8 1 3.4 3.8 5 9.6 5s11.7-3.8 13.2-10.9c4.8-22.5-48.3-17.4-41.2-51.2 4.9-22.9 29-29.8 48.1-29.8 20.1 0 36.3 9.7 29.8 32.5h-29c1.6-7.3 1.7-11.7 0-13.6 -1.5-1.9-3.9-2.3-7.1-2.3 -6.5 0-11 4.2-12.5 11.3 -3.6 16.8 48.7 15.9 41.4 49.9 -3.9 18.5-22 32.3-46.5 32.3 -25.8 0-41.6-6.5-33.7-36.1H71.3L71.3 823.1z" class="a"/><path d="M197.9 789c3.3-15.7 0.5-21-8.8-21 -12.6 0-16 11.1-20.7 33.2 -6.9 32.3-5.6 39.2 5.3 39.2 9.2 0 15.4-8.4 18.4-22.2h29.6c-6.1 28.7-24.3 41.1-52 41.1 -38.2 0-38.3-23.3-31.2-56.4 6.2-28.9 15.6-53.7 54.6-53.7 27.3 0 40.2 12.2 34.3 39.9H197.9z" class="a"/><path d="M258.7 857.1h-29.6l22.5-106h29.6L258.7 857.1zM289.9 710.4l-5 23.3H255.4l5-23.3H289.9z" class="a"/><path d="M1643.2 857.1h-29.6l22.5-106h29.6L1643.2 857.1zM1674.4 710.4l-5 23.3h-29.6l4.9-23.3H1674.4z" class="a"/><path d="M315.8 808.9c-2.7 12.6-6.3 31.5 6.7 31.5 10.5 0 14.7-10.1 16.6-18.9h30c-2.9 11.5-8.7 21-17.2 27.5 -8.3 6.5-19.6 10.3-33.5 10.3 -38.2 0-38.3-23.3-31.2-56.4 6.2-28.9 15.6-53.7 54.6-53.7 39.9 0 38.8 25.8 30.5 59.8H315.8zM346.4 792.3c2.2-10.3 5.7-25-8.3-25 -13.6 0-16.8 15.9-18.7 25H346.4z" class="a"/><path d="M428.3 761.9h0.4c7.9-9.4 16.6-12.8 27.7-12.8 14.1 0 24.7 8.4 21.5 23.1l-18.1 85h-29.6l15.5-73c2-9.4 1.9-16.8-7.6-16.8 -9.4 0-12.7 7.3-14.7 16.8l-15.5 73H378.4l22.5-106h29.6L428.3 761.9z" class="a"/><path d="M545.7 789c3.3-15.7 0.5-21-8.8-21 -12.6 0-16 11.1-20.7 33.2 -6.9 32.3-5.6 39.2 5.3 39.2 9.2 0 15.4-8.4 18.4-22.2h29.6c-6.1 28.7-24.3 41.1-52 41.1 -38.2 0-38.3-23.3-31.2-56.4 6.2-28.9 15.6-53.7 54.6-53.7 27.3 0 40.2 12.2 34.3 39.9H545.7z" class="a"/><path d="M613.3 808.9c-2.7 12.6-6.3 31.5 6.7 31.5 10.5 0 14.7-10.1 16.6-18.9h30c-2.9 11.5-8.7 21-17.2 27.5 -8.3 6.5-19.6 10.3-33.5 10.3 -38.2 0-38.3-23.3-31.2-56.4 6.2-28.9 15.6-53.7 54.6-53.7 39.9 0 38.8 25.8 30.5 59.8H613.3zM643.9 792.3c2.2-10.3 5.7-25-8.3-25 -13.6 0-16.8 15.9-18.7 25H643.9z" class="a"/><path d="M794.1 729.3c-11.8-0.8-15.3 3.8-17.6 14.5l-2.1 7.4h13.8l-3.9 18.3h-13.8l-18.6 87.7h-29.6l18.6-87.7h-13.2l3.9-18.3h13.4c5.9-26.5 11.3-41.2 42.6-41.2 3.6 0 6.9 0.2 10.4 0.4L794.1 729.3z" class="a"/><path d="M784.8 802.8c6.2-28.9 15.6-53.7 54.6-53.7 39 0 38 24.8 31.8 53.7 -7 33.2-17 56.4-55.2 56.4C777.8 859.2 777.7 836 784.8 802.8zM842 801.1c4.7-22 6-33.2-6.6-33.2 -12.6 0-16 11.1-20.7 33.2 -6.9 32.3-5.6 39.2 5.3 39.2C830.9 840.4 835.1 833.4 842 801.1z" class="a"/><path d="M924.3 751.2l-2.9 13.6h0.4c8-12.2 18.9-15.7 30.8-15.7l-5.6 26.4c-25.7-1.7-29.3 13.4-31.5 23.9l-12.3 57.7h-29.6l22.5-106h28.1V751.2z" class="a"/><path d="M1065.3 837.4c-1.4 6.5-2 13.2-2.7 19.7h-27.5l1.7-14.1h-0.4c-8.6 10.9-18.3 16.2-31.1 16.2 -20.6 0-24.9-15.3-20.9-33.8 7.5-35 34.8-36.5 62.2-36.1l1.7-8.2c1.9-9 2-15.5-8.7-15.5 -10.3 0-12.8 7.8-14.6 16.2h-29c2.7-12.8 8.4-21 16.4-25.8 7.8-5 17.8-6.9 29.2-6.9 37.6 0 39 16.2 34.8 35.5L1065.3 837.4zM1013.5 824.2c-1.6 7.6-2.3 16.8 7.3 16.8 17.4 0 19.7-23.5 22.1-35C1028.2 806.6 1017.5 805.3 1013.5 824.2z" class="a"/><path d="M1182.4 789c3.3-15.7 0.5-21-8.8-21 -12.6 0-16 11.1-20.7 33.2 -6.9 32.3-5.6 39.2 5.3 39.2 9.2 0 15.4-8.4 18.4-22.2h29.6c-6.1 28.7-24.3 41.1-52 41.1 -38.2 0-38.3-23.3-31.2-56.4 6.2-28.9 15.6-53.7 54.6-53.7 27.3 0 40.2 12.2 34.3 39.9H1182.4z" class="a"/><path d="M1396.7 837.4c-1.4 6.5-2 13.2-2.7 19.7h-27.5l1.7-14.1h-0.4c-8.6 10.9-18.3 16.2-31.1 16.2 -20.6 0-24.9-15.3-20.9-33.8 7.5-35 34.8-36.5 62.2-36.1l1.7-8.2c1.9-9 2-15.5-8.7-15.5 -10.3 0-12.8 7.8-14.6 16.2h-29c2.7-12.8 8.5-21 16.4-25.8 7.8-5 17.8-6.9 29.2-6.9 37.6 0 38.9 16.2 34.8 35.5L1396.7 837.4zM1344.9 824.2c-1.6 7.6-2.3 16.8 7.3 16.8 17.4 0 19.7-23.5 22.1-35C1359.6 806.6 1348.9 805.3 1344.9 824.2z" class="a"/><path d="M1461.6 761.9h0.4c7.9-9.4 16.6-12.8 27.7-12.8 14.1 0 24.7 8.4 21.5 23.1l-18.1 85h-29.6l15.5-73c2-9.4 1.9-16.8-7.6-16.8 -9.4 0-12.7 7.3-14.7 16.8l-15.5 73h-29.6l22.5-106h29.6L1461.6 761.9z" class="a"/><path d="M1614.9 751.2l-23.5 110.4c-1.6 7.3-7.3 36.3-48 36.3 -22 0-39.7-5.7-34.9-31.5h29c-0.9 4.4-1.1 8.2 0.2 10.7 1.3 2.7 4.4 4.2 9 4.2 7.3 0 12.4-6.9 14.7-17.6l4.3-20.4h-0.4c-6.1 8.2-15.4 12.4-25.1 12.4 -32.5 0-24.7-29.8-19.6-53.7 5-23.3 11.7-52.9 42.5-52.9 10.5 0 18.5 4.6 20.6 14.5h0.4l2.6-12.4H1614.9zM1554.9 837.4c10.7 0 14.5-11.1 19.3-33.6 4.9-23.3 6.7-36.5-4.2-36.5 -11.1 0-14.7 7.8-21.5 40.1C1546.3 817.3 1540.6 837.4 1554.9 837.4z" class="a"/><path d="M1714 761.9h0.4c7.9-9.4 16.6-12.8 27.7-12.8 14.1 0 24.7 8.4 21.5 23.1l-18.1 85h-29.6l15.5-73c2-9.4 1.9-16.8-7.6-16.8 -9.4 0-12.7 7.3-14.7 16.8l-15.5 73h-29.6l22.5-106h29.6L1714 761.9z" class="a"/><path d="M1867.3 751.2l-23.5 110.4c-1.6 7.3-7.3 36.3-48 36.3 -22 0-39.7-5.7-34.8-31.5h29c-0.9 4.4-1.1 8.2 0.2 10.7 1.3 2.7 4.4 4.2 9 4.2 7.3 0 12.4-6.9 14.7-17.6l4.3-20.4h-0.4c-6.1 8.2-15.4 12.4-25.1 12.4 -32.5 0-24.7-29.8-19.6-53.7 4.9-23.3 11.7-52.9 42.5-52.9 10.5 0 18.5 4.6 20.6 14.5h0.4l2.6-12.4H1867.3zM1807.2 837.4c10.7 0 14.5-11.1 19.3-33.6 5-23.3 6.7-36.5-4.2-36.5 -11.1 0-14.7 7.8-21.5 40.1C1798.7 817.3 1793 837.4 1807.2 837.4z" class="a"/><path d="M1913.5 751.2h29.4l-2.4 79.7h0.4l35.3-79.7h31.4l0.4 79.7h0.4l32.2-79.7h28.4l-50.3 106h-31l-3-70.3h-0.4l-35.5 70.3h-31.4L1913.5 751.2z" class="a"/><path d="M2063 802.8c6.2-28.9 15.6-53.7 54.6-53.7 39 0 38 24.8 31.8 53.7 -7 33.2-17 56.4-55.2 56.4C2056.1 859.2 2056 836 2063 802.8zM2120.2 801.1c4.7-22 6-33.2-6.6-33.2 -12.6 0-16 11.1-20.7 33.2 -6.9 32.3-5.6 39.2 5.3 39.2C2109.2 840.4 2113.4 833.4 2120.2 801.1z" class="a"/><path d="M2204.2 751.2l-2.9 13.6h0.4c8-12.2 18.9-15.7 30.8-15.7l-5.6 26.4c-25.7-1.7-29.3 13.4-31.5 23.9l-12.3 57.7h-29.6l22.5-106h28.1V751.2z" class="a"/><path d="M1291 749.1c-11.1 0-19.8 3.4-27.7 12.8h-0.4l10.9-51.5h-29.6l-31.2 146.8h29.6l15.5-73c2-9.4 5.2-16.8 14.7-16.8 9.4 0 9.6 7.3 7.6 16.8l-15.5 73h29.6l18.1-85C1315.6 757.5 1305 749.1 1291 749.1z" class="a"/><polygon points="2253.5 710.4 2222.3 857.1 2251.9 857.1 2283.1 710.4 " class="a"/><path d="M2352.4 710.4l-10.8 50.9h-0.4c-4.2-9-10.8-12.2-21.6-12.2 -29.8 0-36 32.9-40.5 54.3 -4.6 21.8-12.9 55.8 17.7 55.8 11.3 0 20.3-3.6 27.9-13.9h0.4l-2.5 11.8h28.1l31.2-146.8H2352.4L2352.4 710.4zM2332.6 803.2c-5.7 26.6-9.9 37.8-20 37.8 -10.7 0-10.2-11.1-4.6-37.8 4.5-21.2 7.4-35.9 20.2-35.9C2340.5 767.3 2337.2 782 2332.6 803.2z" class="a"/><path d="M203.5 239.7l2.1 2c58.8 49.3 122.3 44.5 170.7 12.3 30.5-20.3 168.4-112 246.3-163.8V38.5H41.7v136.7C77.1 169.1 134.2 175.1 203.5 239.7z" class="a"/><path d="M422 467.2l-68.6-65.8c-9.6-8.8-17.9-15.2-19.7-16.6 -56.1-39.4-108.4-27.4-130.9-19 -6.8 2.7-13.3 6.5-18 9.4L41.7 470.9v173.5h580.9V519.5C609.8 527.6 531.1 570.2 422 467.2z" class="a"/><path d="M198.3 255.2c-3.1-2.9-6.5-6-9.6-8.5 -68.6-53.1-133.4-27.1-147.1-20.6v59.7l33.6-22.6c0 0 51.8-38.4 132.4 1L198.3 255.2z" class="a"/><path d="M278.6 332.4c-3-2.7-6.1-5.4-9.1-8.3 -60.9-51.5-119.7-38.4-144.1-29.4 -6.9 2.8-13.5 6.5-18.2 9.4l-6.6 4.4h0l-58.9 39.4v61.5l109.6-73.8c0 0 51.2-38 131 0.3L278.6 332.4z" class="a"/><path d="M622.7 396.8c-22.8 15.4-46.1 31.1-55.3 37.2 -20.7 13.8-68.5 48.1-148.1 10.1l9.4 9c3.5 3.2 7.8 6.8 12.4 10.4 57.2 42.7 118.2 36.6 164 6.2 6.3-4.2 12.1-8.1 17.6-11.7V396.8z" class="a"/><path d="M622.7 273.6c-50.2 33.7-117.9 79.3-130.6 87.8 -20.7 13.8-69.2 48.6-147.1 11.4l9 8.7c1 0.9 2 1.9 3.1 2.8l-0.1 0.1 0 0 0.1-0.1c60.5 51.2 127 43.3 172.7 12.8 25.8-17.2 62.4-42 92.9-62.6L622.7 273.6 622.7 273.6z" class="a"/><path d="M622.7 151c-72.3 48.5-191 128-205.4 137.6 -20.8 14-70 49.2-146.9 12.5l9.3 9c5.6 5 13 11.3 21 16.5 53.2 34 108.9 28 154.3-2.3 32.6-21.8 112.8-75.1 167.7-111.5L622.7 151 622.7 151z" class="a"/></svg>
\ No newline at end of file
This diff is collapsed.
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64"><title>icon-dot-gov</title><path fill="#2378C3" fill-rule="evenodd" d="M32 0c17.673 0 32 14.327 32 32 0 17.673-14.327 32-32 32C14.327 64 0 49.673 0 32 0 14.327 14.327 0 32 0zm0 1.208C14.994 1.208 1.208 14.994 1.208 32S14.994 62.792 32 62.792 62.792 49.006 62.792 32 49.006 1.208 32 1.208zm10.59 38.858a.857.857 0 0 1 .882.822v1.642H18.886v-1.642a.857.857 0 0 1 .882-.822H42.59zM25.443 27.774v9.829h1.642v-9.83h3.273v9.83H32v-9.83h3.272v9.83h1.643v-9.83h3.272v9.83h.76a.857.857 0 0 1 .882.821v.821h-21.3v-.809a.857.857 0 0 1 .88-.82h.762v-9.842h3.272zm5.736-8.188l12.293 4.915v1.642h-1.63a.857.857 0 0 1-.882.822H21.41a.857.857 0 0 1-.882-.822h-1.642v-1.642l12.293-4.915z"/></svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64"><title>icon-https</title><path fill="#719F2A" fill-rule="evenodd" d="M32 0c17.673 0 32 14.327 32 32 0 17.673-14.327 32-32 32C14.327 64 0 49.673 0 32 0 14.327 14.327 0 32 0zm0 1.208C14.994 1.208 1.208 14.994 1.208 32S14.994 62.792 32 62.792 62.792 49.006 62.792 32 49.006 1.208 32 1.208zm0 18.886a7.245 7.245 0 0 1 7.245 7.245v3.103h.52c.86 0 1.557.698 1.557 1.558v9.322c0 .86-.697 1.558-1.557 1.558h-15.53c-.86 0-1.557-.697-1.557-1.558V32c0-.86.697-1.558 1.557-1.558h.52V27.34A7.245 7.245 0 0 1 32 20.094zm0 3.103a4.142 4.142 0 0 0-4.142 4.142v3.103h8.284V27.34A4.142 4.142 0 0 0 32 23.197z"/></svg>
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment