slides (application/pdf - 22.2 mb)
TRANSCRIPT
![Page 1: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/1.jpg)
![Page 2: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/2.jpg)
Copyright © 2013 Chocolate Software Labs.
Some rights reserved.
The following materials was prepared for BSDCan 2013 Proceedings, University of Ottawa, Canada.
These materials are Copyright 2013 Chocolate Software Labs, under the terms of Creative Commons License.
@BSDCan 2/51
![Page 3: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/3.jpg)
A NetBSD-based Radarin a Rocket Launching Center
Andre Oliveira <[email protected]>Chocolate Software LaboratoriesBSDCan 2013, University of Ottawa, Canada
![Page 4: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/4.jpg)
Agenda
@BSDCan
Context
Problem
NetBSD for the win
ST2223 Telemeasurements System - A NetBSD-based Radar
·
·
·
·
4/51
![Page 5: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/5.jpg)
Introducing
@BSDCan
C/C++ Unix Guy
Software Engineering at Chocolate Software Laboratories (Brasil)
Fail: machine-learning recommendation as a service
Now
Universities: USP, PUC-SP. Companies: Schibsted ASA, Orbisat/Embraer.
·
·
·
·
R&D services for software development projects
Training services: C/C++ development for Unix, Qt
-
-
·
5/51
![Page 6: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/6.jpg)
ContextAerospace Landscape in Brasil
Alcântara Launching Center
![Page 7: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/7.jpg)
ContextAerospace Landscape in Brasil - Quick history
@BSDCan
1961 - Government starts Brazilian space program
1994 - Government creates Brazilian Space Agency
Focus on development of local space-related technology
·
Military control-
·
Civilian control-
·
Vehicles launching
Launch sites
Satellite manufacturing
-
-
-
7/51
![Page 8: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/8.jpg)
ContextAerospace Landscape in Brasil - Globally
@BSDCan
Rocket launching technology raise issues
INPE (National Space Research Institute) and NASA
US and Brasil were once best friends (cold war)
AEB (Brazilian Space Agency) 2013 budget: US$ 275 million
NASA 2012 budget: US$ 17.8 billion
·
Can be applied for civilian (space) and military (artillery) purposes-
·
Exchange data and expertise in civilian-related applications-
·
Now closest relations are with China, Ukraine and Russia-
·
·
8/51
![Page 9: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/9.jpg)
ContextAerospace Landscape in Brasil - Infrastructure in summary
@BSDCan
Launching sites
Launching vehicles
Satellites
·
Alcantara Launch Center - CLA-
Barreira do Inferno Launch Center - CLBI-
·
VLS - Satellite Launch Vehicle-
Variety of sounding rockets-
Others in development (VLM - Microsatellite Launch Vehicle)-
·
Several, many developed with China-
9/51
![Page 10: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/10.jpg)
ContextAlcântara Launching Center - Mission
CLA mission: launching of scientific and technological rockets.
@BSDCan
Strategic features
Infrastructure
·
·
10/51
![Page 11: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/11.jpg)
ContextAlcântara Launching Center - Strategic features
@BSDCan
Low population density
Good (above average) security conditions
Closeness to the Equator line
Near the sea (enable launching of huge rockets)
Easy access by sea, land and air
·
·
·
The closest launching base to the Equator
Up to 30% less fuel
-
-
·
·
11/51
![Page 12: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/12.jpg)
ContextAlcântara Launching Center - Infrastructure
@BSDCan
Facilities
Universal launch tower
Mobile integration tower
Control center
Meteorological radars and facilities
Telemeasurements & Tracking radars
·
Propellants preparation
Payload preparation (scientific-technological experiments or satellites)
-
-
·
·
·
·
·
12/51
![Page 13: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/13.jpg)
ContextAlcântara Launching Center - Control Base & Raposa Site
@BSDCan
source: Brasil's Ministry of Defence
13/51
![Page 14: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/14.jpg)
ContextAlcântara Launching Center - Control Center
@BSDCan
source: www.defesanet.com.br
14/51
![Page 15: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/15.jpg)
ContextAlcântara Launching Center - Launchpad & Vehicles
@BSDCan
source: www.defesanet.com.br
15/51
![Page 16: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/16.jpg)
ContextAlcântara Launching Center - Radars
@BSDCan
Tracking Radars
Telemeasurements Stations
Telemeasurements what for?
·
Atlas-Thomson Radar (FR) - Precision sensor (azimuth/elevation)
Adour-Thomson Radar (FR) - Approach sensor (distance)
-
-
·
Thomson's Telemeasurements - Main station
Omnisys' ST2223 - Redundant station (our NetBSD-based boy)
-
-
·
Not for tracking purposes
Still needs to track target's signal automatically
Payload's data acquisition, transmission, recording and processing
More useful for launching or suborbital missions
-
-
-
-
16/51
![Page 17: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/17.jpg)
ContextAlcântara Launching Center - Misc
@BSDCan
30 years old (01/03/1983)
First launch: December 1989
20 missions plus
457 rockets launched up to today (373 brazilian)
2012 base had 9 missions (a mark)
BSD came just in time!
·
·
·
·
·
·
17/51
![Page 18: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/18.jpg)
ContextAlcântara Launching Center - ST2223 Telemeasurements Station
@BSDCan
source: www.omnisys.com.br
18/51
![Page 19: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/19.jpg)
Agenda
@BSDCan
Context
Problem
NetBSD for the win
ST2223 Telemeasurements System - A NetBSD-based Radar
·
Aerospace Landscape in Brasil
Alcântara Launching Center
·
·
·
·
·
19/51
![Page 20: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/20.jpg)
ProblemSoftware Engineering at Omnisys
![Page 21: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/21.jpg)
ProblemSoftware Engineering at Omnisys - History & Projects
@BSDCan
Late 1997 - Omnisys Engineering founded
Late 2005 - 1st programmer of Software Dev. Group (SDG) hired
Early 2006 - Thales Group buy Omnisys
Early 2006 - 1st intern hired
Early 2007 - 6 people at SDG
·
·
·
·
·
Thomson-Atlas (new radar display/control) - CLA
Thomson-Adour (new radar display/control) - CLA
ST2223 Telemeasurements Station - CLA
Optical Tracking System - CLA
·
·
·
·
21/51
![Page 22: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/22.jpg)
ProblemSoftware Engineering at Omnisys - CLA special requirements
Launching centers are special customers
Delivery Process
@BSDCan
Isolated by 3000 km distance
Expensive operation to deploy
·
·
Extensive testing (simulation) at our site
Extensive testing (simulation) at customer site
Deploy when sure
Real targets tests (put base in operation)
Deploy is for real, almost no rollback (during an operation)
·
·
·
·
·
22/51
![Page 23: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/23.jpg)
ProblemSoftware Engineering at Omnisys - Implications
Home QA
@BSDCan
Minimum failure
Simulate everything
Predictability
Reproducibility
Maximum Control
·
·
·
·
·
23/51
![Page 24: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/24.jpg)
ProblemSoftware Engineering at Omnisys - Challenges
Projects
Internally
@BSDCan
Build ST2223
Atlas/Adour new Displays
Detail Optical Tracking System
·
·
·
Build a "jack of all trades" team
Aerospace-level QA
Build processes and infrastructure
·
·
· 24/51
![Page 25: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/25.jpg)
Agenda
@BSDCan
Context
Problem
NetBSD for the win
ST2223 Telemeasurements System - A NetBSD-based Radar
·
Aerospace Landscape in Brasil
Alcântara Launching Center
·
·
·
·
·
25/51
![Page 26: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/26.jpg)
NetBSD for the win
![Page 27: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/27.jpg)
NetBSD for the winInfrastructure & Development Support Tools
@BSDCan
Unix development workstations
Server
Surrounded by supporting tools
·
·
Backup
Network Services
Development
-
-
-
·
Oscilloscopes
Signal Generators
Electronic prototypes
-
-
-
27/51
![Page 28: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/28.jpg)
NetBSD for the winWorkstations
@BSDCan
As any other BSD·
C/C++ Developer friendly
pkgsrc
Qt (almost fully compatible)
Qwt
-
bmake, lex/yacc, awk/sed
Cross-compiling toolchain
mount_nullfs(8) (!)
-
-
-
-
gmake, vim, kdevelpop, lisp, tcl, python, perl
sqlite, postrgresql, num-py, gnu-R
-
-
-
-
28/51
![Page 29: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/29.jpg)
NetBSD for the winDevelopment Server
@BSDCan
Classic services natively:
Good storage stack
pkgsrc
Development
·
FTP, HTTP, SMTP, DNS, NFS-
·
needed for huge simulation datasets-
·
·
No much memory or CPU
More than /home
No jail(8)
Let's try chroot(8)
-
-
-
-
29/51
![Page 30: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/30.jpg)
NetBSD for the winDevelopment Server - chroot(8) environments
@BSDCan
export mnt_prefix=/mntexport dev_path=/dev/vnd0export img_path=/omnisys/software/netbsd/netbsd-2.1/i386cd.isoexport mnt_path=$(mktemp -d ${mnt_prefix}/${0}-XXX)export dst_path=/omnisys/machs/temp.zumbi.$(whoami)
vnconfig -v ${dev_path} ${img_path}mount -t cd9660 ${dev_path}d ${mnt_path}
for fset in ./text.tgz \ ./misc.tgz \ ./man.tgz \ ./kern-GENERIC.tgz \ ./games.tgz \ ./etc.tgz \ ./comp.tgz \ ./base.tgz; do progress -zf ${mnt_path}/i386/binary/sets/${fset} tar -C ${dst_path} -xpf - ;done;cd ${dst_path}/dev./MAKEDEV all... # trigger for our custom configuration and packages setup scripts
SHELL
30/51
![Page 31: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/31.jpg)
NetBSD for the winDevelopment Server - chroot(8) environments
@BSDCan
Simple
Customizable
Vagrant-like (??)
·
·
·
31/51
![Page 32: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/32.jpg)
NetBSD for the winSimulation
@BSDCan
Simulation Machine <- Ethernet -> Target System Machine
Components
Stable
Robust
Low-latency
·
·
simulation-producer (NetBSD)
simulation-proxy (Linux or NetBSD)
simulation-dev (Linux or NetBSD)
-
-
-
·
·
·
32/51
![Page 33: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/33.jpg)
NetBSD for the winProduct Governance and Engineering Processes
@BSDCan
Learn by doing
Horizontality
·
·
BSDs opensource KDB Project Management·
Working with hats
Communication
Product Roadmap
-
-
engsoft-releng@, engsoft-misc@, engsoft-doc@, engsoft-project_name@, engsoft-commits@
-
-
BSDs opensource KDB Engineering Processes and Product Governance·
CURRENT->RELEASE->STABLE Branch model-33/51
![Page 34: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/34.jpg)
NetBSD for the winQA
@BSDCan
"Broken Build Hall of Shame"
Regress tests
Thanks to you Guys!
·
·
·
34/51
![Page 35: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/35.jpg)
NetBSD for the winTeam
Left to right: Raimundo Santos, Vini (our guest), Silas Silva, Flavio Copola, RodrigoSchimidt, Fabiano Lopes (missing)
@BSDCan
source: Personal archive
35/51
![Page 36: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/36.jpg)
Agenda
@BSDCan
Context
Problem
NetBSD for the win
ST2223 Telemeasurements System - A NetBSD-based Radar
·
Aerospace Landscape in Brasil
Alcântara Launching Center
·
·
·
·
·
36/51
![Page 37: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/37.jpg)
ST2223 Telemeasurements SystemA NetBSD-based Radar
![Page 38: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/38.jpg)
ST2223 Telemeasurements System
Mission
Features
@BSDCan
Ensure communication between rocket payload and the launching base·
S-Band
Frequency: 2200 MHz and 2300 MHz
4.5m Antenna
4 operation modes:
No emission (depends on payload's transmitter)
Fixed target antenna
Local and Remote HMIs
·
·
·
·
Manual, Nominative (or designate), Positioning, Automatic-
·
·
·
38/51
![Page 39: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/39.jpg)
ST2223 Telemeasurements System
Internals (as any closed loop system):
How we fit NetBSD?
@BSDCan
Receiver (sensor)
Servo (controller)
Other interfaces: Clock source, DO control, etc.
·
·
·
HMIs
"Data-Switch"
·
·
39/51
![Page 40: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/40.jpg)
ST2223 Telemeasurements SystemData-Switch
@BSDCan
Could be a hard real-time - QNX
For control reasons - shall be a BSD
Shall you take agressively to latency
Avoids kernel work - Ethernet or RS232 for I/O
Modbus (libmodbus)
NetBSD 2.1
Proprietary Application
·
·
·
·
·
·
·
No buffers, no queues, no priorization
Combine data with Universal clock source
Data exchange with other systems of the Base
-
-
-
40/51
![Page 41: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/41.jpg)
ST2223 Telemeasurements SystemHMI
@BSDCan
SCADA
Backend
Interface Frontend/Backend - publish/subscribe
Frontend - GUI
·
·
C code
I/O
Data Demux
Data Recording (new process)
-
-
-
-
·
·
C++, Qt, Qwt
Widgets
-
-
41/51
![Page 42: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/42.jpg)
ST2223 Telemeasurements SystemHMI - Widgets
@BSDCan 42/51
![Page 43: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/43.jpg)
ST2223 Telemeasurements SystemNetBSD
@BSDCan
NetBSD 2.1
Custom install
Custom build on top of build.sh
kqueue(2)
·
·
·
·
43/51
![Page 44: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/44.jpg)
ST2223 Telemeasurements SystemPatching NetBSD build
@BSDCan
# Makefilebuild: chroot ${CHROOT} /usr/src/build.sh -U -u -x tools kernel=GENERIC build release...installbin: mkdir -p ${CHROOT}/usr/src/releasedir/i386/omnisys/pkg cp ${DESTDIR}/${QT} ${CHROOT}/usr/src/releasedir/i386/omnisys/${QT} cp ${DESTDIR}/${QWT} ${CHROOT}/usr/src/releasedir/i386/omnisys/${QWT} cp ${LOCAL_IHMTELM} ${CHROOT}/usr/src/releasedir/i386/omnisys/local-ihmtelm.tgz cp ${REMOTE_IHMTELM} ${CHROOT}/usr/src/releasedir/i386/omnisys/remote-ihmtelm.tgz...make-iso-image: TOOLDIR=/usr/src/tooldir.NetBSD-3.1-i386 DESTDIR=/usr/src/destdir.i38 RELEASEDIR=/usr/src/releasedir \ chroot ${CHROOT} /bin/sh <<EOF cd /usr/src/etc; make iso-image; EOF
MAKE
44/51
![Page 45: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/45.jpg)
ST2223 Telemeasurements SystemPatching NetBSD build
@BSDCan
# patch to list.changelist.patch: cat >> ${CHROOT}/usr/src/distrib/i386/floppies/ramdisk-big/$@ <<EOF # omnisys installer COPY ${NETBSDSRCDIR}/distrib/utils/omnisys/omni-inst.sh omni-inst.sh 555EOF...# patch to dotprofiledotprofile.patch: ed ${CHROOT}/usr/src/distrib/i386/floppies/common/dot.profile <<EOF/ sysinstd-a # sysinst /omni-inst.sh.wqEOF
MAKE
45/51
![Page 46: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/46.jpg)
ST2223 Telemeasurements SystemPatching NetBSD build
@BSDCan
# omni-inst.sh essencemain() { disk_part wd0 slice_part format_slices mount_partitions untar_sets boot_stuff # devices, fstab, rc_conf, x11 final_config net_config app_install create_users umount_filesystems message "x - reiniciando"; exec reboot}
SHELL
46/51
![Page 47: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/47.jpg)
ST2223 Telemeasurements SystemFinal Words
@BSDCan
Atlas/Adour Display
Optical Tracking System
BSD in aerospace
·
·
·
Coherence, Self-contained, Easy to modify
Just fast!
Open KDB
-
-
-
Architecture references
Design patterns (Unix the only true repository)
Implementation reference
Project Management, Product Governance, Engineering Processes
-
-
-
-
47/51
![Page 48: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/48.jpg)
Agenda
@BSDCan
Context
Problem
NetBSD for the win
ST2223 Telemeasurements System - A NetBSD-based Radar
·
Aerospace Landscape in Brasil
Alcântara Launching Center
·
·
·
·
·
48/51
![Page 49: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/49.jpg)
Questions?
![Page 50: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/50.jpg)
Thank you!
g+ gplus.to/andreluizdoliveiratwitter @andreldoliveirawww andreldoliveira.orggithub bitbucket.org/chocolatelabz
![Page 51: slides (application/pdf - 22.2 MB)](https://reader030.vdocuments.net/reader030/viewer/2022020301/5870a2af1a28ab3e798bb059/html5/thumbnails/51.jpg)