图片上传

This commit is contained in:
2025-03-25 11:38:37 +08:00
parent b35695c4ee
commit 30441094f3
448 changed files with 361 additions and 56 deletions

View File

@ -27,6 +27,7 @@
import com.ruoyi.wgz.bo.rests.WgzAutonymAnnex;
import com.ruoyi.wgz.bo.req.*;
import com.ruoyi.wgz.domain.WgzAttendance;
import com.ruoyi.wgz.domain.WgzMessage;
import com.ruoyi.wgz.domain.WgzPayCalculation;
import com.ruoyi.wgz.domain.WgzQuestionsConfiguration;
import com.ruoyi.wgz.service.*;
@ -554,6 +555,16 @@
return iWgzMessageService.userGetMessageList(req);
}
/**
* 【消息】【报名消息】 系统消息详情
*/
@ApiOperation("【消息】【报名消息】 系统消息详情")
//@PreAuthorize("@ss.hasPermi('wgzApp:user:userRegistrationInformation')")
@GetMapping("/WgzAppUserSystemMessageDetails/{messageId}")
public AjaxResult<WgzMessage> userSystemMessageDetails(@NotNull(message = "消息主键ID不能为空") @PathVariable("messageId") Long messageId) {
return AjaxResult.success(iWgzMessageService.queryById(messageId));
}
/**
* 【消息】【报名消息】 报名消息
*/
@ -602,11 +613,16 @@
Long appUserId = SecurityUtils.getAppUserId();
Long recruitId;
if (req.getType()==1){
BgtProjectRecruitApply by = iBgtProjectRecruitApplyService.selectByUserIdProjectRecruitApplyId(appUserId);
recruitId = by.getRecruitId();
// if (!appUserId.equals(recruitId)){
// throw new RuntimeException("当前用户不是该招工的申请人");
// }
//指定项目
Long zhaoGongId = req.getZhaoGongId();
if (zhaoGongId!=null && zhaoGongId > 0){
recruitId = zhaoGongId;
}
//系统默认当前项目
else{
BgtProjectRecruitApply by = iBgtProjectRecruitApplyService.selectByUserIdProjectRecruitApplyId(appUserId);
recruitId = by.getRecruitId();
}
} else {
recruitId = 0L;
}

View File

@ -10,6 +10,7 @@ import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull;
import java.time.LocalDate;
import java.util.List;
@Data
@NoArgsConstructor

View File

@ -234,7 +234,7 @@ public class BgtProjectRecruitApplyServiceImpl extends ServicePlusImpl<BgtProjec
.orderByDesc(BgtProjectRecruitApply::getId)
.last("limit 1");
BgtProjectRecruitApply bgtProjectRecruitApply = baseMapper.selectOne(last);
if (bgtProjectRecruitApply != null && bgtProjectRecruitApply.getStatus().equals("5")) {
if (bgtProjectRecruitApply != null && (bgtProjectRecruitApply.getStatus().equals("5") || bgtProjectRecruitApply.getStatus().equals("3"))) {
re.setType("1");
}else{
re.setType("2");
@ -380,6 +380,9 @@ public class BgtProjectRecruitApplyServiceImpl extends ServicePlusImpl<BgtProjec
if (coreQuert.getIsPass().equals("2")){
throw new RuntimeException("安全教育分数未及格!");
}
if (coreQuert.getIsPass().equals("3")){
throw new RuntimeException("未查询到您的考试信息!");
}
//3-2、是否已有工地
Integer i = baseMapper.selectCount(
new LambdaQueryWrapper<BgtProjectRecruitApply>().

View File

@ -23,6 +23,9 @@ public class WgzAppAttachmentAcquisitionReq implements Serializable {
@ApiModelProperty("0用户资料 1招工+用户资料")
private int type;
@ApiModelProperty("0(系统默认当前项目) 其他为真实项目id")
private Long zhaoGongId;
@ApiModelProperty("0资格证书 1劳动合同 2保单 3入场材料 4电子税票 5工作明细报告")
private List<String> specifiedAttachment;

View File

@ -0,0 +1,75 @@
package com.ruoyi.wgz.bo.res;
import com.baomidou.mybatisplus.annotation.*;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.time.LocalDateTime;
@Data
@NoArgsConstructor
@Accessors(chain = true)
@ApiModel("系统消息返回")
public class WgzAppUserSystemMessageDetails implements Serializable {
@ApiModelProperty("主键自增ID")
private Long id;
@ApiModelProperty("发送类型0系统 1务工者 2包工头")
private String senderType;
@ApiModelProperty("发送人")
private Long senderId;
@ApiModelProperty("接收类型1务工者 2包工头")
private String recipientType;
@ApiModelProperty("接收人")
private Long recipientId;
@ApiModelProperty("标题")
private String headline;
@ApiModelProperty("副标题")
private String subheading;
@ApiModelProperty("表ID")
private Long tableId;
@ApiModelProperty("表名")
private String tableName;
@ApiModelProperty("大类型(字典)")
private String messageLargeType;
@ApiModelProperty("小类型(字典)")
private String messageSmallType;
@ApiModelProperty("读状态0未读 1已读")
private String readStatus;
@ApiModelProperty("删除标志0代表存在 2代表删除")
private String delFlag;
@ApiModelProperty("创建者")
private String createBy;
@ApiModelProperty("创建时间")
private LocalDateTime createTime;
@ApiModelProperty("更新者")
private String updateBy;
@ApiModelProperty("更新时间")
private LocalDateTime updateTime;
@ApiModelProperty("备注")
private String remark;
private String isOperation ;
}

View File

@ -0,0 +1,31 @@
package com.ruoyi.wgz.bo.rests;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
@Data
@NoArgsConstructor
@Accessors(chain = true)
@ApiModel("考试试卷实体类")
public class ExaminationPaper implements Serializable {
private String userName;
private String pass;
private String sumScore;
private ExaminationPaperOne single;
private ExaminationPaperOne multiple;
private ExaminationPaperOne estimate;
private String sign;
private String openid;
}

View File

@ -0,0 +1,26 @@
package com.ruoyi.wgz.bo.rests;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("考试试卷实体类")
public class ExaminationPaperOne implements Serializable {
/**
* 题目+分数
*/
private String topic;
/**
* 二级题目列表
*/
private List<ExaminationPaperTwo> list;
}

View File

@ -0,0 +1,45 @@
package com.ruoyi.wgz.bo.rests;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
@Data
@NoArgsConstructor
@Accessors(chain = true)
@ApiModel("考试试卷实体类")
public class ExaminationPaperTwo implements Serializable {
/**
* 题目内容
*/
private String questionText;
/**
* 题目选项
*/
private String options;
/**
* 用户填写的答案
*/
private String answer;
/**
* 题目的正确答案
*/
private String correctAnswer;
/**
* 答题是否正确1 表示正确2 表示错误
*/
private String correct;
/**
* 当前题目的得分
*/
private double score;
}

View File

@ -0,0 +1,37 @@
package com.ruoyi.wgz.bo.rests;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
@Data
@NoArgsConstructor
@Accessors(chain = true)
@ApiModel("生成pdf的实体类")
public class PdfEntity implements Serializable {
// 类型
private String questionType;
// 内容
private String questionText;
// 选择
private String options;
// 用户答案
private String answer;
// 正确答案
private String correctAnswer;
// 答案是否正确1正 2错
private String correct;
// 用户当前题得分
private double score;
// 用户姓名
private String userName;
// 及格线及总分
private String pass;
// 用户试卷总得分
private double sumScore;
// 签名路径
private String sign;
}

View File

@ -13,9 +13,12 @@ import java.io.Serializable;
@Accessors(chain = true)
@ApiModel("获取当前用户的所有招工信息返回")
public class WgzAppUserAllRecruitmentTwo implements Serializable {
@ApiModelProperty("主键ID")
@ApiModelProperty("招工主键ID")
private Long recruitId;
@ApiModelProperty("招工申请主键ID")
private Long recruitApplyId;
@ApiModelProperty("招工名称")
private String recruitName;

View File

@ -1,5 +1,6 @@
package com.ruoyi.wgz.mapper;
import com.ruoyi.wgz.bo.rests.PdfEntity;
import com.ruoyi.wgz.domain.WgzQuestionSave;
import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus;
import com.ruoyi.common.core.mybatisplus.cache.MybatisPlusRedisCache;
@ -7,6 +8,7 @@ import org.apache.ibatis.annotations.CacheNamespace;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
import java.util.Map;
/**
@ -30,4 +32,11 @@ public interface WgzQuestionSaveMapper extends BaseMapperPlus<WgzQuestionSave> {
@Select("SELECT SUM(score) AS sumScore FROM wgz_question_save WHERE user_id = #{userId} AND correct = 1")
float getSumScore(@Param("userId") Long userId);
//获取生成pdf所需要的数据
@Select("SELECT SUM(score) FROM wgz_question_save WHERE user_id=#{userId} AND correct=1")
double pdfSumScore (@Param("userId") Long userId);
//
@Select("SELECT c.question_type,c.question_text,c.OPTIONS,a.answer,c.correct_answer,a.correct,a.score,a.sign,a.id,a.pass,b.username FROM wgz_question_save AS a LEFT JOIN wgz_user AS b ON b.user_id=a.user_id LEFT JOIN wgz_question_bank AS c ON a.bank_id=c.id WHERE a.user_id=#{userId}")
List<PdfEntity> pdfSc (@Param("userId") Long userId);
}

View File

@ -3,6 +3,7 @@ package com.ruoyi.wgz.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.bgt.domain.vo.BgtQuestionResult;
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
@ -13,6 +14,8 @@ import com.ruoyi.wgz.bo.WgzQuestionSaveQueryBo;
import com.ruoyi.wgz.bo.req.WgzAppSubmitATestPaperReq;
import com.ruoyi.wgz.bo.res.WgzAppSubmitATestPaperRes;
import com.ruoyi.wgz.bo.res.WgzAppUserScoreQuery;
import com.ruoyi.wgz.bo.rests.ExaminationPaper;
import com.ruoyi.wgz.bo.rests.PdfEntity;
import com.ruoyi.wgz.bo.rests.WgzAppSubmitATestPaperTwo;
import com.ruoyi.wgz.domain.WgzQuestionBank;
import com.ruoyi.wgz.domain.WgzQuestionSave;
@ -115,6 +118,9 @@ public class WgzQuestionSaveServiceImpl extends ServicePlusImpl<WgzQuestionSaveM
@Override
@Transactional
public WgzAppSubmitATestPaperRes userSubmitATestPaper(WgzAppSubmitATestPaperReq req) {
/**
* 第一部分:计算并保存最高分试卷
*/
// 初始化第一次分数和当前考试的分数
double scoreOne = 0.00;
double scoreTwo = 0.00;
@ -173,46 +179,6 @@ public class WgzQuestionSaveServiceImpl extends ServicePlusImpl<WgzQuestionSaveM
bqs.add(bqsTwo);
index = index+1;
}
// AtomicReference<Double> fenshu = new AtomicReference<>(0.0);
// AtomicInteger number = new AtomicInteger(0);
// AtomicInteger index = new AtomicInteger(0);
// req.getList().forEach(data -> {
// String correct = "";
// String pass = "";
// // 获取题库的正确答案,然后和用户的答案作对比
// WgzQuestionBank bqb = iWgzQuestionBankService.selectById(data.getBankId());
// if (bqb == null) {
// throw new RuntimeException("您的试卷被外星人卷走了!");
// } else {
// if (StringUtils.isEmpty(data.getAnswer())) {
// throw new RuntimeException("您还有题未答完!");
// }
// if (bqb.getCorrectAnswer().toLowerCase().contains(data.getAnswer().toLowerCase())) {
// correct = "1";
// fenshu.updateAndGet(v -> v + data.getScore());
// number.incrementAndGet();
// } else {
// correct = "2";
// }
// }
// // 记录这次的及格线和总分
// pass = configuration.getPassingScore().toString() + "," + configuration.getFullMark().toString();
// WgzQuestionSave bqsTwo = new WgzQuestionSave();
// bqsTwo.setUserId(req.getUserId());
// bqsTwo.setBankId(data.getBankId());
// bqsTwo.setAnswer(data.getAnswer());
// bqsTwo.setCorrect(correct);
// bqsTwo.setScore(data.getScore());
// //这几条数据只在每张试卷的第一条数据中存储(重复的没必要每条都存储)
// if (index.get() == 0) {
// bqsTwo.setTakeTime(req.getTakeTime());
// bqsTwo.setTimeOut(configuration.getAnswerTime());
// bqsTwo.setPass(pass);
// }
// bqs.add(bqsTwo);
// index.incrementAndGet();
// });
Double fullMark = configuration.getFullMark();
scoreTwo = 100.00 / fullMark * fenshu;
WgzAppSubmitATestPaperRes res = new WgzAppSubmitATestPaperRes();
@ -238,9 +204,88 @@ public class WgzQuestionSaveServiceImpl extends ServicePlusImpl<WgzQuestionSaveM
super.saveBatch(bqs);
}
}
/**
* 第二部分:分离出试卷信息
*/
return res;
}
// 分离试卷信息
public void two(Long userId,WgzQuestionsConfiguration configurationEntity) {
//1、组装数据
List<PdfEntity> we = baseMapper.pdfSc(userId);
if (!we.isEmpty()) {
double sumScore = baseMapper.pdfSumScore(userId);
Integer s = configurationEntity.getSingleChoice();
Integer m = configurationEntity.getMultipleChoice();
Integer e = configurationEntity.getEstimate();
ExaminationPaper examinationPaper = new ExaminationPaper();
}
// if len(we) > 0 {
// value, _ := dao.BusQuestionSave.Ctx(ctx).Where("openid", req.Openid).Where("correct", "1").Fields("sum(score)").Value()
// s := configurationEntity.SingleChoice
// m := configurationEntity.MultipleChoice
// e := configurationEntity.Estimate
// var rs *model.ExaminationPaperRes
// rs = &model.ExaminationPaperRes{
// UserName: we[0].UserName,
// Pass: we[0].Pass,
// SumScore: value.String(),
// Sign: signature.Signature,
// Openid: req.Openid,
// }
// var one = new(model.ExaminationPaperOne)
// var two = new(model.ExaminationPaperOne)
// var three = new(model.ExaminationPaperOne)
// one.Topic = "一、单选题,共" + strconv.Itoa(s) + "道题,每小题" + strconv.FormatFloat(configurationEntity.SingleScore, 'f', -1, 64) + "分,共计" + strconv.FormatFloat(float64(s)*configurationEntity.SingleScore, 'f', -1, 64) + "分"
// two.Topic = "二、多选题,共" + strconv.Itoa(m) + "道题,每小题" + strconv.FormatFloat(configurationEntity.MultipleScore, 'f', -1, 64) + "分,共计" + strconv.FormatFloat(float64(m)*configurationEntity.MultipleScore, 'f', -1, 64) + "分"
// three.Topic = "三、判断题,共" + strconv.Itoa(e) + "道题,每小题" + strconv.FormatFloat(configurationEntity.EstimateScore, 'f', -1, 64) + "分,共计" + strconv.FormatFloat(float64(e)*configurationEntity.EstimateScore, 'f', -1, 64) + "分"
// var sEntity []*model.ExaminationPaperTwo
// var mEntity []*model.ExaminationPaperTwo
// var eEntity []*model.ExaminationPaperTwo
// for _, data := range we {
// var sy *model.ExaminationPaperTwo
// sy = &model.ExaminationPaperTwo{
// QuestionText: data.QuestionText,
// Options: data.Options,
// Answer: data.Answer,
// CorrectAnswer: data.CorrectAnswer,
// Correct: data.Correct,
// Score: data.Score,
// }
// if data.QuestionType == "1" {
// sEntity = append(sEntity, sy)
// } else if data.QuestionType == "2" {
// mEntity = append(mEntity, sy)
// } else if data.QuestionType == "3" {
// eEntity = append(eEntity, sy)
// }
// }
// one.List = sEntity
// two.List = mEntity
// three.List = eEntity
// rs.Single = one
// rs.Multiple = two
// rs.Estimate = three
// path, errPath := Wo(rs)
// if errPath != nil {
// errPath = errors.New("生成PDF试卷出现了意外请重新提交")
// liberr.ErrIsNil(ctx, errPath)
// return
// } else {
// path = strings.Replace(path, "resource/public", "/wxfile", 1)
// _, err = g.DB().Insert(ctx, "bus_question_save_pdf", gdb.Map{
// "openid": req.Openid,
// "path": path,
// })
// res.PdfStr = path
// }
// }
// liberr.ErrIsNil(ctx, err, "添加失败")
}
@Override
public WgzAppUserScoreQuery userScoreQuery(long userId) {
WgzAppUserScoreQuery res = new WgzAppUserScoreQuery();

View File

@ -203,7 +203,7 @@ public class WgzUserServiceImpl extends ServicePlusImpl<WgzUserMapper, WgzUser>
if(!ValidUtil.isValidBankCard(req.getCardNo())){
throw new RuntimeException("请检查银行卡!");
}
//0、查询当前用户是否实名了,如若已实名就无法再次实名
//查询当前用户是否实名了,如若已实名就无法再次实名
Integer count = baseMapper.selectCount(
new LambdaQueryWrapper<WgzUser>()
.eq(WgzUser::getUserId, req.getUserId())
@ -212,6 +212,17 @@ public class WgzUserServiceImpl extends ServicePlusImpl<WgzUserMapper, WgzUser>
if (count>0){
throw new RuntimeException("当前用户已实名!");
}
//查询数据库中是否有同名的身份证或银行卡
Integer ct = baseMapper.selectCount(
new LambdaQueryWrapper<WgzUser>()
.and(wrapper -> wrapper
.eq(WgzUser::getIdentityCard, req.getIdentityCard())
.or()
.eq(WgzUser::getCardNo, req.getCardNo()))
);
if (ct>0){
throw new RuntimeException("当前身份证或银行卡已存在!");
}
//1、对指定用户进行实名认证
WgzUser user = new WgzUser();
BeanUtils.copyProperties(req, user);

View File

@ -268,21 +268,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="userAllRecruitment" resultType="com.ruoyi.wgz.bo.rests.WgzAppUserAllRecruitmentTwo">
SELECT
a.id as recruitApplyId,
b.id as recruitId,
b.recruit_name
CONCAT_WS('|', b.recruit_name, a.entry_time) as recruitName
FROM
bgt_project_recruit_apply as a
LEFT JOIN bgt_project_recruit as b on(b.id = a.recruit_id)
WHERE
a.user_id = #{userId}
<if test="type!=null and type!='1'">
and a.status in ("3","5","6")
</if>
<if test="type!=null and type!='2'">
and a.status in ("1","3","5","6")
</if>
<if test="type!=null and type!=1">
and a.status in ("3","5","6")
</if>
<if test="type!=null and type!=2">
and a.status in ("1","3","5","6")
</if>
and a.del_flag = "0"
GROUP BY a.recruit_id
</select>
</mapper>

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 260 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 260 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 260 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 260 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 260 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 260 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 267 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 260 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 260 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 260 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 260 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 260 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 260 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 290 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 260 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 260 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 260 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 260 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 272 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 272 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 272 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 272 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 694 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 524 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 524 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 524 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 524 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 524 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 524 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 524 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 524 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 524 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 MiB

Some files were not shown because too many files have changed in this diff Show More