From 421d0260d37ac671dc745c5545185e829c5f09ca Mon Sep 17 00:00:00 2001 From: Nareshkumar Rao Date: Fri, 14 Jan 2022 00:56:54 +0100 Subject: [PATCH] moved files around, added to chap design --- {1-Cover => 0-Cover}/Cover.tex | 0 .../Introduction.tex | 31 ++++- 3-Design/Design.tex | 110 ++++++++++++++++++ 5-Conclusion/Conclusion.tex | 8 ++ 6-Thanks/Thanks.tex | 2 + Main.tex | 33 +++++- graphics/design/FlowRemote.png | Bin 0 -> 37375 bytes graphics/design/ProcessOverview.png | Bin 0 -> 56836 bytes graphics/design/ProcessingLibrary.png | Bin 0 -> 16046 bytes graphics/design/SoftwareArchitecture.png | Bin 0 -> 26415 bytes literatur.bib | 70 ++++++++++- 11 files changed, 241 insertions(+), 13 deletions(-) rename {1-Cover => 0-Cover}/Cover.tex (100%) rename {2-Introduction => 1-Introduction}/Introduction.tex (72%) create mode 100644 3-Design/Design.tex create mode 100644 graphics/design/FlowRemote.png create mode 100644 graphics/design/ProcessOverview.png create mode 100644 graphics/design/ProcessingLibrary.png create mode 100644 graphics/design/SoftwareArchitecture.png diff --git a/1-Cover/Cover.tex b/0-Cover/Cover.tex similarity index 100% rename from 1-Cover/Cover.tex rename to 0-Cover/Cover.tex diff --git a/2-Introduction/Introduction.tex b/1-Introduction/Introduction.tex similarity index 72% rename from 2-Introduction/Introduction.tex rename to 1-Introduction/Introduction.tex index 8a6b840..3725b8a 100644 --- a/2-Introduction/Introduction.tex +++ b/1-Introduction/Introduction.tex @@ -6,7 +6,7 @@ It is necessary in several industries, including those of mining and manufacturing, to transport bulk material from one on-site location to another. In mining, it may be sand or gravel. In manufacturing, it may be powdered chemicals. -The transportation of this bulk material typically involves the use of a belt conveyor. These belt conveyors are designed especially with the purpose of containing bulk material, as well as applying the necessary forces to transport them. \citep{protogerakis_discussion_2020}\todo{remove test citation} +The transportation of this bulk material typically involves the use of a belt conveyor. These belt conveyors are designed especially with the purpose of containing bulk material, as well as applying the necessary forces to transport them. \subsection{Measuring Bulk Material Flow} @@ -76,5 +76,32 @@ Analysis of the research question as well as the other requirements have led us \end{itemize} - \section{Approach} +The following lays out an overview of the steps taken in order to realize the final product of this project. For more details on the specifics of the steps, please see \autoref{chap:design}. + +\subsection{Interfacing with the LIDAR sensor} +The initial step of this project was naturally to establish an interface with the sensor itself. This includes: +\begin{itemize} +\item Preparing the development environment +\item Building the necessary libraries and drivers +\item Writing basic test software to manipulate sensor data +\end{itemize} + +\subsection{Proof-of-Concept Software} +After being able to successfully interface with the sensor, a proof-of-concept software was designed and written. Later, a GUI interface was also added the software to improve ease-of-use. The software was designed to be able to do the following things: +\begin{itemize} +\item Remotely acquire the raw sensor data over the network +\item Display the raw sensor data in a meaningful way +\item Display, calibrate and use the sensor data as a line scanner, with \textbf{instantaneous cross-sectional area} as an output +\end{itemize} + +\subsection{Laboratory Prototype} +Once the proof-of-concept software was stable, the setup was moved into a laboratory environment in order to further develop the main functionalities of the prototype. Among the functionalities that were developed: +\begin{itemize} +\item Image preparation (offset, rotation, skew) +\item Cross-Correlation methods to determine band speed +\item Profinet interface to deliver processed data +\end{itemize} + +\subsection{Field Testing and Refinement} +Eventually a staged was reached where development on the prototype in a small-scale laboratory setting was no longer adequate. Development and testing was then continued on-site at a gravel pit in order to validate laboratory results and further refine the software. \ No newline at end of file diff --git a/3-Design/Design.tex b/3-Design/Design.tex new file mode 100644 index 0000000..10534d0 --- /dev/null +++ b/3-Design/Design.tex @@ -0,0 +1,110 @@ +\chapter{Design and Implementation}\label{chap:design} +This chapter outlines and further describes in details the design decisions behind the end-product of this project, as well as the specifics on the implementation of the project. + +\section{Phases of Development} +The following phases of development are not grouped chronologically over the span of the project schedule, rather into conceptual groups. + +\subsection{Preparing Development and Build Environment} +Setting up the development environment for this project was a non-trivial task, due to a lack of pre-compiled binaries for the intended architecture, the ARM chipset of the Raspberry Pi. + +The Raspberry Pi 4B used in this project was delivered with a Quad Core Cortex-A72 64-bit SOC. However, a 32-bit kernel OS was used in this project, due to the netHAT drivers only delivered as 32-bit compiled binaries. + +\subsubsection{Intel RealSense SDK} +The Intel RealSense SDK, or librealsense, is a cross-platform library provided by Intel for use with their RealSense devices. Pre-compiled binaries for 32-bit ARM were not provided, and therefore must be compiled\cite{realsense_git}. + +\subsubsection{ZeroMQ} +ZeroMQ is a lightweight asynchronous messaging library which extends the traditional socket interfaces\cite{zeromq_git}. In this project, ZeroMQ is used in order to: +\begin{itemize} +\item Broadcast raw sensor data to remote controllers using a publish/subscribe model +\item Exchange configuration parameters between the remote controller and the local processor using a request/reply model +\end{itemize} + +In this project, TCP sockets are used for communications. + +ZeroMQ was chosen to provide the aforementioned functionalities for the following reasons: +\begin{itemize} +\item Simple to implement +\item Data can be transferred as binary data, instead of requiring it to be serialized +\item Availability on numerous platforms, as well as pre-compiled binaries +\end{itemize} + +\subsubsection{Real-Time Kernel Patch} +Traditionally, the Linux kernel only allows one process to preempt another process in specific circumstances. This means, that even a high-priority thread may not preempt kernel code, until the kernel explicitly yields control. + +This is particularly disadvantageous for any operations requiring real-time performance. In order to circumvent this, the \verb|CONFIG_PREEMPT_RT| Kernel Patch is used in order to allow kernel code to be preempted\cite{rtwiki}. + +In the case of this project, this means that the local processor can process and deliver data in a more deterministic fashion\todo{maybe insert some test data here}. + +\subsubsection{GUI with Qt} +The Qt GUI framework was used in order to create a GUI for the remote controller. This allowed for the sensor data to be more easily calibrated and aligned, as well as providing a consistent interface for end-user configuration.\todo{insert image of the interface} + +\subsection{Main Functionality} +This subsection elaborates the fundamental building blocks of the program. + +\subsubsection{Transmission of Raw Sensor Data} + +\subsubsection{Calibration of Sensor Data} + +\subsubsection{Configuration for Processing} + +\subsubsection{Transmission of Configuration Parameters} + + +\subsection{Testing and Validation} + +\section{Process Overview} +\begin{figure}[h] + \centering + \includegraphics[width=0.8\textwidth]{./design/ProcessOverview} + \caption{Overview of the communication and processing process between the remote controller and the local processor.} +\end{figure} + +\section{Software Architecture}\label{sec:softarch} +\begin{figure}[h] + \centering + \includegraphics[width=0.7\textwidth]{./design/SoftwareArchitecture} + \caption{Overview of the interactions between the various software components and their communication.} +\end{figure} + +What is being referred to \textit{the program} for the entirety of this document actually refers a two-part software suite consisting of: +\begin{itemize} +\item \textbf{FlowPi:} The local processing software that runs on the Raspberry Pi, and +\item \textbf{FlowRemote: } The remote control software that is meant to run on an external PC for configuration purposes +\end{itemize} + +\subsection{Development Language Choice} +The program is written in \cpp\ for compatibility and performance reasons. All the device drivers provide libraries in either \clang\ or \cpp, while some drivers such as the CIFX library for the netHAT are only provided in \clang. + +The topic of performance between languages and systems are a topic of much heated debate, however \cpp\ was chosen for this project do to the ability to program comfortably in a higher-level language, while having the ability to \textit{\enquote{drop-down}} into \clang. The \clang\ Programming Language is often the benchmark for higher-level programming languages when programming for Real-Time Systems due its predictability and the ability to run operations with few layers of abstraction on memory directly\cite{pizlo2010}. + +Furthermore, since the scale of the processing unit of the program is relatively small, the benefits that come from using a higher-level programming language --- such as increased productivity, organization, and re-usability\cite{pizlo2010} --- are not strictly necessary. + +\begin{figure}[H] + \centering + \includegraphics[width=0.8\textwidth]{./design/ProcessingLibrary} + \caption{Representation of the how the processing unit is called by different components of the program.} + \label{fig:processinglib} +\end{figure} + +As shown in \autoref{fig:processinglib}, the main functionality of the processing unit which include: + +\begin{itemize} +\item Image Pre-Processing i.e. rotation, skew, cropping +\item Curve-Fitting +\item Cross-Correlation +\end{itemize} + +are implemented in \clang\ as much as possible. This is then encapsulated by a \cpp\ wrapper. This provides ease-of-use on the remote side, where processing is not real-time critical, while still allowing the local side to directly call the \clang\ processing functions. + +\subsection{FlowRemote -- Remote Control GUI} + +\begin{figure}[h] + \centering + \includegraphics[width=0.9\textwidth]{./design/FlowRemote} + \caption{Overview of the FlowRemote features and configurable parameters.} +\end{figure} + + + + +\section{Data Processing Details} \ No newline at end of file diff --git a/5-Conclusion/Conclusion.tex b/5-Conclusion/Conclusion.tex index 79b7987..e0177f7 100644 --- a/5-Conclusion/Conclusion.tex +++ b/5-Conclusion/Conclusion.tex @@ -1 +1,9 @@ \chapter{Conclusion and Outlook}\label{chap:sum} + +\section{Final State of the Project} + +\section{Remaining Work} + +\section{Challenges and Obstacles} + +\section{Feasibility as Commercial Product} diff --git a/6-Thanks/Thanks.tex b/6-Thanks/Thanks.tex index 6faf621..ec8a3d6 100644 --- a/6-Thanks/Thanks.tex +++ b/6-Thanks/Thanks.tex @@ -6,4 +6,6 @@ Mr. N. Stuhrmann and Mr. M. Meilchen too have my gratitude for their tireless as Thank you to Prof. Dr.-Ing. Ralf Beck for offering to be the second examiner of this thesis. +Mr. M. Viehöfer from Siep Kieswerk GmbH \& Co. KG has my deepest appreciation for their generous support, allowing me to test my prototypes on their site. + Finally I would like to thank XX\todo{fill in proofreader} for their proofreading of this work, and my partner I. Gvazdaityte whose everlasting support made this work possible. \ No newline at end of file diff --git a/Main.tex b/Main.tex index 85c6f83..e154c24 100644 --- a/Main.tex +++ b/Main.tex @@ -4,7 +4,11 @@ %\usepackage{pdfpages} \usepackage{amsfonts} \usepackage{amssymb} -\usepackage{natbib} + +%\usepackage{natbib} +\usepackage{biblatex} +\addbibresource{literatur.bib} + \usepackage{subcaption} \usepackage[plain]{fancyref} \usepackage{rotating} @@ -19,6 +23,8 @@ \usepackage{hyperref} +\usepackage{csquotes} + \usepackage{amsmath} \numberwithin{equation}{section} @@ -50,6 +56,16 @@ %% CUSTOM MACROS %% \newcommand{\todoi}[1]{\todo[inline]{#1}} +\newcommand{\cpp}{\texttt{C++}} +\newcommand{\clang}{\texttt{C}} +\newcommand{\fullWidthImage}[3]{ +\begin{figure}[h] + \includegraphics[width=0.9\textwidth]{#1} + \caption{#2} + \label{#3} + \centering +\end{figure} +} %% END CUSTOM MACROS %% \hypersetup{ @@ -63,27 +79,32 @@ pdfkeywords={LIDAR, conveyor belt} \pagestyle{plain} \emergencystretch 1.5em \addtolength{\jot}{1em} +\addtokomafont{disposition}{\rmfamily} +\RedeclareSectionCommand[afterskip=1pt]{subsection} \frontmatter -\include{./1-Cover/Cover} +\include{./0-Cover/Cover} %\include{Abstract} %\include{./I-Eides/Eides} %\include{./II-Abkuerzungen/Abkuerzungen} -\setcounter{secnumdepth}{1} +\setcounter{secnumdepth}{2} \setcounter{tocdepth}{1} \tableofcontents \mainmatter -\include{./2-Introduction/Introduction} +\include{./1-Introduction/Introduction} + +\include{./3-Design/Design} \include{./5-Conclusion/Conclusion} -\bibliographystyle{plain} -\bibliography{literatur} +%\bibliographystyle{plain} +%\bibliography{literatur} +\printbibliography \include{./6-Thanks/Thanks} \end{document} diff --git a/graphics/design/FlowRemote.png b/graphics/design/FlowRemote.png new file mode 100644 index 0000000000000000000000000000000000000000..d14101f36d2b552a395c839555bb1b4fe779a219 GIT binary patch literal 37375 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Μ?+>|kG6h^WjJ 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 P8FJzxGQx#II?w+XKejr1 literal 0 HcmV?d00001 diff --git a/graphics/design/ProcessOverview.png b/graphics/design/ProcessOverview.png new file mode 100644 index 0000000000000000000000000000000000000000..f6fb0c6ef074087dda101c11b1e58d2be30df283 GIT binary patch literal 56836 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 z z&=~$>8RiyBDjGiwSpr0`N@!li7d^%e3D1defN0QJ2UvzbNURcD4B;HCoA!N>nRwq{ z>s$2p<_f1|G46D*ADN~$_BQ<{GWVnyRY`l^r1PviFcW5Ha^ig$&d(<;%Kz~-Y`@^62EmITr_7DmV=(3v-+5%QWq1DU{% zdauJnZ;4u|0Z>;r848Jg4*|Cf$5`%^w^Gj!&&K@zx^mMLcK^MTenwwy9)>5j$(@!r zz101xP3hCrf^`^}rJ<&+nt#Fc{{I7!krq1u literal 0 HcmV?d00001 diff --git a/graphics/design/ProcessingLibrary.png b/graphics/design/ProcessingLibrary.png new file mode 100644 index 0000000000000000000000000000000000000000..3fde5f5ed3027a5411b029b1b2519a16b776de53 GIT binary patch literal 16046 zcmeHuc{tQ<`*+Jz-QBiImNI6NP_{wYmnkJ7RAOWqYbj%weT?pk!Gt7BS*C@A7!tw^ z)nLdnceb(17&P{ou^YT!#eM&t`+fg;-#>oG`#X;3aCA7P@3_wEI=Acme9rS5b;U%V z=l7$(@7S?}$KcY1Ydd!Q3%z5<&WFG40{(|G>Xiii+Ua{uUw21A3y1-H_?OE$<8wQ9 z6vc6I9QFX8_j_Hs;k#ppsM_Ygo%>GE-tX9x$A+5seb4q5cT=&&{-1jgN*-t z|Hmu72%G$u-35XdBL3J3|NTr9y-+6nU%ZbFKYo!H9Yn*yfy1XsYXgk3Q9t7~ zM!~X~Z_6XxzQF7}Q**d^T=7^yUd7tCjh%PDkKw}BA@@SLH(u_%Z5X_BiilcfiQntj z3R_1lQFzX3wsPH`sa~I`cJ!E=W3+AT^UBj%n`>L57;zLhV|!nSGWL8(W{kW!_Puj$ zW@8;cw@X8ecyA$7sF0trXYM?(paIlgs+H>pW^Pwc0^*ZNrqG{!z~4v_@10Z%gKcKIJC-a`XVv>AIQF9h#gdyF_6(#q8pHMeW!zi;7%1HRKKUYMEc z4YXwqMt^G?ss{LgnSt79e%J}dD@4iAUS(wCBJ@HdRlSF;%l&^V3g#ff z@l`9X|Nghxra15|Dwm@?+TUO0kyC9R9M8HNy28jNz0%PNo;w-f7D(`zI*=)J?r(Xd z_LY<|3a&b2(L=cTa{HZ(w}C={qg&K(6qI4cu)JM{9%Y>hsI z7|3)Cyf5KBiVt7~C=-H2T4iLxy0Q&&m+*YgwzTP?O>7Mq3{}-y{HA}POfo4lPA7Qo z$5mPN_0W4zyQ(zQ2H6D{T3Y&baWD)b0;&^50pBeOA7V5*f}dq0WqBQR9t^6zZ>a-x z9-+5yxcD$%_3CtGSDwwG46UF;Mn3eu?(S|W97>7X_Welj0OqAgD{|@pO;tL1tP&C; zP?>I|%K>>V5|Zooq3KldL-OEQ)f8G9Wf1FyDlRJFEMF36xa6a&ecB&d|Hm^u8`-)*3-GVhqIPjz)M~ z!Y5!3tS(P>7juG+w=~g>`&bhP$DA$i9!S5Dt$HDiGVz0c3(1AODG-&io90d&Ft6cD z+OogTd$4cY5Ys%3V$K&q7FRrq0Z?sB_0hAV(v$KJd&$966uxeiN@X44Xu)2AUu(@XjqF1jKuj48I-3hXdwbv z2d-6pE7J0p9jK|0R}JDv=8IQ@0aHK9ruBn1zC5zljt#I39-`m!O?6l|5^!vacTv~f ziW|UZFW0bhQYK@ehucr6UAWqWw+VmFsC(p2@K~9r+OZGS&{rh7aT> zNB((KFy{JFhkJC9$Pulp-sR5C3-K>o>f$}3E~KSptz>@?bW$>Dp=XZFsk%WiAV>sx zq75cNLAzg!n8tGgNwZK#U`W&=_4i{Dk>>6Jv6`kl~7B9WZl8-Anl)vCPdlf za2YD5i|#XhYv9%7?PR4QOMEB!C-QXvrAUy1N0gOJkDKKO`O*7|KHeFku2N)&B%v38 zm%jh_wQC`MUKiPa$i=5B-tq~>M1F=oVItp|HJLVb`a5Zq!V^bL*Lqls=Dk|4ZqI3` zu$rjHlMj|OH+Z%rHCxyj7hJYTY=*w^ezG0@5=6mJR)f^A^_OeL_l2OUS!s-mhCFdD z#|wPKuS$|$VM~q&Mv(PyW<7#KRwwY)ys6bs6_u6ag6PaVNUwfpx8+1q1MA5u#3e8g z<&}wN(cQ`qB)8bD+6NM*doTy0GIrNdr%O4(po93tJhDF!d)6w}tEbif@QYzC3HiOh zv}Llg48*tHifz&RCuk+H38z_Kb8GWdb6QV2iYLp~bv;-09H4(ss57gxl&SCtq|w-L zY(R}Wq}*S{BqNK{)Ov#G=;`Eey)$!h+@eX&t}xyQB@D(_E{L^TtLQXHQIBE^;~bb= zAnQv(R=RF3!gmY3i{}es@Q+5msO3rF9h89UX!Ft`_7aC?GZPZNA1z#p&wt|NsGG)z z%x6kGRaRd5*tL{t?#NnWjWj+V#0VEJ8PAF67o^7|xZF`B9=}C1cU&ez!a(H$BK!UL z5GQID0_)Ac%m()N6coro)lcya2Q4?0TuW;pOqWTPp61r>`q*9Z$y|txs79w7#crs) zzqq9fViuJmwDGUDq&$S5nPYy*%_nd;F_uu{4O^QtLn9qEl%OyjpDDLAEh8+$e9%ix zNJ{#Pn{e6Z!k!FD<_$spd&5e0>A2N}<{p{4*mufF)XTA`G&gL@9JM5wDd*~o6sNY-H58vQ z#jANf;!GtIxaLymNA9ekxT+Hwgnf0u4U$XLM%RRJIgIIgPuOdZgjY^A3? z8l(YA?&&m48vrS6={5*EGk?X|u&`n=_~?s?l}=XMxK!i)6Gr&Vx6GlEeNcp0w=nD z=l$>1lNG@ANUl$dB%2kDkoL+;{J9V>hLA}%ZK>;F9qNs8k+RO?LSkvNPRS83v$-cg z{`OZxeJ1H*?Q4G=#BFAGzTvgB$<~J5e9MUs#L!0^QL<5k4~21DX7W%VQpdT(+CFxb zOK+8O^Uo0RGUhjY58lGs9c8Y}PdraHy|ANcBd1Rsday28a~u--Jk_SPTSw{LR$Msd zPo`Od6Z)TuHzqCowp>&s?y4!pCq|Rj^goVpL{;C`2>LEIFjCu(Evxc4_-KmzHD9S) z>4iVy%3$4x;ajC3F*TD4Ts2PD{IX{DKXTSM{COkw;h(SSQ-q+1n(t}9!$MciEcol# zL9jvW#$>2dV#O{&82L#_NSz}X()%v?H^m2W;=%Ld=C&+D_4kI7b!00=H?-#9LOjxC zn117HXel{ee*31LAQZhjYP~_4%i05nO-R!$l#Er>&(M1Kt~pQz-69(46I>G0h!UH9|txrK>3*e zRY3EdZ}Om2j=zpWRH4*mj|TZM=i?GQ4?7pMbkG*5z7l_bkz@*6dy1R?Jq`kkZJ18B zLqEek&5I*$=6m_!wCi^AGtk;*gY6PrTX=aMJnwhZ>7Xrkkp1~W=(()M2W8tgYU{+% zGH`JY^Tm z+#akQeAsgWII6nr_`s&eU?4CwXS%=A;ou@}D+3fHBNW&3fa-j@awgXFX&6u_3i|^E zxfWv6q5FDfQ&OX7(TiusC+K>a05(!L2}$G3t}PC#5)1`H4y}ULmnmVq*pC}q`73}p z7hT@&kb!c0l~!DEm`6o6Jt}Z@X*ka5a^{!9NRdeP@)C1c4F|vk5y9ro0v#8+&^?s? zEP6zL;GL~D;Jg0E)@RGZx&~#q5qV6&wzmLh?=44q~0ii21zuV`8a7;8dbZ2vf<4V75Ft zOpc2q3?H=DF9_E2(=WDVyzg2tSE8;dY5ldJfAA*YLpod}M5azKg4}E4luzPar}XH3Q6}@Dj#t}@*GQ9IaWN}y zln+S;%+;=@h#UcX7KSFitpat^WA#1Kw{4$}@cZK?bD)$EGYceQ<;gZvm}rJb)DeFj z&1bIqcj&C8q2^T8;SeFGM$!usl~%iMs*`;4Rp>sUl}Lu49?a{R1TcxSSJVhn(>JR` zS2o9quL$E1IQvcCdtsFNqZG9C{B}8^;dH5%?9m+4pxPi2LEFXxh5+jTtqVi$bJ@0; zL2$>EJ5V}<1V!m683J$waA#A95(9rd#qL1ft_DtIQsm*NaHdP>2ifYJ8357_*F?K_ zF8W{Km=qywR0}9CO>auP1XW>m{=e%EdQIjR@wR)orR3av3V} za`&%N359s7@S=Pg?Jo0A4AgqJ*m~x#8aII=nyBzji63h!DYFyy0C&2xQU<$MyB6D}M&%f{JYaJ9$)$ z^~v^ILU^ulD`q3K8YE~Nkl$3T21~eZ1XRmXA3c1&&)+Es3MQ5>k#{&2lU}(y)^=qT zc^@^l2}vwEiegDa))IbYo&lb=Jk}l5X@{m6Cj+;jK&_)HRrO|z?L2Y%fL%Fiw@ULG zWfO*To8=Kgzx#=K5ZF{}8PhMEq%ViFp66ZmnU>s#(AVAw{$z-MJLvFDWxmcmzDx<> zlvq?D!j8ZhyxzBMM~7f@>Fa*&PrPq7V>(nJ@+uc&?DEoCKzb`KF7CQ?c}CYZ+$dpK zqr5xqR0PwRc@$|ro^}TPvT*IwSggKLzgJ)u_6{CF)PUuS&v%y&F)tyAggR*_fyb?X z+lr@6=BpHRraj$F*$+H;-;#7Z#>Zf-*d9B$Qdo4Bm8#-Hf7Re^EB@+>a%ZmT=UQfl zP+f(Ay_?pop5G|D*I06#?WszL$0KeA55zC?6PrHfBrgmW1jhD{>-Ry zGy0?b<_G3T$#vhg2JiH~$v`QL9@SPRV1^;Eu||{ISM|oeag>Nu%0%Oa}8L20a!8wA)KIuX8{qei3u0l7L+5L%|+@B1;Z)sXO#9cQ0NY?CqZ;mr_I zUX0y_W*G>v(G^TLYZ)Z7{*DrAd_AVUFlB^~V(b6@?09U|GK>sbOMs_+p?`EO9!fCP zd3NEdz!&e0!-hp07l>cUdT4lr^t>izuL5fAybu><>yZp4MjEjfGv*O zMo8T%JzS5kUe_pyJY*nf-GY-Mo2Ra^8lmKl>&N*lgBrD`k5 z-f~l)yp$1sscMsoiqIozp*c(4#V$bPL^oelr;jIuj7vJOfvcl7B~Unz%va=z#d%i@ zSV?3wzitT|kk*hx$CBbSo(r|q?Y85``*pRo!DAd(z121^{h3hNx?+Q_%`L)!7N$NVwI>C)D%D ziBIP4M*vDY$na|=8f|i*BOBS}P)!gE7jarY%svzT1o7u%fca&e%YsLW^T5}@)f4%9 zAZm=nOrbLX)QLsiX6)%Z^4G^po0PDO0rWNi|3%|BN#X4kfQmo;68;47g&1ScUBD{< zV%Q+~+<71cM*gIR|JunWIV{20!vhpe;y>wO!&a`NPY`GIe=^V8a{nXfzfX0^trI}$ zz}#_rWTY_}Q=I}S;BA{Irsy;V?E4rJ2iD#!xFf1#RKM4wr+Ul6)|ba-znffw z{XBG6k(2Cm_iUe9V#F#A{RpBz>zV|FEN5hBg(x0F@B9LE9cI?A zZ_JYTiV`*pwtuYCp9%lhWy05k!v_8^hM#j8u!V_1^s2is`IPk&NhsEsvo;eJH;8el zSud5MxyK{^w!W7tLx8_KFj0KvGCrYFv_yfMSVlWAeN3Evv8p68x~6$2a-A6$#(jQK z2rqySbeVZKcV9k*CdJrum{Ee!G{MWk6#&|h=}{fJssgr zdsv=PnlA9HUQ+?{nu0QNjQ|X^Mntcz$lG1rR)t~S+{*G84yPR=h}Y3VTV_%Z>ie$( zL`6e(6>t)VZ);EWi;%%Lb@Kb&Q{c~Z&rk|~y#K9G+^*%|%vE8qo0kuYU^7kWM|DSR zZ|-TODgIG`uwW+DxW-x4bXe{U+|8FM{Z&q*s(1OiFc=!8t)=tL?yhs9jJtc|sjug| zQV>+lG{W1GK(0X^E){=CIK)my({Xr7ToW~sDRlSqVHj|k_T3DQc`ajrPkno82EYPu z))mDvQ1Z8ZlC2&!?8L(5Vo^_|P9N(O1><_AP}1CS`aUpBHXqGTXi>`3vvDmd8M~{2 zDHfae2bTkk9i5~A>zcxx7Q(0I$s*cwjS$|Gq*r-w zRc{ZEi;&3%k%|FqZA>dyg?%(GQ|QXHBysdxB5=y~r;Cyd0pB%)tB+!gj$vv)paW52 zhmP;VIDETw>r-Ife^(k||*`2vX##*K}g_9xcR9ZhWMQ71$w zGt|1V&z&zvii_eWKV5;<)OR&pNqvsmHEx)FvW6m-Ojcn#L?#Pgv{~~SWg$mMvw8%&6u_62ozW$~QV2Mcl1@HdH^l16dmYP^ifvX_tTNhit5o2*wiZYG55`)jHw z+{+t-_g3>=u3%r}@jHy|9eg$LLW7U& z4zeQ^5S@ArwzE;UIFW|m%vK;++6kh^tI_vZlQ-~YmQ=w0B&)2w&W15iYP(Lma*_8# z=R{-qaMA9m+Ale4Hfi0|&N@m9UnwXkm-nTLUyRvP9|tW>EpU0=P}4}tZ-oFVo@%A# zLBG1`f!AYlY}D}h9!eNz7^0Yp6Ap7l zS~@W78{@NG$>R^(zgsCO!je9GROnDCgS6PhMlk_{^{g}H9sxrXLR%Y{`-+j;eL1+l zriT!AwYeTc))zk^=K)J@4}X_}Ad{N%o3fhi2Rl^u3{@nA6EZBBa@+_Z4EZ!O(+9+dK1{zD>JR zZu?i%Psbuf96w{Ae8?=~e$< z(Of<}XDDF*E61qS;w&%6a`t{%I(;7?yk4s4R68lGO5fTD>g`>su&A@-u2+eKVWcj` z&iLCF9RWk=UzW*row8sz4OY9OuFcHh5mpJSe0->>h5`Um=y{5Ug##C_((vT}#dzJuWRc z!-GAtpy0?z1xHBnjv5~V4*Tv2<)Q-6L#$gpqAAF{vUY$r=Fs;!zDk32eae!fAgci+ zkKB*a3EG6#A=$6-NTCwl+M(y-6Lm*Y(jE?%KB6E)t$C+L|2p<1ymp^=aK7z|a3ejk zdBdu`PDd`%utZTvQAu#|HLXXdQSYC6zy;=)97oarCe=8&zaRxf zzN^K9tvEA45g#eWAk$ufP|h%Xs9MKk>&{$wcOc(Ter4;xK-zZHZ5AS{DTqGkHwC7q z;Pj|QE6+$`)ACdf0FVDJbdC`}?hfcXO|?k;=#OROC;a14m<>uTzr+2Zi0JZ<=n z`w7v1UD#(>!((G+_b6c?u>ZM#dqh3YT8$f89NH;Up>D**=s*o-Qo%n7f=y3gynF+1 zafL4T4(e=-o(pKGRU90;`E*dI#doDwH9cc|ugjfgS)xXlDx+lIPu&0G{+uD-86tXP z)N^dZPkSc+XwJ^1<~we@kqY(Vm>E zIJ1G5IiuZF0g23F_hB^UlaRny4>9I>bZA2ck};;Pc}8cMiXy|L7sbn{%1tXLe7$(dGMR~M| zgx0cy?#x(}s)SX`CxO%-&$FwBMAZ%d((5r|>%M1*;pg=Yb7P6NV;f}_BF1Pwi2YG? z6(RgV-|Xkx-)~#GOCu(1w2w~FYEx3O$5H~9(EMbac9~Kl1kyiy9+;wW7<2t|`DIhf zP*)+XND+B{RI}30ldscsNi2E*dV~PQg$tp>c0~w8;Cvs5_bzz3BNJleCL6LO$h^*h zQ4GN{f*9Fg(~q`wR@jP6!BeCv$8IG{L}bg`;+NLQ4pyOeT0<0l2$Lupr@5AEMUS-|Z=i&Vl5nZg=^>kfpk=+$Z2Kzb`Ljv>A?}j`KVxX??7>|Ofwn)->HOXn z#Q5T@D%YIYcDJ=s$47x%*yAv$p}!)KiA}G%JD;^F94#xO9}pCmyw^Rgh8mO+Ts^Ab zd=nxsH}Ij%q168K%FfGnH$#!60t#Yz4%{L)ML{9CdSQOYUb}Q+Jf!~XIbUW|L)t<< z?UhMjVC9-{za@_m$QQw~lT8w@mBT<`Ez(CPSnJ?0e}<(+tcTJaoEEoK+?_&)zMjY7 zw!Nigz5eq10K$2i^+3_t;irH(Fpgn!Hz|=PGw+8 z&c#@%sb*Axi6xpBABs_`96$4|k-)rh)OCmX0jj-dl}9RccF%&?{2j z??;n}+G;^xkoCIQCPY?g>0LCw3S)#Pd?ayMTX(Im`~kAj3SIIob%Ou$<(GUCM8~QO z{jxWdIgRq(1d-WSFMO8cWt{kLAhDtXA~{Lcb8%rDC*fcz+6YY#f7f^hys0@k(>Hwb zl1*dsp{6u9u$E{Lb9mKzS>sNS^^Cr(b||O&3@j<}bz|*oIJ$aq-x#!rRdOQPU6V4i zxQ1#Z@h!){H$r;!_C9En;;coI+GcP!0u!4(=SsDkFk`7l!|qP^jZ8I{m3~<3*lqAS z6gNdx{uS{*9vI=}sIEWR0sVs=;0W(CRhuM%$4mi0PROYqlHtY5KdPMAWJ^3xqYE~v z0nN=ZgUYaPnwvbRRmSCHb{=H7oV}bC-{?E|Icug`jXN!=(V=ElOff!#yIjkDWsd1W zaZmk5dQODA7pK4WZHrp3>11o^sAJ3mi^j8*%ciEn6Qodgz2!O!@(T!G->3#p zfDt`qTHi@2jr$Y_dsqu_Ugs+_18!vn=eNV?+!!M<_q+#dUiiipY=Fq9#G3=qGqM%3 zyC&<6$QhWS&wH)w$TFky+V#+0AeFYXPV`p>kWBT1?51r@7RT6Yo=M4VsZ$%8q`li5 zESJhA4S_ED;V(KkRYCL$MEM2TBGFuSAB;VgfdN7Q9_dXjELn9Q>?Px;W_JS^A1JqJ z;ks!HL(Jc28f{Z;i%vBr+y7|FPfDKa3EylyQ16Q~1o8#g>kU#bBo~KkQ$U4*-lO&V zl9U1+`-hl0{ju_2T`**!42dQibM!$Uz z0!8SFAJG~viJe){BF0`Aw&{Pb#+PA(p8C?AaqZ6PlEx<@UUfj*jB|I9k=VJbY1LHUhsRcJK1BkR1<(n_!@mL2b||qPq`9qAa;G~;U=wR z8GL1nOfZ@9pQ6kzMKcoZWMB{*XzThyeQBz!$42d}&c#La>Uqu-T-hp{HYJ-Sr;OtCb7QDdug6n&lj8-e))sng zz;#gq($aOku=l+s3BzYAt_3$kpJ$DeA^4;lC2Fpz8HjtJG(n`UcujMXSFUcu~KvgfYxtrlQF*sQ2t`u+xC@e%ab=S zo<1a7V#rhf^ynaujgS+!&;oNu=TOoK-FbkvfjP5#juS4pau3~|1W8wUJO5fe?ge( zBmR?3yWb?$e0TVEvq)>-^+QcaIn^iB&#ask*Uwg=Py9ApWC~5r`voXU;(a{ie z4X1LltryEz+L2*rKDA(_W9$YA>)`i^1AGbGD)U+f^IuiJhkY+c0_lF`lrs1Vm-sE# zwQIK2Ttd{yJexjofMjmuw0U;(kF}ru&VTP=g5i}!@A;`=B)#s}f~5@Q*aCX!A3z}g zs`do|om${fJQo{8egmNRi|5iuWj#-U?5JM}QCpxoFR3oE73qyLb9Z63Sx9wwkO2j} zE{(&dib+ADLv{d8m^b%aAI_>ed;YJ~Be+|#`VWQmM=y>F+P;mU%m_DCMb|e}uGUdY zlAuDcEP*bs-&7Cq*Vyg`Od&z{Ac_OmYg1czUA+Yds z9WzLP8C-VGzvVEj|3+}_eh6CQ>uM`8b*`->FGllMUHp_hgd3S{qQukYji4%XLK(b+l>yHP;2C$F|j)z>Uy#jmnV3_xp@P;IlskIaF_ z5b`FyU1}|Z7b7HvNV6tVnLH8G>XXm57spJ;H4n;nb(+KK{DGVb?8U#aLtYHPfS2mcMFHv1@!dDaz!e~MzXw+ruI z-HBQYncBM}d5G5kZ57w7lmhg|i@9;&0^Ll^+fcvMYBl)L(0l6WQ`QZ9>_3H+%;m;~ z$dTJ;VCePbxM3-avhyMT*q+^KX!@7CM!x$z z*un!d6>rqTXZ%A_C4a}uU*&92pdRoaWcvE6o4>pzcyKGA>F^8e@#&cT}_zvvy)U9a`yXi$5O@l(W~PqtgE zOF&UY)7p^_%p9q$OBzCNH~j3%UBagm&}$m&r@78BH($N8JI~l7x0z3X9_1db>#bZ? zO20-SxB}m13Vm??**VJ;n!N(d*leu;{r(al)VBqFIuG!#5?k{U_b`UR=Zt=~7xaR6 z@+HpQPue=%E-*0q{~tmBpQ|o+5g1`K-!s@Lxan6HhCJUu^@RRw-LphNb0{Ma#m5o%*Ps?!f{_ZzRB zNpBYWPQmUY{p}I#)X8#0T2p?S)vH`1hO5B8sy!q~Ee7AdFkj>P;_BW6D(*$^y0DU@-?Zc!i6$*9 zpwyd{U7<5!5Zg5n?o=vzCiu`e1fL;R=XwX#>NYM+ay1_4zMR4!hV4^|^lG#J^uD`( zYz6$1@54bZo|T1S25GdNOS4D@#Y3C3&^X~?{z2yQ;LmhDGU&&ma7`Ui#|#Dg0ny+U zS*$c1Eu8VabGm6O4FdBLgD;iweX0Vw{FWL_Arx7Ot)d-!$q4Q>ncy6n?#NzzX|6B` zpIWQ&)ez;x(*gZIKJ0&Q_)K=HG@7Wl>wRC;k;6efY!uf3K3Ui$ti;8}{V|3+vGyyr zfwq=9?eaR^Xi=bvgK+xX^uIBkMD~!$M(TjS0u|g}3R8LpqKh90-h~9LHtN>^m$Y?ON2- zFvIHw+9~w3qjl=9iKiXA5M9uqfWbkw_}D-$Kb!E0Y!P?u)QQCpNb%sEHUe7ZdQjKq zlU;XKlJ9DkTt=H8S;A~HmbxV_qeAFJFFsIjQT?9>wV`U;I(gNdv)ej;yB^g#-X&3?qrfMhTV^Q-3(Q_H}fx0@2( z;QHg%pTF)1l=ri;@;q*`XOkHnkxM;IwEGgZhCeZcB<2pJOu5Ql4l*(t;hDJ5mNA2n z(Cx){(Wz3yTN@;#Xh_!hj%XgEbmg(cL3Fu}siee7vIg}6*8t-$;b6(&6-yWYEfmUe zC=nyR5GAsrW3ZtaS!Nf|Yj;Be^~oGX_DLi-K7G8^Ny8+KrilH)aY_+s4S9e#272QqoTRN)>KE%))5168vVBSQ#bhBla0{6J4 z$@Y{fHH=ufGn(31Ie0cMaB!7oxhQa|Bjt|cgRsxt10=7G0YXQSqddwzOZZ%@V+uQ% zmhf0NdcQ#JUpjg`?`2AJRu--Nrg=Vl_XqWA>2#5%*vqv}{7L=a^2W+A@6K@;h2RX} z@cOL6W7o*2iuh@iz!i$E_-GRzCnuWN*dBL-9+ti-*E5=REGW+46!}#oUy0T889tLp zHZHS};rh0+jET%tba2kd`1Gya;*41e(ra9YQ{uS>ObHSlRG91F<`@O^#n8|k^_Dxj zd{X3bG<@5NBgtq2+I24hQR5JH;OGu++O*E2>D)9=yJF_oG?DkZXM$}i4%M{KZ(T~&W&)isU8VwE@&PCKp zpCIbDBsT?jdw!I?G2!v%QKt#F#JHx5dxO9ICm)o*+aIZctzEx-PARfr)K&wp93ZBI zX(ZkqfQ~d5>;r=K7{zKTo9cGmx!UszeB85e%gUdKO?I&v8yQ>w#L^TC$M>@17wmV% zYzsdQ)opiCi@66p#jx%Nn@o(vGA1pL1 zofQ$8@kijsSB6T_^~Xqht{u&|xKWw!05?e_WK1611PBmt{GU9}|9X`De>YDyl~bx7r-bhQ-;}fr;jbYLbUDXQ2^YWGpOuIQ-m-8apoZV$!pds|2OJKjPsFL3nbJU- z-E)4lSDo;%{s!_2Vg_CFB4>p@EF=*GqJgxNAS7uCY36ANg{_L^F`C1-$XTCLLnwrQ zTtY@Og02btr+s;NiA;mref!MNbLpvt9PnTvFD#jI8jr&OBD25=|MY!V{CJEUX-R6BudxM!WB?z+8#%yem&{APe?4PY7PBDPLPTE#1 zU2A<8wl_ryw+~m4nZ3>*&ji_lCl_oDK(#h2GDU6rw3vits5 z72}blWxUWwvpr!8Zo+~6?PP}L?^PdWzZi)l+gcx&hnFn?YbrH|f9pVpVQMFRa|ThX z%Za6ICL+x2(X?mXE!&p2yN};CliP@>vn$hsN9XmHLXc%~^_*V`;S6_QR`U8^g>PT$ z0fgUWR!O)3!$RszU`pvQogg>5DI#2tT^3T@cskqs;pN3jYsHHa-e(^LA1oE*oKyW= zIT_|Gczv_;#pbtiW!x%yWoR-KlV#CV_PX;MjlNvdTylHK&hf$NE!^hRI*E}^52+9+d9~6V)(dq04$&k zQ;HxM!@o$oPqbF@RUPENl+`gX3^q+87kIjwcb4ofb8~w_YEFDI5njVjG1wB%Ge?eX z;vu{`?%KM~yJ5N7And;AKN%`mn40%COvurmC9RP4dFh<#L0=BRR>?kOfBP-%*}X7o z*wg2w0~Q`)LhWqZuA9Ciw#P=YR?Ujf+oY7*wRbvX;4RUPbF&h`FOqJXrR>nORu{5* zgefdMKR;kS8HOv)zS_YVy04-WlVtOTl~r6t(f4%q*GWSaK&ABC#3RLLcS};(8p;xC zKaMG&ne@aJ14>iOI!q-=0=eHuxQc5i#?RVch(E13z-JPNw^TpwLVO*eHMq^=JwLzd zvHnTke7>$2a$d&-R##^e^zFH@%9mGyA_*9g-PUfcXBE*%@s0Y;o^ye*TD%l(rbPD> zw?3skK6R>-LQ*4AWJALRy^lZ(WX&E>Q1TC6*-q@@xfmk;beQX|$k{wtpSdoW;zlT! z3DT#y4zj~uz-qETbVZ6H<$jSdXc&BbwawPn|weR;~VETLYGI5Uoo8G;|u9bLst3S;_Y@VPUf8l_~}=^**n5^Ax1J zwHjTf;CF6Y7S~pUfvJNcAhe^I>t&&`y#tPO!j*=!+4r1MirkLpmt5XAph!xWDSue) za{u|hW_YnOGq8HRx*U#b`8J@&=^%E)q5P{q?#{k6o zmEJd_-A2sEeA@|XpqOx0#yZ+;M2Cra z#pEPSo$b`n5y9}Z)0$?o3ft2WV5bi-RhM|L)&Wv+OU3sE0x``jYZSKUK8QW?eBY{Z zSLhCz>`Qq1ZPdvTPq9BP4^?~& zm<8Q#uMkWr-W$D|#?)$L4rYYN%#4;C>++?Y3fy)%jp}m;6@AaW=J9e(n zFxAy|XT~*9Hz*M{-T6_vbUdWQzWaW)=PeLb zlTCJ~i3_|f+B&YOb)4)@o38|Egh!&XZ4;ytr*&ys`Tgcc+*{=@Z`5*XkGzttp_hk- zUxn=dXb~vL_X!eS?H4b5O;GxLuynoqxZ(qlZZ|hR^huyeXW)a0sN_uLCyVcMLRo7i z7e}@zPW1)u=0u&lH=v4hNOw+sc~Pj{cP=U8QKsJxTlDuwzx4d9^@~1SI^=DuP2+*( z^_1xG7Znrl)?QsDzZ|dI@#d#KnsRs zV$z)VKD#gRS<|L1k?HDgi*BUm3$h~fNDoqtR*mPrkJHZE1|nVz6zwM=Glh1!2VU$~ zb`&|b3-8s~%arQsJev$ct-cLTs-|B{G2XxUsfRO^_@t-HH2@ZMt=?*x2Gd&xjeL(nK2Xg*hpSWdBH1Dn(W_k>=7`qgy?mO;O7 zAC&uM+rIwZiq+{3e-WwBVf*f5P`7IG?JOiyP7yf!TK9%!bVs$DG)!1j?R?ZS<%-1z zNp-h*&&xC#=UZ#EUD^u0!%jKouWa1tEKD+6xxHd=l?Rz_du0Q8Xq(lo6LuOhj13nz z6oYnSf|J;zYpmy7b+-hGwR_(Bln@HeM>T=w3ea$cyZzQG*+vAe9)xeHV6DN50Ie{3 zleGcSY?nIu-iz?X;y0IENg|K!ygB>et)R%29Ihw(JOu&;aS5Cjc=%gYOX@a?9mcq; zDPTgV9lns`qkl`t*RpNT%kq+iR14$-dJbSpp#ZPKiz;9q>o5;DrH@JTdU}JzidS02 zLMRNkVsJD3cF6_Un>yL;;%d@0p2sDsmdB!AWrN65#Cp!;u0y2sE+w7~y7xrE^ng-5 z4k;cl7W}%0JZUG!`uEN+kf*E~x~djwUfT&bo3wr3&me3S_i2+&ipQcW^Jczr=Zt9_ z{7rn(w1r?Kd#<;@`)I!1-WBzgjr#A1;WznDesEl}wbDzPzk>_f;|SRi{FI5=_L^0b zefjP$GS*#|R6ye#<|(UolxG-#K=j7lctwDh^qN9qL^CIiukeJoYTe`B30i*P(x7l= zwFMl9OjLee7+uyfyfM^XY$C#+S&$eg+bw~S74^;zWa*(6wvq$gtlD!ChhInp3sk;~ zMl$7>Mbz;JIrW^ny*eZ0?RNs_>DK)aB$zg{rus1b!kabJn~UBLvtH&4oLFcAH5ECE zo^8@&Rx9dUjW5m8yQ8DU2x>fde{1*MMBsuTMu-uF@D%^?nFW~ZOH{Wq@HiA>qvascTfJL3xSCD|(#?RwlJZ6#iwVSn% zS26F$=H`F9W7!sL6?AJtTt2$9K+htQQ1M9k!GyEbM#rZ|2f3e>HD=$Yv1Iw^F|!a0 zY`kQ;SQg)8q`%vn z&!)2%GZ}^MXALLRGXY+7KDP>aidC4NiVVi2+C9VM;}~xjTsOaCXkJ~nvD!7=L8}qT z=T8V*G3c9j)bAuBN$IaE?otV71YN$=Ezb{rSFtg0osjV$TlE2% zMyo{QftAdy`SxA(H$D6NF$&D+r|_Sw!ywEXuYwcndfpP6T*E|1ks`)3OBJYx>R6{G`(z%Q<{}KI7Fy241ah7OhVG%*=@66( zr1m0XP?9{w{&b%=Z@TVVv8cECcjP_W)7wv?6{YPAHt9qKY%K9W@Ua~kgML|}8p){( zOM&*#-e#43CvJ*10Aho+TK^4A?l$v&V*=!5LdXcw#3(;ymZgpT;%L8y=6k#F5D~+4 z7rkPkSsHe$)ff6?cS{XZ5=s$!(=*_h|0osI6?cZc+>2x?bC_MF&%7#oB^67`DEG~ z^zRNfuq5}KqlfoQg43>VKY8&nl!(WOYwufQl7vJ8Lpp8?&Gb&1WOIO81}s{+@c8D| zv=8R>KH1qmu1CQdsW>l`6iZW`hd`X(c}eCMLKSl7-#%c9zJ%VnPTW{GXN5#C^FtqM zQWZTUsH`t;^c?c5R}zaw*#6u7wZb2=o?8E=v9dh1F#ZuG0YUJ!`*)9aOx9H5U}GL= zS`^@X{=`pmcMdTJ>RFGK4XdgDL-^#!OiTP^$WGVHOdf$-hLMz}H5`D+R{$lb2|(ag zm;dn#(+>RBb?v3mB!b`cl0Z2(_XgHvhJXqPUNq=CJe1YxzK5@=r!*QgJLO1qgz-!n zR~%0X6$qe#F&bemG)26n+yXfubdKZuHhZVpK2f87GbTp>3<9tr zpdE$5xs34d-7?Pj#A_N*_dv`s697y zJoS@KiDTe^DXaBKCVd*6m)Qp`)M~;|(pXYD-v9Xy{<|&xcVAdG6zJs4p4bN<859N? z{gYJxEC4TpbY;BO-;15hxpm}qPlnW?|5ZIbi>g<#3BS;27t}jIXtK0u*BEXsf)k0@Gv36UO=(AEE8c?^gp<#4pp{c29 zZRw3wXkno+`?+n5_Pdo`St?l4(u`_|7gnwSskd08fprhXx4Qq*Uu+& zib3Z1q4WUU3G8>pFjn`oC@+aEl?uo-h^ z8&!jaS0>|^+Zydh+^{k;tlXX3^^rp^Y5mBU-gOnr{d~bszQ>J}eb?g~`o`stJDH8d z`_^lA$B0mR)f7F+k?p2lFJYhTso4T;zo!rg0qc3-B_7+$aY@7sJz zpJyoL2SW#W3|n)my6#(8?QsRs`XB-_+pTmyYwB*R^s<8oar+<_tYt6kxV*TnxN55iyx7d zDgk6CSJZ21Aai;&3>#Il)CVxM!5TZ{c6xUC^0k{fYsf$eE>{ol>%a^&ccfNaZPzB6 z^N+dw)E_2KbzY<{De8_h7>?WEjV4Y>TJ60btI}7z}Y) zbTH%`Zol7G@$}a|bZ4+cA=3-|XES}4=-&`k^7AA$TKT$93P{B{Oxd}P*WN-$hT}&O z_));0n*H?PGiDMjDhlYSi;N(X0O>A@ZmuvlG_vl;_wC}~B>j#Nj4538{vO5-&3raw z#~gRhn!__+eTXeLkYHbVG^li_#RC0nWr>Qs1ijIf^=lD|K z;%4{r;kXK()-6qXC~H<+g+o|E+w`aIFI%6@4IID3z+>0kTb*)%vng~b7(d^|A?uL7 zjUKXC;UyJRv25J`#aUAySfi$D?N$V+pr6pcxt8Gt2lh4eCZj( ziu|NDg*`S2^}=YX3os=6{f$k%1A^BB^fzdu*BoacoM3R>&R4vH6(5)er`K3kv zmQmJLG}Ii*uyDRqQ-n*TTwfX8GuZo!vnFcg&JO!Y0AG?&B_ON%i(I9OyfOG}*X0%- z#_zC@mdzn9Jw2AOzm z?f4R<3zaQx4eV8vSA342USXI;X^Op3t<(Fa%*HQ7;~>4#!W?QucsdZwHu770s!Z}4 zPEH@l*L@@MPL3(F5rj&xH`mB5yTvc{^fp(8jxE3`h zkYRDmb69zSx?v9a_?0yV6^xcT{q-MIpSwwH(2&*XrinCj%?(S=4WCcOM9526 zMyq3U&6cW#fyWmtJXY92>X!=ySWw`M_FwMMe*>RzWq3AgAGMT3I8Fu_=lOdO^!A)a zARLO{?*S7AO2g1Vl8`w#z5zJjr#}e-QUScd4@jKbWb=BsNo3m|tCmy=k*6GHSOxht zKL3;`ZD6eeX6OKp2GQ@!HKLI!&p8zW-RHn)49VTh8b-5o&>u-RMBP_ME8WqUTT#dl zfERq13*zfZZlFYNAW6>paG9zomLIy!3;nz0J1|q@Ix=hA>02o z)V~P$PiBknQ&Bu&&oOJ9VMN?y2L}#tHt_hZP~2K2;C_6I`fv&0PFaRocrtNdlI)u2 z@=aAsSH7OlhglrKsXUW8#DfJ3B6cXz2#cEu29C<##46p_X9Nwj2Avr z^N~6;2MS1SQ$>|#<^5s)?+~ODJA?w@{ZR5jdUAsfs-mp0{W&)F71@KWc<>910l^Rq z4gtisTuECdK_^FPiR`HW5FP9Cd@!Rb;-V@_VFby;1GZFdhR`GMYwmOKP&^h!Anbjw z#`E$9qUwXtcX({B-gN8kIXIPx{5c*>Po53L1UPqJEwUQh;^RL0*bK zoY3J5r$aci^!T90H!bzATf&|qzrW9-p;e0O27FHue&~m@hfmh}yD5(Is4oCXlfXOx zWCeKQ=d?ijI6luC$f*QYbLr;{Vcw92mR{NOq=k0m1}s0<`MnzXV`edv2{Ir~T6p5{ z$)NU{spY1pk9PFoB=ji`pEwuzT^8Gukt8^a6h zguTs?L!bbF`GRUzqIod|EiI#3toYTbEA?Y$tVt254yN%69tY_iRr)6J_=`G||$cu7zF2j3(IOO@Nof_i;94k5M+;9Oq#7d!ORY`5mQdz|Ke z>G|h=F11Wd5ToGD^sZ0P@BD0@&M1{{wT#WBEB8krgcE{^0?_%M5#4n8RqpWta2-NI z%~C&MiP0_lT7rbocI`9+K|ilVS~d+w@hR-%uxKWZC^o+M zly*4K9HU!F!sduWw?Z{+g?TaTh;UDf)Axl z!Ap_OqViN)vEM&!l9D#rMJ2E5f|CaVRy=%j7|#)( zSnAp;IEl%t_l4fNxBH{{Ep?F*wz1GtJx!pOM?A3B8_-G)7LmN`F0=dbzN3Rm5`iTRC7u zY{jsJ!YYDooWvJGHqGx-H(kuMb_)>gAHWZCrN=|e&3B)Kx8#LU6mWFSPrd7dF6L$= z$wESbyKc7~>eyFq zv+H6K#QIaPlAFi&*`~8SA2%cN7)KM7S`LnIu^2twjRs*R4yQY1WO#i8yhb#f30Qn4hOf;RQ1Er0(!uK=!}K}=ZRD|MhcoUbS-WFa14zlzIpTd!puTiVHh8@j*Y_+NH9nIer{Fn{Jn*)sW=5ON(|0a;P>|70Ioa+WB712ULz7 zs+eT8&2wo}nKq3zrkxUFV^d@_+J1HhtVuhXU8i4~DY!?8Jk!{_p{4U{TDgXNbkp^# zZNYN6(y!(z4WRyCH?Cma)LZg29ZEUk8MEbLHl(slA#b&BGln^IIahe4A|&PjSNj%< zYN(*0bKLG#&t~)7@rJpD?i!?mdt$bj`LPLMhdznCYyzGKj>Qg1|7JsLnRd^<9rY}w z!Kw1U5V#hi=}1XN|i35%8Gk} zW{)|G=1-XJ7{nDItJ1^HYT3KM08ilPVG3)7twTX zW8N3E@&rbTqMi=#p={mbo2Ic0I!*G7XNKtkH$nU~UZ1sTbl3KdU zDkpfnZ>z{CZ>A(!D-wCnCWoB>y|$=zSmuS2opRCEp>sVarr~brenZ64{jQd-v*t^E z`(0M3>yiv7Lm$$mp*Er$6x(!#AeW+;2J*1c^d z&E{z>ibDhs{k1krl%bKTP9l|WMSAms0YfKEiOA%#TGvQ^O1X|wXma@b$tmBcAFIOf z95A7JGSqzBt`Bhvm%PY>)hzw-9)~BK<8~iMAjjPwj6H(G3C@9qQAB@xN)h2#^ab7< zsT?{1&$I)I-Rt*nhGz9B>m@EtX77nnZlGqAO@Jy~9Y^u*M zZRMcD!@ecU!Quq}Z(W;~bnaG`jQ!R~u)XEHtuJhYz@bPBe`oAe);q!#p|zWQqZzrZ zI?1%-EMMYDGjkm0Uq5=2sHS|esxms_eCCMIm%KRQ?Ay*_{j*TQeh$%yVRj#tV7!%m z89I3uet_Df6r?{$!qxghbyd4vGjb@0mJJQFN%Bq=;^oNP|s)8)p%Fh zrQkl&y-LWB#8`Ee?EqSSncP4f?`y57q1|vRr8DPg-?PsZj0zo5BJxR19om6l<{I3R zC0MNCElDMMbi=U7Xizj6Jfmht0?VC~{8BEkMq!uOMJ{n%XNeJ!175I9Z=~ zPX$7T|4S^)s=;35|3kpfF#K;d9`lEF5f6pxOZYC z4B_r8J)1waz1?*!v!!qAEJ}T-N7>6}WV54D4!c2Ubg5_@^26&a^*y7pTAjgpB5tV= zn3r8WvazyD#`gvnTTXRDq(hoXl{cAm-+|Uz82Eh{k=PE&YD5)rk!V zDT{Esj&>-t8lPeZGMFP;`tYvW@X{@rVvhLluzd&dAw-PAJ&Ked_Laz@N&G;mw)c!Z%(KCb`_J*abSwK&mivksqfxck4_m1Xw9ciW zEP>~!i;x@&9g5Fc6`i-gEc>^b8SCuQTY0QN)|PLJ5VJ1+iDuG7p^L5(D&q(;|5>+b zkH=ifZd9&AVSeBJO`U7N{Ba7}^M5k}y@ukPkg2YZIj&{t*kED2c#;-5J^s7@h}`{( zR#B;hd_9F4Rp zCPgoM@mQ1PI#yofutXQjhzKeQNelQgShPe$ttlz#1+IMGwI^MQ!`=$nc5rk^W|Ki8Y=7e*jS@#V z>8;3LIE%0X^AXzGr=yI2gOH)#RHc77=5-*CQbf#fNV|Aq};h(~&z{2OpQ#|WbT8>;+DfwbfL z-yr7~>Xx#9!=oQ=QwdZ44XnP)4VgRpH+cE~@4;J62nQPQ79$SkM7O_$0aeM^;5Rz} z2~YgM?M(KCTg3BoH_|&0a9mx9h$iSL5~B;$#Jyih%gaBBv7`D z!rWS38$Ci!1wTe0+kwLCL+Ywi3)?ns972h|y8F3%06bU+9LoLPJpl4cW`j`t**ySd z+y=69{_Gxr9GU~?{=at*Km&jGf5bX~_6P({PJgow04fTJ0*52NS?51~aE*ykpe|h( zz-SrHD*xg@U=0*MTz>M~#w3Dxu+sy8!-(Y#T_DH*=Yzuq9+TlXY;bH&k{P5U&3>a5 zK(Lm=hBVB2fmE1@NFd8@kS%b9JA0>lJcpZSCYby?P^4({t8xZt*2Jo+6(&PpG5C_|2F#E_9K zN+Q3L5>#%PKfO?C)BkwN>xr6Y8(ffx$A@BQpoNukxj4wSY_9|hUBJ`aLaA2Wv*6-~ z3NRcHIQFr(!3z8q3_{~}>9QHv$!p&vZtn6iNW1&b6e#h1ifFrBBT}VN1hTYZ+ZDi0 zzBX>ps;+das>m9^T?fr@Qcj!3&)Cltk`(hE4W*s4n6cWasF)RIkyP+_0+;{!_Gu8| zVfU&`jwRg=cE-CFJ@U1;4{bD)?s5hCR8hH#`aPARd5~6^+6;_ZSdAQq;|;1sZ4zn2#Z~4YhHK767LBu=A<@=-Rf<^{@{w>N>(AS zwz!Rx6=crrv&AUNIz7h4|CN+jd6+}lg1$33CCydH(E^Py0nOFTemgBA_;0(@6Ldx* zQzA???CK7h+#EDyclB1OI||9sv1UtYy&;y0RfsRMSuT8j!>e`+48_LcjY>3hlF+4j zdp6KV8d$w|N~HPb=L4bG5-?&i=kv^(6rug)_gg;kTlx=EP69f&FrUDxIB|D?&ToEj zNx0PD^vjLue0+JsT! z$1aptZmIk6uk^u2C=6ElWWJ2hQ%$yr$l>`UZ9f@PoY}=fsv#necsx?x)koyeo4=8X z49W$@c+Hbn+d3VzQ`$M2pMKVP%&oGeWu5swZnJhRh<}3nrQtDSl|yrpj^$YNxS{Xg zH^Sk7Xtj+dxD{5O^{x#ZSDAS+d>qGeW2dgRu8Zp$G1S(m%dEN5n!mt14jH4cBA9fe z12npfLEslBdDyDivQw{jaM^t1Mmhv6uw^^ z4vWiJtWOW?EtMb7?Cqf$e>+}_T_wq6dnNKL@KW8gBzbkqG=BJ!JLB?sR6h0?sJz*S z8dk4}FnMjEv1a25X*Nq$8@m!DIy_i91NX&8IXca?)igcqJYAIIwES$ba@fVQ`O;w; zEhR)>4@?PjZ|V!K2=jVc`R%Jn=S`i7^8;>$h`wztTO1oJ%lhV{~wp49THpFaC^i?+xm=|4n2m1$d z&T5b7u&;MbthS9^m)0e`5RzW7()Q0wDXnGi9rXZ9_)EWa-?D$(d@O)QxKx~l`^$co z090;5# zZDnCEr%0Y6`bsdhbtk^kAL_$_Sxj`jbK!$NlRE5W4~I2_E#kH%F=yzBGB>tZOX_W< zyN(Gb(g)H#eTf-=Fx)BOEC3}r%XrlE6qRtn-BsoD9iQso)^YdJ7;$VDR7IjbMzC6N zBCC*4?DVBCcDNWMsfXO5o1!8)v?fGKgIqck5E__iRVi@JU2x-2U*G>mJh$~a6fmJO zTtD?aa4|#ok!Awylz}-=Uq2%~8NyF2L{L8GIn*40wJWOY57qk1s2p0~KX&cVn*Ong zhlb>jJv}sZf6U>bk^Eyy4-M>Jmaq^+d|-=qk1wPy#>>yT#+^|5^Dt8YiY0EgFYdl6 zC^)$nUvu@jIR0IJsRZs_(O1rMp#>ULb?$#nW`-8R(i*eQo4(5a-5mjsk8lcqgfm$D zA$Q*vIO7L0C=b1c8A=0UU1z#7c?x5I&^Ce?{nw*B$`mY>-InKw^8IIR)A{U0cAcbH z<})2)9biozOzt}hYa{XTXCcxqjl%LH^HmgJ!=MSD@^+u8w$70uZl-|q%OYiiF;9(L zLesL`45Zc8@(VC?Iv+JF9PM@TcMr1IcW>J8R~l@#h(-M&3?+l`#uE2eW%3rv_r}fm ziS$|5@*J^Hrj_D28ZE!q+_f{E$m98ig%sS}0yMs{GV)OMITsbr0`z1&hrVbR(BO@L z3#e@F?$8@fj?HAzDu%@iT)&RK3MX*~Kp=5H*lYo6`rR(a!|bv+G{n^zR| z-i`@MxY%@w;No!464DG);Wu=j_|_5q#}NZM7uvg;Rg|Bdl%$r~@&HOBz~T22G=cOn zZBVQl8#)v8An8FaMSjK-M&8Ue?1B@;=)t=Jn~5E9JR4)$Yr`$|cWIIb=$At$;zLZG zm(&9Pcz~Xp$b0cJ3lAR9C~Do%nQi0ip1HaQ9PKFV4^D&#LLp1b4T@BfQW>!45|6T# zX&oR-Kl*nCV?Rf}?(A9XdMaD7+j$9cG=}czwmIxPszSJ!g`@g3rE;Yn+aF<|=LRJ? zINu7W$3LZ0Fv)6pu(>1`s9AWPJ5sP1S48JxiG9JamYZX*<73h8!`yD0Ui-*e^!4tQ zk(-Ve^7gAWZ0L*O&~_9HnoloM|6nBU2PuuSNS&JlmCzsOb7m3pmgno1y3JynbYS{% zsUHg3k9CIHq-xw*c@Tq_`;}TQ<|oUueFtXl<$}; zTk>fO$<6y-AnHLN=PBP(5b}@X9M?pdvY3o_ZkZdFzF5IbJM6)IhMwz=6SnC) zGIR=N<1HbTt+vz~(avD}K^#F4iB6M>B3 zFdIOw#SVgiF2x3)`a|=>Up-L5lw_@#T6_fz zb`<*q0UXV!htF4~L(2)|lL4VsgsY64NlEZ-buThGV>(k!?JS&bk`tQGke;|B> z(*4&To&}U+^J?NbaIehDhUXQp#X0h`&=dSWmxcq9hG$hNEOFSCQZ&mWzF!0d(xy@T z!r+4$p1F2>hXvs^q6K|`>eIn)U%NwXf6G8 zR+Jlqg6b5N<_HdFu%4+K#mT1=v5>l49|R!9S)J~Dr|dkoJr$m zE<#S6l;$OH^ApfXiN4m=Q$1Dp17P|b8RAzYA1Fw`f~?z4qYTw=T29^jsgR`!SiLGc zFG3|%lopOB7nTSTC&dpWFoLR19TDP0V9iqM{%S6+XDanoHBj8sVwCjtHWO&;Xq{!? zzrPz(6@Q-P?D*VO?MFys>}=7q&x!Dr(zvI{#fFeu+s(D?c6FAnt3kb%cPRZcs%2I_4 zl%hAk7S{;8m{&SM2B_sDQh2|~OA>%avO6~c`NrPAx_KchcjL_%kGmO@?_o_T#IaiW zS!~GerUyrgu87^cA0y1585E(g^*d1E*Y%60dh?6#Qnso_rtiPtOPK5V&IQ_?^^H)o z%$5D6%-T7#c%j^pI>nLZWh*yD`a>NhKX>A9ho--MxgB)rw5?QWY(DJM2Pl>B)n6N; zm6n$`+E#K()Qyj~PsbouQ6AdAJ@^?}rI6rx4E;+nUi9`MO_(11<|6!FpC4kU1y%KD z7t7EgXHEaL!}*=PMvNdlpDy03hqlPkq6@P-|356L zh)NjN>0+fQ1nr+E%Y7roG^nN5t3-#GBiVbw(m%b_cAj7(tG| zRCjd?&HO8Mv{EdWID@AG5_y~Y)kerYcwT*OT5i8f$_ zO6ZG5>ct~iN-q30ucqE(e|T1%@{a^?a{Xa@51&80{=ay6K}Ie<{;2Ty@U#Pie1D_{ zSu12)dK1dcjCDTwm_?qw6owRTk>H%1;yXLVFirGIZg2oW2)cmO}{+s=` z?h2IT=+?aRzL4`1^`SUf5B9^$;}*I$!Z7l9MUP{MgYDRwDY6UKC|Nx&9y~co@|*<{ zAq3ohN&>K46(4X-;viJ z=k6#e$Aa-g;85V;WW@M5;A^}&Dn zuE@N8Y?R$__uR3wzoJdW*aU9;zVrHi1MnaPP~0r-_1|!1$?e=At-nlRg}y%Z{&o{A zs%lNu1tKojW-d(B=U3S9{X$!r!UjkbYsy9Z`n>w3Q1T+17yRw-{_cNfpp&C^`{>iZ zV&NJ0vu4Rh$Yw4nTwFEF_(LJX<4xZm#y8F2QP}c1T^VM8WW@L1mnD2ATS)yn7U}E% z%}Yxn^I`4k%!LP{Hm|?Iz_k0*auwj%95~HQ(%kT@@}Lmk%$aGN=eT@BF8?|3scpgH zv-9L$?wB{v{M;Mpy(dtPr3aNZ7_ zV7-n^YWhxkx&1KU3y+f-D+Op6V-{s}J3zI-Sf z7DFa75yiK;z^?kndM)N*<)YiQz|mE3zL`3WIeW$%(LO!-@}C#Nu577o6us?#ynFqN zviZPG|B!%xdBCVuS#k0Yd8x1L5_1-+-(ud-o}jyC`WLpZIxs)wvQLvW4t~6UjU896 ztM6^uh>wgrbW@`?Z2$Q6IB*LRIHhcnipAeshh0GS;N``U8W-7t z$3G0}%qV1g=zTx`{I7ZbRbCBoFCKner~am>zN+flFHhUMV)0*#VSZe~w`S*!in4^e z^YiYC6+Jz}2lQAB53nG*#2#j2K2J7cW^o!jD3^dr9!n-|G2m2v7|ipT% _`_JRw zGO78%Ensg19Q>+<3AXpnrbpJ59AO6L+luN7uTL`ZZ+HJLezWxCjlBMeZ+TBw8DC*o zHhFsa-Qe3(t}m(QU!#25j*U4x;>p9E4}k;bkQ8dO;mq~ABv+45m38mkXSSV-I?bZL{X0Rbtvc`@8S&b+qL!TcHi?EkdkT-LR%& zqx0cdj~5Pw#cCIVWa}5*Te5dX)Qg4xH_qQ1yY+>I>bBR3FAm092QOEay5ztovCJ!7l;!;*rZThum&3~;e2k!!B z8Nk(r5!-!^-dn8dTy?|0qxU0(i(neTiz&()c0_J0+-4LWKaRP?Di+>GVgj_c{_po8K;Rj}8_1GCQdy{s>^{5L;lTCYvp|C1|E z9Ghylp#T5? literal 0 HcmV?d00001 diff --git a/literatur.bib b/literatur.bib index a3c2b4e..766db51 100644 --- a/literatur.bib +++ b/literatur.bib @@ -1,6 +1,66 @@ -@misc{protogerakis_discussion_2020, - title = {A discussion on the opportunities of {LIDAR}-based volumetric analysis for industrial applications}, - author = {Protogerakis, Michael}, - year = {2020}, - note = {Interviewees: \_:n41}, + +@article{minDesignExperimentDynamic2020, + title = {Design and {{Experiment}} of {{Dynamic Measurement Method}} for {{Bulk Material}} of {{Large Volume Belt Conveyor Based}} on {{Laser Triangulation Method}}}, + author = {Min, Fusong and Lou, Andong and Wei, Qun}, + date = {2020-01-17}, + journaltitle = {IOP Conference Series: Materials Science and Engineering}, + shortjournal = {IOP Conf. Ser.: Mater. Sci. Eng.}, + volume = {735}, + pages = {012029}, + issn = {1757-899X}, + doi = {10.1088/1757-899X/735/1/012029}, + url = {https://iopscience.iop.org/article/10.1088/1757-899X/735/1/012029}, + urldate = {2021-11-05}, + file = {/home/naresh/Zotero/storage/L4QCBM6Z/Min et al. - 2020 - Design and Experiment of Dynamic Measurement Metho.pdf} } + +@inproceedings{pizlo2010, + title = {High-Level Programming of Embedded Hard Real-Time Devices}, + booktitle = {Proceedings of the 5th {{European}} Conference on {{Computer}} Systems}, + author = {Pizlo, Filip and Ziarek, Lukasz and Blanton, Ethan and Maj, Petr and Vitek, Jan}, + date = {2010-04-13}, + series = {{{EuroSys}} '10}, + pages = {69--82}, + publisher = {{Association for Computing Machinery}}, + location = {{New York, NY, USA}}, + doi = {10.1145/1755913.1755922}, + url = {http://doi.org/10.1145/1755913.1755922}, + urldate = {2022-01-13}, + abstract = {While managed languages such as C\# and Java have become quite popular in enterprise computing, they are still considered unsuitable for hard real-time systems. In particular, the presence of garbage collection has been a sore point for their acceptance for low-level system programming tasks. Real-time extensions to these languages have the dubious distinction of, at the same time, eschewing the benefits of high-level programming and failing to offer competitive performance. The goal of our research is to explore the limitations of high-level managed languages for real-time systems programming. To this end we target a real-world embedded platform, the LEON3 architecture running the RTEMS real-time operating system, and demonstrate the feasibility of writing garbage collected code in critical parts of embedded systems. We show that Java with a concurrent, real-time garbage collector, can have throughput close to that of C programs and comes within 10\% in the worst observed case on realistic benchmark. We provide a detailed breakdown of the costs of Java features and their execution times and compare to real-time and throughput-optimized commercial Java virtual machines.}, + isbn = {978-1-60558-577-2}, + keywords = {java virtual machine,memory management,real-time systems}, + file = {/home/naresh/Zotero/storage/JQHSRQ3V/Pizlo et al. - 2010 - High-level programming of embedded hard real-time .pdf} +} + +@software{realsense_git, + title = {{{IntelRealSense}}/Librealsense}, + shorttitle = {Realsense}, + date = {2022-01-06T15:30:33Z}, + origdate = {2015-11-17T20:42:18Z}, + url = {https://github.com/IntelRealSense/librealsense}, + urldate = {2022-01-06}, + abstract = {Intel® RealSense™ SDK}, + organization = {{Intel® RealSense™}}, + keywords = {camera-api,computer-vision,developer-kits,hardware,library,librealsense,sdk} +} + +@online{rtwiki, + title = {Real-{{Time Linux Wiki}}}, + url = {https://rt.wiki.kernel.org/index.php/Main_Page}, + urldate = {2022-01-06}, + file = {/home/naresh/Zotero/storage/QVWI8QGE/Main_Page.html} +} + +@software{zeromq_git, + title = {{{ZeroMQ}}}, + shorttitle = {Zeromq}, + date = {2022-01-05T21:55:24Z}, + origdate = {2009-07-29T09:56:41Z}, + url = {https://github.com/zeromq/libzmq}, + urldate = {2022-01-06}, + abstract = {ZeroMQ core engine in C++, implements ZMTP/3.1}, + organization = {{The ZeroMQ project}}, + keywords = {concurrency,libzmq,messaging,network,networking,pubsub,pushpull,stream,zeromq,zmq,zmtp} +} + +