Firebase-tools: рдлрд╛рдпрд░рдмреЗрд╕-рдХреНрд▓реА рдкрд░ рдХреЛрдИ рд╕реНрдерд╛рдиреАрдп рдПрдореБрд▓реЗрдЯрд░ рд╕реВрдЯ рдирд╣реАрдВ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 11 рдЬреВрди 2020  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: firebase/firebase-tools

рд╡реИрд▓рд┐рдбреЗрдЯ_рдЯреЗрдореНрдкреНрд▓реЗрдЯ=рдЯреНрд░реВ рдЯреЗрдореНрдкреНрд▓реЗрдЯ_рдкрд╛рде=.github/ISSUE_TEMPLATE/bug_report.md рдХреЛ рдбрд┐рд▓реАрдЯ рди рдХрд░реЗрдВ, рдлрд╛рдпрд░рдмреЗрд╕ рд╕рдореБрджрд╛рдп рдореЗрдВ рдпреЛрдЧрджрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! md5-4f584446c02c091fc1cc63786b0a4438 рд╣рд╛рдБ, рд╣рдо рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИрдВ! рдХреГрдкрдпрд╛ рдЗрд╕ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдФрд░ рдЗрд╢реНрдпреВ рдЦреЛрд▓рддреЗ рд╕рдордп рдПрдХ рдиреНрдпреВрдирддрдо рд░реЗрдкреНрд░реЛ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВред рдпрджрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдПрдХ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдмрдирд╛рдПрдВ, рдФрд░ рд╣рдореЗрдВ рдЗрд╕рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреА! md5-05a0c106e15ca89a73bafbf6cfe51156 рдмрдврд╝рд┐рдпрд╛, рд╣рдореЗрдВ рдпрд╣ рд╕реБрдирдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЕрдкрдиреЗ рдЙрддреНрдкрд╛рджреЛрдВ рдХреЛ рдХреИрд╕реЗ рдмреЗрд╣рддрд░ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ! рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╕реБрд╡рд┐рдзрд╛ рдЕрдиреБрд░реЛрдз рд╕рдмрдорд┐рдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВред рдХреГрдкрдпрд╛ рдЕрдкрдиреЗ рд╕реБрд╡рд┐рдзрд╛ рдЕрдиреБрд░реЛрдз рдпрд╣рд╛рдВ рд╕рдмрдорд┐рдЯ рдХрд░реЗрдВ: https://firebase.google.com/support/contact/bugs-features/ md5-8fad5406b734ff6789bcdb94f25799b4 рд╣рдореЗрдВ рдЙрдирдореЗрдВ рд╕реЗ рдмрд╣реБрдд рд╕реЗ рдорд┐рд▓рддреЗ рд╣реИрдВ рдФрд░ рд╣рдо рдЖрдкрдХреА рдорджрдж рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди GitHub рдЙрдирдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рдЬрдЧрд╣ рдирд╣реАрдВ рд╣реИ рдФрд░ рд╡реЗ рдмрдВрдж рд░рд╣реЗрдЧрд╛ред рдХреГрдкрдпрд╛ рдкрд╣рд▓реЗ рдЧрд╛рдЗрдб рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ: https://firebase.google.com/docs/cli/ рдпрджрд┐ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдорджрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╣рдорд╛рд░реЗ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕рд╣рд╛рдпрддрд╛ рдЪреИрдирд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреВрдЫрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ: https://firebase.google.com/ рд╕рдорд░реНрдерди/ рд╕рдореБрджрд╛рдп рд╕реЗ рд╕рдорд╛рдзрд╛рди рдпрд╛ рд╕рд╣рд╛рдпрддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрдерд╛рди: - рд╕реНрдЯреИрдХ рдУрд╡рд░рдлреНрд▓реЛ: https://stackoverflow.com/ - рдлрд╛рдпрд░рдмреЗрд╕ рд╕реНрд▓реИрдХ рдХрдореНрдпреБрдирд┐рдЯреА: https://firebase.community/ *рдХреГрдкрдпрд╛ рдХрдИ рдЪреИрдирд▓реЛрдВ рдкрд░ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдкреЛрд╕реНрдЯрд┐рдВрдЧ рд╕реЗ рдмрдЪреЗрдВ!*

[рдЖрд╡рд╢реНрдпрдХ] рдкрд░реНрдпрд╛рд╡рд░рдг рдХреА рдЬрд╛рдирдХрд╛рд░реА

рдЖрдк Firebase CLI (`рдлрд╝рд╛рдпрд░рдмреЗрд╕-рдЯреВрд▓реНрд╕`) рдХреЗ рдХрд┐рд╕ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдЖрдкрдХреА рд╕рдорд╕реНрдпрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдареАрдХ рд╣реЛ рд╕рдХрддреА рд╣реИред рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг https://github.com/firebase/firebase-tools/releases . рдкрд░ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ

рдлрд╛рдпрд░рдмреЗрд╕ -рдЯреВрд▓реНрд╕: 8.2.0

рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдо: рд▓рд┐рдирдХреНрд╕ рдбреЗрдмрд┐рдпрди 4.9.0-12-amd64

[рдЖрд╡рд╢реНрдпрдХ] рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрджрдо

~$ firebase init emulators -y

рдлрд┐рд░ UI рд▓рд╛рдЗрдиреЛрдВ рдХреЛ firebase.json рдореЗрдВ рд▓рд┐рдЦреЗрдВ, рдЬреЛ 4000 рдкреЛрд░реНрдЯ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реИред
рдпрд╣рд╛рдВ рдПрдХ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдорд╕реНрдпрд╛: https://github.com/firebase/firebase-tools/issues/2332

"ui": {
      "enabled": true,      // Default is `true`
      "host": "localhost",
      "port": 4000          // If unspecified, see CLI log for selected port
    },

рдлрд╛рдпрд░рдмреЗрд╕ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝: https://firebase.google.com/docs/emulator-suite/install_and_configure#configure_emulator_suite

рдЙрд╕рдХреЗ рдмрд╛рдж, рдПрдореБрд▓реЗрдЯрд░ рд╢реБрд░реВ рдХрд░реЗрдВред

~$ firebase emulators:start

[рдЖрд╡рд╢реНрдпрдХ] рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░

рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХреНрдпрд╛ рд╣реИ?

рдпреВрдЖрдИ рдореЛрдб рдореЗрдВ рдПрдореБрд▓реЗрдЯрд░ рд╕реВрдЯ рджрд┐рдЦрд╛рдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реИред

image

[рдЖрд╡рд╢реНрдпрдХ] рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡реНрдпрд╡рд╣рд╛рд░

рдХрдВрд╕реЛрд▓ рдкрд░ рдХреЛрдИ Emulators Suite UI рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рд╣рдм рд╣реИ:

image

image

рдлрд╛рдпрд░рдмреЗрд╕-рдХреНрд▓реА рд▓реЙрдЧ --рдбреАрдмрдЧ рдлреНрд▓реИрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ

--debug рдзреНрд╡рдЬ рдХреЗ рд╕рд╛рде рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ, рдФрд░ рдиреАрдЪреЗ рд▓реЙрдЧ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВред
$ ./node_modules/.bin/firebase emulators:start --debug
[2020-06-11T17:23:00.445Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
[2020-06-11T17:23:00.446Z] > authorizing via signed-in user
i  emulators: Starting emulators: functions, firestore, hosting
[2020-06-11T17:23:00.497Z] [hub] writing locator at /tmp/hub-medina-app-staging-67303.json
тЬФ  hub: emulator hub started at http://localhost:4400
тЬФ  functions: Using node<strong i="23">@10</strong> from host.
тЬФ  functions: functions emulator started at http://localhost:5001
[2020-06-11T17:23:00.917Z] Ignoring unsupported arg: projectId
[2020-06-11T17:23:00.918Z] Ignoring unsupported arg: auto_download
[2020-06-11T17:23:00.918Z] Starting firestore emulator with command {"binary":"java","args":["-Duser.language=en","-jar","/home/paneladm/.cache/firebase/emulators/cloud-firestore-emulator-v1.11.3.jar","--host","localhost","--port",8080,"--rules","/home/paneladm/projects/paneladm-dev/medina-app/firestore.rules","--functions_emulator","localhost:5001"],"optionalArgs":["port","webchannel_port","host","rules","functions_emulator","seed_from_export"],"joinArgs":false}
i  firestore: firestore emulator logging to firestore-debug.log

i  firestore: firestore emulator logging to firestore-debug.log
[2020-06-11T17:23:02.124Z] API endpoint: http://localhost
[2020-06-11T17:23:02.125Z] :8080
If you are using a library that supports the FIRESTORE_EMULATOR_HOST environment variable, run:

   export FIRESTORE_EMULATOR_HOST=localhost:8080

Dev App Server is now running.


тЬФ  firestore: firestore emulator started at http://localhost:8080
i  firestore: For testing set FIRESTORE_EMULATOR_HOST=localhost:8080
[2020-06-11T17:23:02.194Z] >>> HTTP REQUEST GET https://firebase.googleapis.com/v1beta1/projects/medina-app-staging-67303/webApps/-/config  

[2020-06-11T17:23:03.196Z] <<< HTTP RESPONSE 200 {"content-type":"application/json; charset=UTF-8","vary":"X-Origin, Referer, Origin,Accept-Encoding","date":"Thu, 11 Jun 2020 17:23:02 GMT","server":"ESF","cache-control":"private","x-xss-protection":"0","x-frame-options":"SAMEORIGIN","x-content-type-options":"nosniff","alt-svc":"h3-27=\":443\"; ma=2592000,h3-25=\":443\"; ma=2592000,h3-T050=\":443\"; ma=2592000,h3-Q050=\":443\"; ma=2592000,h3-Q049=\":443\"; ma=2592000,h3-Q048=\":443\"; ma=2592000,h3-Q046=\":443\"; ma=2592000,h3-Q043=\":443\"; ma=2592000,quic=\":443\"; ma=2592000; v=\"46,43\"","accept-ranges":"none","transfer-encoding":"chunked"}
i  hosting[default]: Serving hosting files from: dist/public
тЬФ  hosting[default]: Local server: http://localhost:5000
i  hosting[staging]: Serving hosting files from: dist/public
тЬФ  hosting[staging]: Local server: http://localhost:5005
тЬФ  hosting: hosting emulator started at http://localhost:5000
i  functions: Watching "/home/paneladm/projects/paneladm-dev/medina-app/dist/functions" for Cloud Functions...
[2020-06-11T17:23:03.278Z] [worker-pool] addWorker(~diagnostic~) 
[2020-06-11T17:23:03.279Z] [worker-pool] Adding worker with key ~diagnostic~, total=1 
[2020-06-11T17:23:03.279Z] [worker-pool] submitWork(triggerId=) 
[2020-06-11T17:23:03.280Z] [worker-~diagnostic~-097da58f-0d5d-4c2e-bbce-a4099abeb9db]: Assigning socketPath: /tmp/fire_emu_8048.sock 
[2020-06-11T17:23:03.280Z] [worker-~diagnostic~-097da58f-0d5d-4c2e-bbce-a4099abeb9db]: BUSY 
[2020-06-11T17:23:03.674Z] [runtime-status] [8048] Functions runtime initialized. {"cwd":"/home/paneladm/projects/paneladm-dev/medina-app/dist/functions","node_version":"10.20.1"} 
[2020-06-11T17:23:03.675Z] [runtime-status] [8048] Disabled runtime features: undefined 
[2020-06-11T17:23:03.678Z] [runtime-status] [8048] Resolved module firebase-admin {"declared":true,"installed":true,"version":"8.11.0","resolution":"/home/paneladm/projects/paneladm-dev/medina-app/dist/functions/node_modules/firebase-admin/lib/index.js"} 
[2020-06-11T17:23:03.679Z] [runtime-status] [8048] Resolved module firebase-functions {"declared":true,"installed":true,"version":"3.6.1","resolution":"/home/paneladm/projects/paneladm-dev/medina-app/dist/functions/node_modules/firebase-functions/lib/index.js"} 
[2020-06-11T17:23:03.683Z] [runtime-status] [8048] Outgoing network have been stubbed. [{"name":"http","status":"mocked"},{"name":"http","status":"mocked"},{"name":"https","status":"mocked"},{"name":"https","status":"mocked"},{"name":"net","status":"mocked"}] 
[2020-06-11T17:23:03.723Z] [runtime-status] [8048] Checked functions.config() {"config":{}} 
[2020-06-11T17:23:03.724Z] [runtime-status] [8048] Resolved module firebase-functions {"declared":true,"installed":true,"version":"3.6.1","resolution":"/home/paneladm/projects/paneladm-dev/medina-app/dist/functions/node_modules/firebase-functions/lib/index.js"} 
[2020-06-11T17:23:03.725Z] [runtime-status] [8048] Resolved module firebase-admin {"declared":true,"installed":true,"version":"8.11.0","resolution":"/home/paneladm/projects/paneladm-dev/medina-app/dist/functions/node_modules/firebase-admin/lib/index.js"} 
[2020-06-11T17:23:03.726Z] [runtime-status] [8048] Resolved module firebase-functions {"declared":true,"installed":true,"version":"3.6.1","resolution":"/home/paneladm/projects/paneladm-dev/medina-app/dist/functions/node_modules/firebase-functions/lib/index.js"} 
[2020-06-11T17:23:03.726Z] [runtime-status] [8048] firebase-admin has been stubbed. {"adminResolution":{"declared":true,"installed":true,"version":"8.11.0","resolution":"/home/paneladm/projects/paneladm-dev/medina-app/dist/functions/node_modules/firebase-admin/lib/index.js"}} 
[2020-06-11T17:23:03.820Z] [runtime-status] [8048] initializeApp(DEFAULT) {"databaseURL":"https://medina-app-staging-67303.firebaseio.com","storageBucket":"medina-app-staging-67303.appspot.com","projectId":"medina-app-staging-67303"} 
[2020-06-11T17:23:03.830Z] addFirestoreTrigger "{\"eventTrigger\":{\"resource\":\"projects/medina-app-staging-67303/databases/(default)/documents/messages/{documentId}\",\"eventType\":\"providers/cloud.firestore/eventTypes/document.create\",\"service\":\"firestore.googleapis.com\"}}"
[2020-06-11T17:23:03.831Z] >>> HTTP REQUEST PUT http://localhost:8080/emulator/v1/projects/medina-app-staging-67303/triggers/makeUppercase  
 {"eventTrigger":{"resource":"projects/medina-app-staging-67303/databases/(default)/documents/messages/{documentId}","eventType":"providers/cloud.firestore/eventTypes/document.create","service":"firestore.googleapis.com"}}
[2020-06-11T17:23:03.832Z] [worker-~diagnostic~-097da58f-0d5d-4c2e-bbce-a4099abeb9db]: IDLE 
[2020-06-11T17:23:03.882Z] Jun 11, 2020 2:23:03 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
INFO: Detected non-HTTP/2 connection.

[2020-06-11T17:23:04.077Z] Jun 11, 2020 2:23:04 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
INFO: Detected HTTP/2 connection.

[2020-06-11T17:23:04.918Z] <<< HTTP RESPONSE 200 {"content-type":"application/json","content-length":"4"}
[2020-06-11T17:23:04.919Z] addFirestoreTrigger "{\"eventTrigger\":{\"resource\":\"projects/medina-app-staging-67303/databases/(default)/documents/customers/{customerId}\",\"eventType\":\"providers/cloud.firestore/eventTypes/document.create\",\"service\":\"firestore.googleapis.com\"}}"
[2020-06-11T17:23:04.919Z] >>> HTTP REQUEST PUT http://localhost:8080/emulator/v1/projects/medina-app-staging-67303/triggers/onCustomerCreated  
 {"eventTrigger":{"resource":"projects/medina-app-staging-67303/databases/(default)/documents/customers/{customerId}","eventType":"providers/cloud.firestore/eventTypes/document.create","service":"firestore.googleapis.com"}}
[2020-06-11T17:23:04.931Z] Jun 11, 2020 2:23:04 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
INFO: Detected non-HTTP/2 connection.

[2020-06-11T17:23:04.958Z] <<< HTTP RESPONSE 200 {"content-type":"application/json","content-length":"4"}
тЬФ  functions[nextApp]: http function initialized (http://localhost:5001/medina-app-staging-67303/us-central1/nextApp).
тЬФ  functions[addMessage]: http function initialized (http://localhost:5001/medina-app-staging-67303/us-central1/addMessage).
тЬФ  functions[makeUppercase]: firestore function initialized.
тЬФ  functions[onCustomerCreated]: firestore function initialized.
тЬФ  functions[getSearchKey]: http function initialized (http://localhost:5001/medina-app-staging-67303/us-central1/getSearchKey).
тЬФ  emulators: All emulators started, it is now safe to connect.

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

@ francisrod01 рд╣рд╛рдБ рдПрдореНрдпреВрд▓реЗрдЯрд░ рд╕реВрдЯ 8.4 рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛!

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдкрд╛рд▓рди рдирд╣реАрдВ рдХрд░ рд░рд╣реА рд╣реИред рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдк рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред

рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рд▓рд┐рдП рдЧреБрдЧрд▓ рдХрд░рдиреЗ рдкрд░ рдореБрдЭреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдорд┐рд▓рд╛ред https://github.com/firebase/firebase-tools/issues/2272#issuecomment -636464586

рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЕрдЧрд░ рдореИрдВ firebase-tools рдКрдкрд░ 8.4.* рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реВрдВред

image

рдбреЙрдХреНрд╕ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ

рдХреНрдпрд╛ рдХреЛрдИ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдПрдореНрдпреВрд▓реЗрдЯрд░ рдХреЗ рдЕрдиреБрднрд╛рдЧ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИ?

@ francisrod01 рд╣рд╛рдБ рдПрдореНрдпреВрд▓реЗрдЯрд░ рд╕реВрдЯ 8.4 рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛!

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

ahmadalibaloch picture ahmadalibaloch  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

hmazter picture hmazter  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

adam-remotesocial picture adam-remotesocial  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

kyleabens picture kyleabens  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jkeys089 picture jkeys089  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ