- From: Henry Story <henry.story@bblfish.net>
- Date: Sat, 24 Jul 2021 21:44:01 +0200
- To: Melvin Carvalho <melvincarvalho@gmail.com>
- Cc: Timothy Holborn <timothy.holborn@gmail.com>, Read-Write-Web <public-rww@w3.org>
- Message-Id: <9E4ABA99-927B-4723-BCB5-DC92BF38757A@bblfish.net>
I just thought I’d mention that I thing the history of WebID portrayed below is a simplification based on projections due to lack of information. I don’t have time to join the discussions here usually, but let me this once. WebID ( https://webid.info/spec ) is a simple spec that is at the foundation of Solid, which I am working on. For those who want a big picture view I published a second year PhD report that goes into details on the architecture from a philosophical and mathematical perspective two years ago . https://co-operating.systems/2019/04/01/ I wrote the first blog post on at Sun Microsystems on foaf+ssl around 2008, and the first paper I wrote has over 150 citations. foaf+ssl was later renamed to WebID-TLS which is much better. TLS was all that could work at the time with browser tech. A proof is that it took 10 years to get to the point where credentials could replace X509 certificates, and it is actually not quite there yet, as we need RDF canonicalization, which will take another 3 years. I am very much in favor of Manu Sporny’s work, and am intending to use it when it is finished. I have been building on Manu’s work on HTTP signatures here https://github.com/bblfish/authentication-panel/blob/main/proposals/HttpSignature.md#the-sequence-diagram I don’t think one needs to adopt the whole project to get somewhere: luckily as implementing all the 50+ did protocols would be a huge task in itself. Currently I am writing a Solid web server as part of an EU project which has the above mentioned techn built in, and as you can see from the description credentials are part of the story. https://nlnet.nl/project/SolidControl/ Btw. the first web server I wrote was in play on https://github.com/read-write-web/rww-play This is a second version of it. I hope it will be a lot better. All the best, Henry Story > On 24. Jul 2021, at 15:19, Melvin Carvalho <melvincarvalho@gmail.com> wrote: > > > > On Mon, 19 Jul 2021 at 23:51, Timothy Holborn <timothy.holborn@gmail.com> wrote: > > > On Mon, 19 Jul 2021 at 18:54, Melvin Carvalho <melvincarvalho@gmail.com> wrote: > > > On Fri, 16 Jul 2021 at 15:42, Timothy Holborn <timothy.holborn@gmail.com> wrote: > Foaf defines the concept of agent > http://xmlns.com/foaf/spec/#term_Agent > > I'm unaware of the schema that defines agency...? Or the implications of the agency of things on other agents, etc. > > Yes, I think that's the idea, humans, groups, machines all having a digital representation, which was the basis of WebID. I know you struggled to get behind that definition, Tim > certainly did... Back ~2013/4 there were a few concepts i was struggling to form an ecosystem around; but i had a particular sort of usecases in mind, that was far less part of broader discussions... > > Therein - things have developed - still seems the underlying concerns haven't been 'better considered'?? which has something to do with symmetry between real-world & legal semantics vs. cyber / online semantics (and eventually governance practices) > > Therein: Law has a concept of agency https://en.wikipedia.org/wiki/Law_of_agency associated to the concept of a legal agent https://legal-dictionary.thefreedictionary.com/agent > > back then the principal concept was to focus on WebID which in-turn also had two key elements; a Web-ID being a HTTP URI associated to an RDF document; the other, being an AUTH method such as WebID-TLS where the document is expressly 'baked' into the AUTH Instrument; but didn't seemingly support rich enough semantics to support inferencing around provenance of authority / causality, which led to disputes about 'identity credentials' vs. 'Web-ID' although this history is now difficult to inspect; given various advancements from the pre-credentials CG (ie: 'identity credentials' incubated in web-payments only) days... > > I think the webid and identity credentials started out with the same root. But sometimes people problems get in the way. The chair of the webid group behaved in a passive aggressive way to Manu & co. who at the time were putting an enormous amount of energy into WebID. They were made to feel unwelcome and so they went away and created something themselves, with great success > > I would say that the main practical difference between the two is that Manu bet on JSON and the WebID community bet on Turtle. Turtle was a brave bet in 2013 and required convincing the world, or a good chunk of it, to use it. If it was a brave bet in 2013, it's a one in 2021. JSON is going from strength to strength, the tooling is well ahead and accelerating, and even in RDF JSON-LD is the de facto deployment via schema.org. You could say that in theory Linked Data is in theory serialization agnostic, but in practice it isnt, and defaults matter > > There's also a difference between keys vs people and acl vs capabilities. That I think could have resolved itself to add both sides, in a more wide reaching framework. > > > At the time - certainly, as was the case for me, i wasn't so 'intently' focused on the requirements to extensively consider the requirements for an AI Agent (on behalf of a person, as a 'digital twin' concept, which has only developed as a known term, sometime later on...). > > > Agency isnt a binary thing, it's a spectrum. Some tools are very much under human control. Some have some agency, like a programmable robot vacuum. And some are completely autonomous e.g. like the bitcoin distributed ledger > > I still have problems that link to the conceptual frameworks associated to the production of information management systems (or moreover knowledge management systems, which incorporates a need for richer semantics / assertive predicates linked to provonance - not unlike the HTTPA works https://dspace.mit.edu/handle/1721.1/93833 that i found eminently inspiring at the time; as to determine 'sense-making' related evaluation particularly in circumstances where wrongs have been 'performed' and there's a need for our systems of 'rule of law' (ie: courts) to investigate the history of a problem, and then furnish a better capacity to evaluate related aspects such as malice / malicious actors and those who may have acted as to harm a person in some way that may contravene their real-world values (but were poorly informed and/or given false / wrongful information by another to instigate an attack, etc.) or other aspects relating to torts / negligence, etc. > > There's now a whole field developing called 'rules as code' https://twitter.com/search?q=%23rulesascode - yet the consequences of various 'decision making processes' (causality linked realities) still kinda means people are assumed to have access to little more than an identifier that provides association to institutionally governed systems that provide some form of record in relation to lived experiences, etc. > > therein - 'human agency' https://en.wikipedia.org/wiki/Agency_(philosophy) and meeting the needs to support societies where the right to self-determination and other historical deliberations associated to works such as human rights doctrine, common-law and much more - well - From my perspective, whilst the lens of how post-print online information systems are made to work in a particular sort of ideological manner (globally, in a form of institutional web of kinds) - this still has vulnerabilities that lead to harms upon persons, progress, institutions and even democracies... > > Drew this diagram the other day (per attached); where i sought to commence considerations around how a programmatically defined - objective system - could define a 'chat bot' like software package, that may do graph analysis; then send thousands of 'drones' at each particular actor as to undertake 'influence operations' where the objective is to polarise 'group thoughtware' between two binary objective positions; for example - being part of the herd (compliant / 'switched to guided mode' - like a self-driving car) or majorly polarised (ie: able to manipulate environment of target in a manner that takes into account 'insights' (personalisation) to disrupt and immobilise actor by dissociative behavioural ops related outputs). > > The example being twitter; where an account isn't necessarily a real-person, but may engage in political activities. So, a sophisticated actor (at 'layer 1' of operations) could generate thousands of these things that target particular 'concepts' discussed in the public space (regardless of whether statements link to real-world STEM or not); then at a secondary layer, find polarised extremists and instigate capacity for attacks by them - upon the targets (target can mean persons who share some sort of 'believe' or engage in some sort of similar field of investigation); and all this sort of stuff could be done dynamically, sending harder 'tickets' (examples) to human actors to engage with personally as to elevate any such targets on some sort of agenda based operation... > > Given the structural frameworks in place - these sorts of capabilities are very difficult to defend against due to a lack of - what i'd consider to be - 'ontological hygiene' (at a minimum. > > > <AiPolitics.png> > > interestingly - the older, far less sophisticated 'manipulation' method was simply 'buying likes' for a page / profile; indeed, a page i set-up in 2013 is seemingly under one of those sorts of attacks, for reasons that baffle me as noted https://lists.w3.org/Archives/Public/public-rww/2021Jul/0002.html - they may well be 'real people' (mostly in india) but i don't know why that would be the case; or what benefit someone may be seeking by paying for a fairly dormant page that's been sitting there, not doing much, for quite some time... although, the damage is far less than the case with respect to elections or other major 'social policy' decisions that impact millions / billions, etc... So, for now, its an interesting thing that helps me think more about these sorts of underlying 'ontological design' ( https://www.youtube.com/watch?v=aigR2UU4R20 ) problems. > > Twitter are now sponsing an open system called bluesky aimed at decentralizing conversations on the web. One of the inputs to the ecosystem review is the work done on Solid, which I guess in part, came out of the work done in the RWW CG > > I like Solid, but as a power user, I hit some walls. It was designed to work with humans and semantic agents, but those semantic agents were very hard to build reliably, in practice. I dont think anyone really achieved that > > > > I think bitcoin was the first thing (aside from the internet itself) to have this completely autonomous property. And now that we have that, it can be used to create other similar systems. The idea of "rules without rulers" > > I think i may have had 'too much faith' in the intent of leaders; as such, sought to create infrastructure that had more dependencies upon a capacity to provide tooling that could better show / support 'good intentions' via a fabric of organisations; rather than using computationally based infrastructure designs (ie: like bitcoin) upon the ideological position that it may be dangerous to society / democracies, to make an assumption that systems can be made to be trust-worthy via an assumption of 'good faith' in sophisticated actors / human organised infrastructure... > > I've started writing about another sort of design built upon DLTs as a means to create in-effect, perhaps even - a new internet - depending on whether world politics leads to a place where there's demand for such a thing, at what level, etc... But - more about that in a different post about the topic and/or some ideas about how something useful might be progressed. > > Most DLT systems are schemes designed to print money and enrich the founders, leading to the famous "rug pull" scheme. There are some notable exceptions, bitcoin being one of them. > > DLT as a time stamp server is a valuable innovation tho, provided that it's not impaired (e.g. as above). > > > To endth the point about my having had 'troubles' (intellectually) figuring out the 'agent' / 'agency' semantics; certainly it could now be used with 'credentials' / 'verifiable claims' ('vaccine passports'), etc... > > I'm just not sure how that is likely to end-up helping the human 'subject' appended, directively, to said instruments. There was a lot of focus by alot of people, what we have today (causality) is a result of how those sorts of discussions led to outcomes in relation to those involved in the discussions - and in-turn now, what and how things have evolved since, as to be now getting rolled out across the planet. > > I am still of the view that the 'merit semantics' that link to often despised concepts such as 'social credit systems'; about what sorts of motivators lead to 'success' (happiness, ability to care for ones own children and/or themselves, those around them, etc.) vs. the opposite. I still believe there are major 'semantic' challenges in these areas that have enormous implications (ripple effects) across the world. > > Its important to note; that when first designed, it was back in ~1998 onwards - the world (and computing) was very different back then; yet, > > IMO - the implications, without review / redesign - whilst they could be evaluated, i'm increasingly of the opinion that this is not likely to be a voluntary thing invested towards by todays most trusted brands (and their underlying investment infrastructure, regulators, etc.). > > AFAIK there weren't many people involved in these sorts of 'design thinking' processes - although others, are extensively discussed in relation to the 'brands' or whatever linked to their tooling, that now in-effect 'powers the world' and its decision making capacities via the web, in ways that can do stuff like exhaust toilet-paper supplies or get 3.5Bn billions people locked-down into home detention of some sort, within days; alongside many other implications, that my former concerns about the energy (/productivity) costs of 'bitcoin' increasingly seems cheap, like others told me was the case back then. > > Regarding merit semantics, what's missing from the web is a way to show gratitude, rather than thanks. This cant really be done with existing web technologies. To coin a phrase, 'talk is cheap'. Or as Marshall McLuhan phrased it, "The phrase 'money talks' resonates because money is a communications medium". "Gratitude is the completion of a thanks". It has to have more substance than just a 'like' or a 'retweet', which is where the (proof of) work comes in. > > > Hope that helps. > > Timothy Holborn. > > > > On Fri, 16 Jul 2021, 10:08 pm Cristian Vasquez, <cristianvasquez@gmail.com> wrote: > For me, it's not. A browser is a tool to browse, and (today) it lacks 'agency.' > > Still, I've asked the question 'for you, what is an agent?' to many > people in the linked data community. > Many of them think of the browser as 'the agent' of excellence ;) > > On Fri, Jul 16, 2021 at 1:33 PM Martynas Jusevičius > <martynas@atomgraph.com> wrote: > > > > Is Linked Data browser an "agent"? > > > > On Wed, Jun 9, 2021 at 10:13 PM Andrei Ciortea <andrei.ciortea@unisg.ch> wrote: > > > > > > Hi Cristian, > > > > > > Apologies for replying so late — these weeks are just over the top. :-) > > > > > > Do you have a link to watch the Web seminar? > > > > > > > > > This was a 5-day seminar, some invited talks and demos were recorded, but it’s up to the speakers to publish the recordings — with approval from Schloss Dagstuhl and following some special considerations. > > > > > > One of the seminar participants was Mike Amundsen and Mike's invited talk is available here: https://figshare.com/s/e7b83338b9c08bd1753b > > > > > > I am not aware of any other recordings that were made available publicly. > > > > > > I find the idea of a shared Web-space amazing! > > > Such a testbed would add some joy to developing and compare different > > > approaches. > > > > > > > > > That’s great to hear! > > > > > > Then I had to ask myself, what is an agent in the context of RWW? > > > Does the agent need 'agency'? I started to be confused ('agent' is a wide term). > > > > > > And I've been confused regarding this for a long time!. Some years > > > ago, I experimented with a program called 'agent' that used linked > > > data and N3 rules. The main functionalities were: > > > > > > 1. To consume/produce hypermedia > > > 2. To know how to build internal/external states consisting of > > > combinations of various Web resources in the Web. > > > > > > The program seemed helpful, but does it classify as an agent? > > > > > > > > > Well, "what is an agent” is a question that can easily take a bad turn. :-) > > > > > > I myself am interested in any type of artificial agent — from reactive agents to cognitive agents: different agent architectures come with different design choices and properties. Different types of agents can also co-exist in one system. One classical textbook on multiagent systems that discusses different types of agent architectures is: > > > > > > Weiss G, editor. (1999) Multiagent systems: a modern approach to distributed artificial intelligence. MIT press (see on Google Scholar). > > > > > > Then, because I’m focused on open and dynamic hypermedia environments, I am also interested in agents that exhibit some level of autonomy. A discussion on autonomy that I find interesting is in: > > > > > > Castelfranchi C., Falcone R. (2003) From Automaticity to Autonomy: The Frontier of Artificial Agents. In: Hexmoor H., Castelfranchi C., Falcone R. (eds) Agent Autonomy. Multiagent Systems, Artificial Societies, and Simulated Organizations (International Book Series), vol 7. Springer, Boston, MA. https://doi.org/10.1007/978-1-4419-9198-0_6 (see on Google Scholar). > > > > > > I want to find people who want to exchange approaches to build agents > > > that use linked data; it would probably be easier with a forum or > > > chat; this would make it easier to collaborate in the long-lived., Web > > > environment. And probably also enable people from outside academia to > > > jump in. > > > > > > > > > That’s great to hear! It seems a community is slowly forming, but it takes time. Meanwhile, we look forward to see you at ATAC 2021 — and you can bring your own environment if the ones advertised with the challenge don’t fit ;-) > > > > > > Best, > > > Andrei > > > > > > > > > On 1 Jun 2021, at 16:24, Cristian Vasquez <cristianvasquez@gmail.com> wrote: > > > > > > On Thu, May 27, 2021 at 1:38 AM Andrei Ciortea <andrei.ciortea@unisg.ch> wrote: > > > > > > > > > Hi Melvin, > > > > > > Great and yes — this is certainly an area being researched. In fact, back in February we organized a Dagstuhl Seminar on "Autonomous Agents on the Web" and I think your vision is well aligned with several of the discussions we had during the seminar: https://www.dagstuhl.de/21072 > > > > > > In terms of research, I think many of the pieces of the puzzle are already there as contributions in different communities (and some piece of the puzzle are certainly missing), but what we need is a concerted effort of these communities to align and integrate the various research threads — and this was the main motivation for organizing this seminar. We've just submitted the seminar report to Schloss Dagstuhl a couple of weeks back, it should be published soon. > > > > > > In terms of available technologies, I think we still have some way to go to get to the vision you are describing — multi-agent systems that are Web-scale, open, and long-lived. I think we’ll get there, but of course we first need to start somewhere. > > > > > > This is where Tobias’ initiative for the agent challenge comes in, and this is also where the 2 robots I’ve shared with you come in: one idea that came up during the seminar is to set up a shared "live" demonstrator space — a deployed, open, long-lived, and geographically distributed hypermedia environment that could provide a testbed for trying out ideas and identifying challenges. It’s an ambitious task, but we’ve already started to work towards it. :-) > > > > > > > > > Hello Andrei, > > > > > > I find the idea of a shared Web-space amazing! > > > Such a testbed would add some joy to developing and compare different > > > approaches. > > > > > > Regarding the challenge, I first looked into the maze; and I thought > > > about using an existing solver or reinforcement learning algorithm > > > 'for mazes.' (a 'gym'). Then the problem perhaps reduces to writing a > > > script that interprets and follows links; or something like that. > > > > > > Then I had to ask myself, what is an agent in the context of RWW? > > > Does the agent need 'agency'? I started to be confused ('agent' is a wide term). > > > > > > And I've been confused regarding this for a long time!. Some years > > > ago, I experimented with a program called 'agent' that used linked > > > data and N3 rules. The main functionalities were: > > > > > > 1. To consume/produce hypermedia > > > 2. To know how to build internal/external states consisting of > > > combinations of various Web resources in the Web. > > > > > > The program seemed helpful, but does it classify as an agent? > > > > > > I want to find people who want to exchange approaches to build agents > > > that use linked data; it would probably be easier with a forum or > > > chat; this would make it easier to collaborate in the long-lived., Web > > > environment. And probably also enable people from outside academia to > > > jump in. > > > > > > Cristian. > > > > > > > > > > > > We intend to organize a follow-up online event in July, I’m happy to keep you in the loop if interested. I'll get back to you soon with the additional materials and documentation. > > > > > > Melvin, thanks for your enthusiasm and we look forward to receive your submission for ATAC! :-) > > > > > > Cheers, > > > Andrei > > > > > > > > > On 25 May 2021, at 22:11, Melvin Carvalho <melvincarvalho@gmail.com> wrote: > > > > > > > > > > > > On Tue, 25 May 2021 at 18:52, Andrei Ciortea <andrei.ciortea@unisg.ch> wrote: > > > > > > > > > Hi Melvin, > > > > > > Thanks for sharing this fascinating topic. I'm very much interested in autonomous agents on the read-write web. I have built a few of these in the past, and they seem to lack teeth. The phrase "where are all the agents" resonates with me, and motivates me to try and look for something more robust > > > Browsing the links you provided, lead me to this: Introduction to Multi-Agent systems > > > https://cw.fel.cvut.cz/b191/_media/courses/be4m36mas/mas2016-l01-introduction.pdf > > > Would you say this is a good start for understanding where the research on this topic is at? > > > Would love to read if you could share any links > > > > > > > > > I think the above course is already a nice introduction to autonomous agents and multi-agent systems (MAS), another course with hands-on exercises & tutorials: https://www.emse.fr/~boissier/enseignement/maop20-fall/index.html > > > > > > This course is focused on multi-agent oriented programming [1] and the JaCaMo platform, which is one of the main platforms for MAS (additional documentation and tutorials on GitHub): https://github.com/jacamo-lang/jacamo > > > > > > [1] Olivier Boissier, Rafael H. Bordini, Jomi F. Hübner, Alessandro Ricci, Andrea Santi, Multi-agent oriented programming with JaCaMo, Science of Computer Programming, Volume 78, Issue 6, 2013, Pages 747-761, ISSN 0167-6423, https://doi.org/10.1016/j.scico.2011.10.004. Link to PDF: https://www.sciencedirect.com/sdfe/reader/pii/S016764231100181X/pdf > > > > > > > > > > > > Hi Andrei! > > > > > > Thanks so much for sharing this, I've read a bit of it, and from what I can gather it's a java platform with: > > > > > > Jason -- AgentSpeak command and programming language -- Agents > > > > > > Cartago -- Like a virtual machine for funning agents -- Environment > > > > > > Moise -- OO style way of organizing agents -- Organization > > > > > > Thanks alot this is very interesting, and a whole new area for me to look at, with a bit of a learning curve. There seems lots of useful things in there that it's possible to reuse > > > > > > My interest is along the lines of multi agent systems, that scale to the web, and are programming language agnostic, but communicate with each other over, for example, http requests, and link to each other e.g. with JSON(-LD) > > > > > > I'd love your input on this. My experience of programming web based agents is that they have a maintenance overhead, such the autonomy is not really practical, I may call the ones I've made semi-autonomous. This is akin to the desktop paradigm, where you might start an app, use it for a while and then shut it down (agent lifecycle). I am quite interested in another style of app, where it runs as a daemon, e.g. in the system tray. So you run it, and it keeps going in the background. When you shut your machine down it'll stop, and reboot the machine it runs on startup, so it's kind of always there, you don thave to worry about it, like a daemon > > > > > > Multi agent systems that run more or less as daemons against the web as a (read-write) state machine have the advantage of much lower maintenance, and interesting emergent features as they become more autonomous and interact with each other. The system itself would be modular, with reusable components that could be composed together either into a composite agent, or different parts running remotely. They would also adapt to change, and be backwards compatible with the existing web (of data) > > > > > > So they may not even need a JaCaMo type environment to run in, but could reuse the organizational and agent speak features > > > > > > Would love to know your thoughts on this, if it's an area people research, or a direction researchers in the field might want to look at > > > > > > > > > > > > Also looking forward to the environments being released on 22 May. Not being an academic myself, Im hesitant to try and submit an agent to solve the maze, or turn the lights off in the building > > > > > > > > > If you are interested to hack away with some Web-enabled devices, we also have a couple of robotic arms that we are happy to share. :-) > > > > > > You can access these robots via HTTP and we have a live video feed for each: > > > https://interactions.ics.unisg.ch/61-102/cam1/live-stream > > > https://interactions.ics.unisg.ch/61-102/cam2/live-stream > > > > > > > > > > > > I'd love to find out how to control a robotic arm with a robot, yes! :) > > > > > > > > > > > > One of the robots is hooked up to a lamp that turns on when you activate the robot, so you can use it regardless of your time zone (our lab is in St.Gallen, Switzerland). > > > > > > Let me know if you are interested to use these robots and I am happy to send you additional details & documentation. > > > > > > Best wishes, > > > Andrei > > > > > > -- > > > Dr. Andrei Ciortea > > > Interaction- and Communication-based Systems > > > Institute of Computer Science > > > University of St.Gallen > > > https://interactions.ics.unisg.ch/ > > > > > > > > > > > > On 21 May 2021, at 23:56, Tobias Käfer <tobias.kaefer@kit.edu> wrote: > > > > > > Hi Melvin, > > > > > > Am 21.05.21 um 19:51 schrieb Melvin Carvalho: > > > > > > Thanks for sharing this fascinating topic. I'm very much interested in autonomous agents on the read-write web. I have built a few of these in the past, and they seem to lack teeth.. The phrase "where are all the agents" resonates with me, and motivates me to try and look for something more robust > > > Browsing the links you provided, lead me to this: Introduction to Multi-Agent systems > > > https://cw.fel.cvut.cz/b191/_media/courses/be4m36mas/mas2016-l01-introduction.pdf > > > Would you say this is a good start for understanding where the research on this topic is at? > > > Would love to read if you could share any links > > > > > > > > > That's a general introduction to MAS, and probably does not reflect so much the web part. Some would maybe think that already single agents doing useful things on the web would be a step forward. A more webby rough introduction in which I was involved could be a tutorial at the IoT conference [1]. In my echo chamber, we often use Linked Data-Fu [2] for rule-based simple reflex agents. I have CC'ed Andrei who may give you some more pointers from his perspective. > > > > > > [1] http://people.aifb.kit.edu/co1683/2020/iot-tutorial/ > > > [2] http://linked-data-fu.github.io/ > > > > > > Also looking forward to the environments being released on 22 May. Not being an academic myself, Im hesitant to try and submit an agent to solve the maze, or turn the lights off in the building > > > > > > > > > No need to be afraid. We love practical things. The environments released are the maze and the building. > > > > > > I'm also interested in any submissions to this challenge, including evolutionary agents. This little demo of fish as agents in an evolutionary environment with finite resources I really like because it has emergent properties: > > > http://caza.la/shoal/ > > > > > > > > > Cool stuff! > > > > > > Cheers, > > > > > > Tobias > > > > > > Henry Story https://co-operating.systems WhatsApp, Signal, Tel: +33 6 38 32 69 84 Twitter: @bblfish
Attachments
- text/html attachment: stored
- image/jpeg attachment: attachment.jpeg
Received on Saturday, 24 July 2021 19:44:22 UTC