<!--
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements.  See the NOTICE file
  distributed with this work for additional information
  regarding copyright ownership.  The ASF licenses this file
  to you 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.
-->
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g id="Icon / Share">
<g id="upload">
<path id="Shape" fill-rule="evenodd" clip-rule="evenodd" d="M8.71 7.71002L11 5.41002V15C11 15.5523 11.4477 16 12 16C12.5523 16 13 15.5523 13 15V5.41002L15.29 7.71002C15.4778 7.89933 15.7334 8.00582 16 8.00582C16.2666 8.00582 16.5222 7.89933 16.71 7.71002C16.8993 7.52225 17.0058 7.26666 17.0058 7.00002C17.0058 6.73338 16.8993 6.47779 16.71 6.29002L12.71 2.29002C12.6149 2.19898 12.5028 2.12761 12.38 2.08002C12.1365 1.98 11.8635 1.98 11.62 2.08002C11.4972 2.12761 11.3851 2.19898 11.29 2.29002L7.29 6.29002C7.03634 6.54368 6.93728 6.91339 7.03012 7.2599C7.12297 7.6064 7.39362 7.87705 7.74012 7.9699C8.08663 8.06274 8.45634 7.96368 8.71 7.71002ZM21 12C20.4477 12 20 12.4477 20 13V19C20 19.5523 19.5523 20 19 20H5C4.44772 20 4 19.5523 4 19V13C4 12.4477 3.55228 12 3 12C2.44772 12 2 12.4477 2 13V19C2 20.6569 3.34315 22 5 22H19C20.6569 22 22 20.6569 22 19V13C22 12.4477 21.5523 12 21 12Z" fill="currentColor"/>
</g>
</g>
</svg>
