Display Gem Icons in Gem Catalog (#7294)

Signed-off-by: nggieber <52797929+AMZN-nggieber@users.noreply.github.com>

Co-authored-by: Alex Peterson <26804013+AMZN-alexpete@users.noreply.github.com>
monroegm-disable-blank-issue-2
AMZN-nggieber 4 years ago committed by GitHub
parent e1c7dce7a7
commit f5fcab75d6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:6d6204c6730e5675791765ca194e9b1cbec282208e280507de830afc2805e5fa oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 41127 size 1232

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 1232

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:6d6204c6730e5675791765ca194e9b1cbec282208e280507de830afc2805e5fa oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 41127 size 1232

@ -98,15 +98,17 @@ namespace O3DE::ProjectManager
constexpr int minHeaderSectionWidth = 100; constexpr int minHeaderSectionWidth = 100;
AdjustableHeaderWidget* listHeaderWidget = new AdjustableHeaderWidget( AdjustableHeaderWidget* listHeaderWidget = new AdjustableHeaderWidget(
QStringList{ tr("Gem Name"), tr("Gem Summary"), tr("Status") }, QStringList{ tr("Gem Image"), tr("Gem Name"), tr("Gem Summary"), tr("Status") },
QVector<int>{ QVector<int>{
GemItemDelegate::s_defaultSummaryStartX - 30, GemPreviewImageWidth + AdjustableHeaderWidget::s_headerTextIndent,
-GemPreviewImageWidth - AdjustableHeaderWidget::s_headerTextIndent + GemItemDelegate::s_defaultSummaryStartX - 30,
0, // Section is set to stretch to fit 0, // Section is set to stretch to fit
GemItemDelegate::s_buttonWidth + GemItemDelegate::s_itemMargins.left() + GemItemDelegate::s_itemMargins.right() + GemItemDelegate::s_contentMargins.right() GemItemDelegate::s_statusIconSize + GemItemDelegate::s_statusButtonSpacing + GemItemDelegate::s_buttonWidth + GemItemDelegate::s_contentMargins.right()
}, },
minHeaderSectionWidth, minHeaderSectionWidth,
QVector<QHeaderView::ResizeMode> QVector<QHeaderView::ResizeMode>
{ {
QHeaderView::ResizeMode::Fixed,
QHeaderView::ResizeMode::Interactive, QHeaderView::ResizeMode::Interactive,
QHeaderView::ResizeMode::Stretch, QHeaderView::ResizeMode::Stretch,
QHeaderView::ResizeMode::Fixed QHeaderView::ResizeMode::Fixed

@ -116,7 +116,7 @@ namespace O3DE::ProjectManager
// Separating line // Separating line
QFrame* hLine = new QFrame(); QFrame* hLine = new QFrame();
hLine->setFrameShape(QFrame::HLine); hLine->setFrameShape(QFrame::HLine);
hLine->setStyleSheet("color: #666666;"); hLine->setObjectName("horizontalSeparatingLine");
vLayout->addWidget(hLine); vLayout->addWidget(hLine);
UpdateCollapseState(); UpdateCollapseState();

@ -8,7 +8,9 @@
#include <GemCatalog/GemInspector.h> #include <GemCatalog/GemInspector.h>
#include <GemCatalog/GemItemDelegate.h> #include <GemCatalog/GemItemDelegate.h>
#include <ProjectManagerDefs.h>
#include <QDir>
#include <QFrame> #include <QFrame>
#include <QLabel> #include <QLabel>
#include <QSpacerItem> #include <QSpacerItem>
@ -118,10 +120,12 @@ namespace O3DE::ProjectManager
{ {
m_dependingGems->Update(tr("Depending Gems"), tr("The following Gems will be automatically enabled with this Gem."), dependingGemTags); m_dependingGems->Update(tr("Depending Gems"), tr("The following Gems will be automatically enabled with this Gem."), dependingGemTags);
m_dependingGems->show(); m_dependingGems->show();
m_dependingGemsSpacer->changeSize(0, 20, QSizePolicy::Fixed, QSizePolicy::Fixed);
} }
else else
{ {
m_dependingGems->hide(); m_dependingGems->hide();
m_dependingGemsSpacer->changeSize(0, 0, QSizePolicy::Fixed, QSizePolicy::Fixed);
} }
// Additional information // Additional information
@ -246,7 +250,8 @@ namespace O3DE::ProjectManager
m_dependingGems = new GemsSubWidget(); m_dependingGems = new GemsSubWidget();
connect(m_dependingGems, &GemsSubWidget::TagClicked, this, [this](const Tag& tag){ emit TagClicked(tag); }); connect(m_dependingGems, &GemsSubWidget::TagClicked, this, [this](const Tag& tag){ emit TagClicked(tag); });
m_mainLayout->addWidget(m_dependingGems); m_mainLayout->addWidget(m_dependingGems);
m_mainLayout->addSpacing(20); m_dependingGemsSpacer = new QSpacerItem(0, 20, QSizePolicy::Fixed, QSizePolicy::Fixed);
m_mainLayout->addSpacerItem(m_dependingGemsSpacer);
// Additional information // Additional information
QLabel* additionalInfoLabel = CreateStyledLabel(m_mainLayout, 14, s_headerColor); QLabel* additionalInfoLabel = CreateStyledLabel(m_mainLayout, 14, s_headerColor);

@ -75,8 +75,9 @@ namespace O3DE::ProjectManager
QLabel* m_requirementsTextLabel = nullptr; QLabel* m_requirementsTextLabel = nullptr;
QSpacerItem* m_requirementsMainSpacer = nullptr; QSpacerItem* m_requirementsMainSpacer = nullptr;
// Depending and conflicting gems // Depending gems
GemsSubWidget* m_dependingGems = nullptr; GemsSubWidget* m_dependingGems = nullptr;
QSpacerItem* m_dependingGemsSpacer = nullptr;
// Additional information // Additional information
QLabel* m_versionLabel = nullptr; QLabel* m_versionLabel = nullptr;

@ -10,6 +10,7 @@
#include <GemCatalog/GemModel.h> #include <GemCatalog/GemModel.h>
#include <GemCatalog/GemSortFilterProxyModel.h> #include <GemCatalog/GemSortFilterProxyModel.h>
#include <AdjustableHeaderWidget.h> #include <AdjustableHeaderWidget.h>
#include <ProjectManagerDefs.h>
#include <AzCore/std/smart_ptr/unique_ptr.h> #include <AzCore/std/smart_ptr/unique_ptr.h>
@ -25,6 +26,7 @@
#include <QDesktopServices> #include <QDesktopServices>
#include <QMovie> #include <QMovie>
#include <QHeaderView> #include <QHeaderView>
#include <QDir>
namespace O3DE::ProjectManager namespace O3DE::ProjectManager
{ {
@ -117,18 +119,27 @@ namespace O3DE::ProjectManager
painter->restore(); painter->restore();
} }
// Gem preview
QString previewPath = QDir(GemModel::GetPath(modelIndex)).filePath(ProjectPreviewImagePath);
QPixmap gemPreviewImage(previewPath);
QRect gemPreviewRect(
contentRect.left() + AdjustableHeaderWidget::s_headerTextIndent,
contentRect.center().y() - GemPreviewImageHeight / 2,
GemPreviewImageWidth, GemPreviewImageHeight);
painter->drawPixmap(gemPreviewRect, gemPreviewImage);
// Gem name // Gem name
QString gemName = GemModel::GetDisplayName(modelIndex); QString gemName = GemModel::GetDisplayName(modelIndex);
QFont gemNameFont(options.font); QFont gemNameFont(options.font);
QPair<int, int> nameXBounds = CalcColumnXBounds(HeaderOrder::Name); QPair<int, int> nameXBounds = CalcColumnXBounds(HeaderOrder::Name);
const int nameStartX = nameXBounds.first; const int nameStartX = nameXBounds.first;
const int firstColumnTextStartX = s_itemMargins.left() + nameStartX + AdjustableHeaderWidget::s_headerTextIndent; const int nameColumnTextStartX = s_itemMargins.left() + nameStartX + AdjustableHeaderWidget::s_headerTextIndent;
const int firstColumnMaxTextWidth = nameXBounds.second - nameStartX - AdjustableHeaderWidget::s_headerTextIndent; const int nameColumnMaxTextWidth = nameXBounds.second - nameStartX - AdjustableHeaderWidget::s_headerTextIndent;
gemNameFont.setPixelSize(static_cast<int>(s_gemNameFontSize)); gemNameFont.setPixelSize(static_cast<int>(s_gemNameFontSize));
gemNameFont.setBold(true); gemNameFont.setBold(true);
gemName = QFontMetrics(gemNameFont).elidedText(gemName, Qt::TextElideMode::ElideRight, firstColumnMaxTextWidth); gemName = QFontMetrics(gemNameFont).elidedText(gemName, Qt::TextElideMode::ElideRight, nameColumnMaxTextWidth);
QRect gemNameRect = GetTextRect(gemNameFont, gemName, s_gemNameFontSize); QRect gemNameRect = GetTextRect(gemNameFont, gemName, s_gemNameFontSize);
gemNameRect.moveTo(firstColumnTextStartX, contentRect.top()); gemNameRect.moveTo(nameColumnTextStartX, contentRect.top());
painter->setFont(gemNameFont); painter->setFont(gemNameFont);
painter->setPen(m_textColor); painter->setPen(m_textColor);
gemNameRect = painter->boundingRect(gemNameRect, Qt::TextSingleLine, gemName); gemNameRect = painter->boundingRect(gemNameRect, Qt::TextSingleLine, gemName);
@ -136,9 +147,9 @@ namespace O3DE::ProjectManager
// Gem creator // Gem creator
QString gemCreator = GemModel::GetCreator(modelIndex); QString gemCreator = GemModel::GetCreator(modelIndex);
gemCreator = standardFontMetrics.elidedText(gemCreator, Qt::TextElideMode::ElideRight, firstColumnMaxTextWidth); gemCreator = standardFontMetrics.elidedText(gemCreator, Qt::TextElideMode::ElideRight, nameColumnMaxTextWidth);
QRect gemCreatorRect = GetTextRect(standardFont, gemCreator, s_fontSize); QRect gemCreatorRect = GetTextRect(standardFont, gemCreator, s_fontSize);
gemCreatorRect.moveTo(firstColumnTextStartX, contentRect.top() + gemNameRect.height()); gemCreatorRect.moveTo(nameColumnTextStartX, contentRect.top() + gemNameRect.height());
painter->setFont(standardFont); painter->setFont(standardFont);
gemCreatorRect = painter->boundingRect(gemCreatorRect, Qt::TextSingleLine, gemCreator); gemCreatorRect = painter->boundingRect(gemCreatorRect, Qt::TextSingleLine, gemCreator);
@ -161,7 +172,7 @@ namespace O3DE::ProjectManager
QRect GemItemDelegate::CalcSummaryRect(const QRect& contentRect, bool hasTags) const QRect GemItemDelegate::CalcSummaryRect(const QRect& contentRect, bool hasTags) const
{ {
const int featureTagAreaHeight = 30; const int featureTagAreaHeight = 40;
const int summaryHeight = contentRect.height() - (hasTags * featureTagAreaHeight); const int summaryHeight = contentRect.height() - (hasTags * featureTagAreaHeight);
const auto [summaryStartX, summaryEndX] = CalcColumnXBounds(HeaderOrder::Summary); const auto [summaryStartX, summaryEndX] = CalcColumnXBounds(HeaderOrder::Summary);
@ -327,7 +338,7 @@ namespace O3DE::ProjectManager
void GemItemDelegate::DrawPlatformIcons(QPainter* painter, const QRect& contentRect, const QModelIndex& modelIndex) const void GemItemDelegate::DrawPlatformIcons(QPainter* painter, const QRect& contentRect, const QModelIndex& modelIndex) const
{ {
const GemInfo::Platforms platforms = GemModel::GetPlatforms(modelIndex); const GemInfo::Platforms platforms = GemModel::GetPlatforms(modelIndex);
int startX = 0; int startX = s_itemMargins.left() + CalcColumnXBounds(HeaderOrder::Name).first + AdjustableHeaderWidget::s_headerTextIndent;
// Iterate and draw the platforms in the order they are defined in the enum. // Iterate and draw the platforms in the order they are defined in the enum.
for (int i = 0; i < GemInfo::NumPlatforms; ++i) for (int i = 0; i < GemInfo::NumPlatforms; ++i)
@ -453,7 +464,7 @@ namespace O3DE::ProjectManager
} }
else else
{ {
circleCenter = buttonRect.center() + QPoint(-buttonRect.width() / 2 + s_buttonBorderRadius, 1); circleCenter = buttonRect.center() + QPoint(-buttonRect.width() / 2 + s_buttonBorderRadius + 1, 1);
} }
// Rounded rect // Rounded rect

@ -47,11 +47,11 @@ namespace O3DE::ProjectManager
inline constexpr static int s_height = 105; // Gem item total height inline constexpr static int s_height = 105; // Gem item total height
inline constexpr static qreal s_gemNameFontSize = 13.0; inline constexpr static qreal s_gemNameFontSize = 13.0;
inline constexpr static qreal s_fontSize = 12.0; inline constexpr static qreal s_fontSize = 12.0;
inline constexpr static int s_defaultSummaryStartX = 190; inline constexpr static int s_defaultSummaryStartX = 270;
// Margin and borders // Margin and borders
inline constexpr static QMargins s_itemMargins = QMargins(/*left=*/16, /*top=*/8, /*right=*/16, /*bottom=*/8); // Item border distances inline constexpr static QMargins s_itemMargins = QMargins(/*left=*/16, /*top=*/5, /*right=*/16, /*bottom=*/5); // Item border distances
inline constexpr static QMargins s_contentMargins = QMargins(/*left=*/20, /*top=*/12, /*right=*/20, /*bottom=*/12); // Distances of the elements within an item to the item borders inline constexpr static QMargins s_contentMargins = QMargins(/*left=*/10, /*top=*/12, /*right=*/20, /*bottom=*/12); // Distances of the elements within an item to the item borders
inline constexpr static int s_borderWidth = 4; inline constexpr static int s_borderWidth = 4;
inline constexpr static int s_extraSummarySpacing = s_itemMargins.right(); inline constexpr static int s_extraSummarySpacing = s_itemMargins.right();
@ -68,8 +68,13 @@ namespace O3DE::ProjectManager
inline constexpr static int s_featureTagBorderMarginY = 3; inline constexpr static int s_featureTagBorderMarginY = 3;
inline constexpr static int s_featureTagSpacing = 7; inline constexpr static int s_featureTagSpacing = 7;
// Status icon
inline constexpr static int s_statusIconSize = 16;
inline constexpr static int s_statusButtonSpacing = 5;
enum class HeaderOrder enum class HeaderOrder
{ {
Preview,
Name, Name,
Summary, Summary,
Status Status
@ -109,8 +114,6 @@ namespace O3DE::ProjectManager
// Status icons // Status icons
void SetStatusIcon(QPixmap& m_iconPixmap, const QString& iconPath); void SetStatusIcon(QPixmap& m_iconPixmap, const QString& iconPath);
inline constexpr static int s_statusIconSize = 16;
inline constexpr static int s_statusButtonSpacing = 5;
QPixmap m_unknownStatusPixmap; QPixmap m_unknownStatusPixmap;
QPixmap m_notDownloadedPixmap; QPixmap m_notDownloadedPixmap;

@ -15,6 +15,8 @@ namespace O3DE::ProjectManager
inline constexpr static int ProjectPreviewImageWidth = 210; inline constexpr static int ProjectPreviewImageWidth = 210;
inline constexpr static int ProjectPreviewImageHeight = 280; inline constexpr static int ProjectPreviewImageHeight = 280;
inline constexpr static int ProjectTemplateImageWidth = 92; inline constexpr static int ProjectTemplateImageWidth = 92;
inline constexpr static int GemPreviewImageWidth = 70;
inline constexpr static int GemPreviewImageHeight = 40;
inline constexpr static int ProjectCommandLineTimeoutSeconds = 30; inline constexpr static int ProjectCommandLineTimeoutSeconds = 30;
static const QString ProjectBuildDirectoryName = "build"; static const QString ProjectBuildDirectoryName = "build";

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:6d6204c6730e5675791765ca194e9b1cbec282208e280507de830afc2805e5fa oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 41127 size 1232

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 1232

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 1232

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 1232

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 1232

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 1232

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 1232

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 1232

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 1232

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 1232

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 1232

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 1232

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 1232

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 1232

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 1232

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 1232

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 1232

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 1232

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 1232

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 1232

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 1232

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 1232

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 1232

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 1232

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 1232

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 1232

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 1232

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 1232

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 1232

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:6d6204c6730e5675791765ca194e9b1cbec282208e280507de830afc2805e5fa oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 41127 size 1232

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:6d6204c6730e5675791765ca194e9b1cbec282208e280507de830afc2805e5fa oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 41127 size 1232

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:6d6204c6730e5675791765ca194e9b1cbec282208e280507de830afc2805e5fa oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 41127 size 1232

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:6d6204c6730e5675791765ca194e9b1cbec282208e280507de830afc2805e5fa oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 41127 size 1232

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:6d6204c6730e5675791765ca194e9b1cbec282208e280507de830afc2805e5fa oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 41127 size 1232

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e0f8ffb4980f6cfc34135f4a4b9967293ff34bcdb37019181cb22c6a07067ce8
size 57461

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:6d6204c6730e5675791765ca194e9b1cbec282208e280507de830afc2805e5fa oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 41127 size 1232

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:6d6204c6730e5675791765ca194e9b1cbec282208e280507de830afc2805e5fa oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 41127 size 1232

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 1232

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 1232

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:6d6204c6730e5675791765ca194e9b1cbec282208e280507de830afc2805e5fa oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 41127 size 1232

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:6d6204c6730e5675791765ca194e9b1cbec282208e280507de830afc2805e5fa oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 41127 size 1232

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:7ac9dd09bde78f389e3725ac49d61eff109857e004840bc0bc3881739df9618d oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 2217 size 1232

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:6d6204c6730e5675791765ca194e9b1cbec282208e280507de830afc2805e5fa oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 41127 size 1232

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:6d6204c6730e5675791765ca194e9b1cbec282208e280507de830afc2805e5fa oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 41127 size 1232

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 1232

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:6d6204c6730e5675791765ca194e9b1cbec282208e280507de830afc2805e5fa oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 41127 size 1232

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:6d6204c6730e5675791765ca194e9b1cbec282208e280507de830afc2805e5fa oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 41127 size 1232

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:7ac9dd09bde78f389e3725ac49d61eff109857e004840bc0bc3881739df9618d oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 2217 size 1232

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:6d6204c6730e5675791765ca194e9b1cbec282208e280507de830afc2805e5fa oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 41127 size 1232

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:6d6204c6730e5675791765ca194e9b1cbec282208e280507de830afc2805e5fa oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 41127 size 1232

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:6d6204c6730e5675791765ca194e9b1cbec282208e280507de830afc2805e5fa oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 41127 size 1232

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:6d6204c6730e5675791765ca194e9b1cbec282208e280507de830afc2805e5fa oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 41127 size 1232

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:7917fbf6e4e3a89e3432b8f48822b660bb245d2b84bb8efdf9f715593c0973df oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 38792 size 1232

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:7917fbf6e4e3a89e3432b8f48822b660bb245d2b84bb8efdf9f715593c0973df oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 38792 size 1232

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:7917fbf6e4e3a89e3432b8f48822b660bb245d2b84bb8efdf9f715593c0973df oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 38792 size 1232

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 1232

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:6d6204c6730e5675791765ca194e9b1cbec282208e280507de830afc2805e5fa oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 41127 size 1232

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:6d6204c6730e5675791765ca194e9b1cbec282208e280507de830afc2805e5fa oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 41127 size 1232

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:6d6204c6730e5675791765ca194e9b1cbec282208e280507de830afc2805e5fa oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 41127 size 1232

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:6d6204c6730e5675791765ca194e9b1cbec282208e280507de830afc2805e5fa oid sha256:de0e6e480ece5b423222f4feacf56553d73713fe9afea8bbc9a2660a3cd54ec7
size 41127 size 1232

Loading…
Cancel
Save